فهرست منبع

用户价值体系

huangzhiguo 2 سال پیش
والد
کامیت
c2865bb672

+ 2 - 0
src/main/java/com/caimei/modules/user/dao/NewCmClubDao.java

@@ -20,6 +20,8 @@ public interface NewCmClubDao extends CrudDao<NewCmClub> {
 
     List<NewCmClub> findClubById(Integer clubID);
 
+    List<NewCmClub> textUserValue();
+
     NewCmClub getclubByUserId(Integer userId);
 
     Integer findSpId(Integer spID);

+ 27 - 0
src/main/java/com/caimei/modules/user/entity/NewCmClub.java

@@ -69,6 +69,9 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     private String medicalPracticeLicenseImg; // 医美分类必须上传医疗执业许可证
     private String socialCreditCode;//统一社会编码
 
+    private Integer valueID;     // 测试ID
+    private String activeState;     // 活跃状态
+    private String customerValue;   // 客户价值
     /**
      * 非持久化字段
      */
@@ -891,6 +894,30 @@ public class NewCmClub extends DataEntity<NewCmClub> {
         this.socialCreditCode = socialCreditCode;
     }
 
+    public Integer getValueID() {
+        return valueID;
+    }
+
+    public void setValueID(Integer valueID) {
+        this.valueID = valueID;
+    }
+
+    public String getActiveState() {
+        return activeState;
+    }
+
+    public void setActiveState(String activeState) {
+        this.activeState = activeState;
+    }
+
+    public String getCustomerValue() {
+        return customerValue;
+    }
+
+    public void setCustomerValue(String customerValue) {
+        this.customerValue = customerValue;
+    }
+
     public Integer getUserOrganizeID() {
         return userOrganizeID;
     }

+ 10 - 0
src/main/java/com/caimei/modules/user/web/newUser/AgencyController.java

@@ -165,6 +165,16 @@ private VisitRemarkDao visitRemarkDao;
         }
 
         Page<NewCmClub> page = newCmClubService.findPage(new Page<NewCmClub>(request, response, 20), newCmClub);
+        List<NewCmClub> list = page.getList();
+        List<NewCmClub> newCmClubs = newCmClubDao.textUserValue();
+        for(NewCmClub cmClub: list) {
+            for(NewCmClub club: newCmClubs) {
+                if(cmClub.getUserID().equals(club.getValueID())) {
+                    cmClub.setActiveState(club.getActiveState());
+                    cmClub.setCustomerValue(club.getCustomerValue());
+                }
+            }
+        }
         model.addAttribute("newCmClub", newCmClub);
         model.addAttribute("page", page);
         return "modules/userNew/cmAgencyList";

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

@@ -88,14 +88,19 @@
         WHERE a.userID = #{userID}
     </select>
 
+    <select id="textUserValue" resultType="NewCmClub">
+        SELECT userID as valueID, activeState, customerValue FROM cm_organ_value_system WHERE stage = 0 AND delType = 1
+    </select>
 
     <select id="findList" resultType="NewCmClub">
         SELECT
         <include refid="newCmClubColumns"/>
-        <include refid="otherColumns"/>,u.userPermission,u.source
+        <include refid="otherColumns"/>,u.userPermission,u.source -- ,covs.activeState,covs.customerValue
         FROM club a
         <include refid="newCmClubJoins"/>
+        -- left join cm_organ_value_system covs on a.userID = covs.userID
         <where>
+            -- covs.stage = 0 AND covs.delType = 1
             <if test="clubID != null and clubID != ''">
                 AND a.clubID = #{clubID}
             </if>
@@ -147,7 +152,13 @@
             <if test="newDeal != null">
                 AND a.newDeal =#{newDeal}
             </if>
-            AND (u.userOrganizeID IN(0,1) or u.clubStatus != 92)
+<!--            <if test="activeState != null and activeState != ''">-->
+<!--                AND covs.activeState = #{activeState}-->
+<!--            </if>-->
+<!--            <if test="customerValue != null and customerValue != ''">-->
+<!--                AND covs.customerValue = #{customerValue}-->
+<!--            </if>-->
+             (u.userOrganizeID IN(0,1) or u.clubStatus != 92)
         </where>
         <choose>
             <when test="page !=null and page.orderBy != null and page.orderBy != ''">

+ 47 - 1
src/main/webapp/WEB-INF/views/modules/userNew/cmAgencyList.jsp

@@ -91,6 +91,29 @@
                 <form:option value="8" label="超级会员"/>
             </form:select>
         </div>
