Quellcode durchsuchen

CRM系统升级优化

kaick vor 1 Jahr
Ursprung
Commit
725a3094df

+ 9 - 0
src/main/java/com/caimei/modules/project/model/ServiceProviderModel.java

@@ -10,9 +10,18 @@ public class ServiceProviderModel extends DataEntity<ServiceProviderModel> {
     private Integer serviceProviderID;
     private String name;
     private Integer userID;
+    private String contractMobile;
     private Integer mainServiceProviderID;
     private Integer teamFlag;  //协销小组编辑页面回显标记,后台取数据的时候给1
 
+    public String getContractMobile() {
+        return contractMobile;
+    }
+
+    public void setContractMobile(String contractMobile) {
+        this.contractMobile = contractMobile;
+    }
+
     public Integer getServiceProviderID() {
         return serviceProviderID;
     }

+ 13 - 1
src/main/java/com/caimei/modules/user/web/newUser/SpController.java

@@ -9,6 +9,7 @@ import com.caimei.modules.project.dao.ClubDao;
 import com.caimei.modules.project.dao.ServiceProviderDao;
 import com.caimei.modules.project.model.ClubModel;
 import com.caimei.modules.project.model.ServiceProviderModel;
+import com.caimei.modules.sys.utils.SMSUtils;
 import com.caimei.modules.sys.utils.ValidateUtils;
 import com.caimei.modules.user.aop.OperationLogAnnotation;
 import com.caimei.modules.user.dao.NewCmClubDao;
@@ -136,6 +137,7 @@ public class SpController extends BaseController {
                     }
                     // 查询serviceprovider协销表
                     List<ServiceProviderModel> serviceprovider = serviceProviderDao.getServiceproviderById(cssp.getNewSpID());
+
                     // 查询cm_bind表
                     if (CollectionUtils.isNotEmpty(serviceprovider)) {
                         ServiceProviderModel serviceProvider = serviceprovider.get(0);
@@ -180,6 +182,14 @@ public class SpController extends BaseController {
                         if (null != serviceProvider.getServiceProviderID()) {
                             sysLogService.insetProvider(serviceProvider.getServiceProviderID(), clubId, username);
                         }
+                        //短信
+                        if (StringUtils.isNotEmpty(serviceProvider.getContractMobile())) {
+                            NewCmClub newCmClub = newCmClubService.get(clubId.toString());
+                            ServiceProviderModel oldServiceprovider = serviceProviderDao.getServiceproviderById(cssp.getOldSpID()).get(0);
+                            SMSUtils.sendSms(4, serviceProvider.getContractMobile(), "【采美365】系统已为你分配机构客户,请及时跟进。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,上一任销售【" + oldServiceprovider.getName() + "】。微信小程序https://....com,退订回T。");
+                            SMSUtils.sendSms(4, newCmClub.getContractMobile(), "【采美365】因公司内部人员调整需要,采美平台已为您更换客户经理。客户经理【" + serviceProvider.getName() + "】,手机号【" + serviceProvider.getContractMobile() + "】。微信小程序https://....com,退订回T。");
+                            SMSUtils.sendSms(4, oldServiceprovider.getContractMobile(), "【采美365】系统已将你的机构客户转移给其他销售人员,你已无权管理该客户。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,下一任销售【" + serviceProvider.getName() + "】。微信小程序https://....com,退订回T。");
+                        }
                     } else {
                         map.put("success", false);
                         map.put("msg", "操作失败");
@@ -266,7 +276,8 @@ public class SpController extends BaseController {
         Map<String, Object> spUserLoginSum = cmSpService.findSpUserLoginSum(null);
         Integer loginSum = Integer.valueOf(spUserLoginSum.get("loginSum").toString());
         Integer not_loginSum = Integer.valueOf(spUserLoginSum.get("not_loginSum").toString());
-        BigDecimal livelyClubProportion = new BigDecimal(loginSum / (loginSum + not_loginSum) * 100).setScale(2, RoundingMode.UP);
+        //        机构活跃与不活跃占比计算方法,例如:机构活跃数/机构活跃数+机构不活跃数(60/(60+30)=0.666...),保留小数点后2位,四舍五入,0.67;
+        BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ? loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
         model.addAttribute("livelyClub", loginSum);
         model.addAttribute("nolivelyClub", not_loginSum);
         model.addAttribute("livelyClubProportion", livelyClubProportion);
@@ -298,6 +309,7 @@ public class SpController extends BaseController {
         Map<String, Object> spUserLoginSum = cmSpService.findSpUserLoginSum(newCmClub.getSpID().toString());
         Integer loginSum = Integer.valueOf(spUserLoginSum.get("loginSum").toString());
         Integer not_loginSum = Integer.valueOf(spUserLoginSum.get("not_loginSum").toString());
+        //        机构活跃与不活跃占比计算方法,例如:机构活跃数/机构活跃数+机构不活跃数(60/(60+30)=0.666...),保留小数点后2位,四舍五入,0.67;
         BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ? loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
         model.addAttribute("livelyClub", loginSum);
         model.addAttribute("nolivelyClub", not_loginSum);

+ 6 - 2
src/main/resources/mappings/modules/user/NewCmClubMapper.xml

@@ -218,7 +218,7 @@
         SELECT
         <include refid="newCmClubColumns"/>
         ,case sp.status when 91 then '采美默认协销经理(官方账号)' else sp.linkMan end AS "spName"
-        ,u.userPermission,u.source,u.loginTime,MAX(cpr.createTime) AS providerTime,
+        ,u.userPermission,u.source,u.loginTime,cpr.createTime AS providerTime,
         u.account AS  "account",
         u.registerTime AS "registerTime",
         u.registerIP AS "registerIP",
@@ -278,7 +278,11 @@
                 AND (u.loginTime &lt; #{endLoginTime} OR u.loginTime = #{endLoginTime})
             </if>
             <if test="providerTime != null and providerTime != ''">
-                AND DATE(cpr.createTime) = DATE(#{providerTime})
+                AND cpr.id in (
+                (SELECT  max(cp.id)
+                from cm_provider_record cp
+                WHERE DATE(cp.createTime) = DATE(#{providerTime})
+                group by cp.clubId))
             </if>
             <if test="userIdentity != null and userIdentity != '' and userIdentity != '8'.toString()">
                 AND u.userIdentity = #{userIdentity}