+        <label class="control-label">活跃状态:</label>
+        <form:select path="activeState" class="input-medium">
+            <form:option value="" label="请选择"/>
+            <form:option value="新增用户" label="新增用户"/>
+            <form:option value="活跃用户" label="活跃用户"/>
+            <form:option value="不活跃用户" label="不活跃用户"/>
+            <form:option value="流失用户" label="流失用户"/>
+            <form:option value="回流用户" label="回流用户"/>
+            <form:option value="忠诚用户" label="忠诚用户"/>
+        </form:select>
+
+        <label class="control-label">客户价值:</label>
+        <form:select path="customerValue" class="input-medium">
+            <form:option value="" label="请选择"/>
+            <form:option value="一般保持客户" label="一般保持客户"/>
+            <form:option value="一般发展客户" label="一般发展客户"/>
+            <form:option value="一般价值客户" label="一般价值客户"/>
+            <form:option value="一般挽留客户" label="一般挽留客户"/>
+            <form:option value="重要保持客户" label="重要保持客户"/>
+            <form:option value="重要发展客户" label="重要发展客户"/>
+            <form:option value="重要价值客户" label="重要价值客户"/>
+            <form:option value="重要挽留客户" label="重要挽留客户"/>
+        </form:select>
         <div class="item">
             <label>注册时间:</label>
             <form:input path="searchStartTime" type="text" maxlength="20" class="input-mini Wdate" value="${startTime}"
@@ -125,6 +148,8 @@
         <th>状态</th>
         <th>审核人</th>
         <th>机构类别</th>
+        <th>活跃状态<button type="button" class="tipButton" style="color: lightslategray;border-radius: 25px" onmousemove="activeStageMessage()">?</button></th>
+        <th>客户价值<button type="button" class="tipButton" style="color: lightslategray;border-radius: 25px" onmousemove="customerValueMessage()">?</button></th>
         <th>注册IP</th>
         <th>注册时间</th>
         <th>审核时间</th>
@@ -220,6 +245,9 @@
                     <font color="red">(普通会员)</font>
                 </c:if>
             </td>
+            <td>${newCmClubList.activeState}</td>
+            <td>${newCmClubList.customerValue}</td>
+
             <td>
                 <c:if test="${newCmClubList.registerIP eq '192.168.1.10'}">
                     协销代注册
@@ -814,7 +842,25 @@
         };
         $.jBox(html, {title: "审核", submit: submit});
     }
-
+    function activeStageMessage() {
+        alertx('1.新增用户:30天内新注册的用户'+'<br/>'+
+        '2.活跃用户:30天内登录过商城的用户(排除新增用户和回流客户)'+'<br/>'+
+        '3.不活跃用户:30天内未登录过商城的用户(排除流失用户)'+'<br/>'+
+        '4.流失用户:两年内未登录且没有订单的机构'+'<br/>'+
+        '5.回流用户:上一统计阶段的流失用户中后续登录商城的用户或者后续有订单的用户'+'<br/>'+
+        '6.忠诚用户:90天内登录过商城且一年内有订单记录的用户'+'<br/>'+
+        '7.沉默用户:未登录过商城,但是在30天内存在订单的用户(排除回流客户')
+    }
+    function customerValueMessage() {
+        alertx('1. 一般保持客户,指最近一次交易距今时间大于60天,交易频率大于等于一月一次,上个月交易金额小于¥100000的客户'+'<br/>'+
+        '2. 一般发展客户,指最近一次交易距今时间小于等于60天,交易频率小于一月一次,上个月交易金额小于¥100000的客户'+'<br/>'+
+        '3. 一般价值客户,指最近一次交易距今时间小于等于60天,交易频率大于等于一月一次,上个月交易金额小于¥100000的客户'+'<br/>'+
+        '4. 一般挽留客户,指最近一次交易距今时间大于60天,交易频率小于一月一次,上个月交易金额小于¥100000的客户'+'<br/>'+
+        '5.重要保持客户,指最近一次交易距今时间大于60天,交易频率大于等于一月一次,上个月交易金额大于等于¥100000的客户'+'<br/>'+
+        '6.重要发展客户,指最近一次交易距今时间小于等于60天,交易频率小于一月一次,上个月交易金额大于等于¥100000的客户'+'<br/>'+
+        '7.重要价值客户,指最近一次交易距今时间小于等于60天,交易频率大于等于一月一次,上个月交易金额大于等于¥100000的客户'+'<br/>'+
+        '8.重要挽留客户,指最近一次交易距今时间大于60天,交易频率小于一月一次,上个月交易金额大于等于¥100000的客户')
+    }
 </script>
 </body>
 </html>