Преглед на файлове

Merge remote-tracking branch 'origin/developer' into developer

huangzhiguo преди 1 година
родител
ревизия
fc9988947c
променени са 50 файла, в които са добавени 1772 реда и са изтрити 2331 реда
  1. 26 25
      src/main/java/com/caimei/modules/baike/service/CmBaikeProductService.java
  2. 0 1
      src/main/java/com/caimei/modules/hehe/service/CmHeheUserService.java
  3. 2 24
      src/main/java/com/caimei/modules/info/service/InfoService.java
  4. 1 1
      src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java
  5. 0 30
      src/main/java/com/caimei/modules/order/service/NewOrderService.java
  6. 9 0
      src/main/java/com/caimei/modules/project/model/ServiceProviderModel.java
  7. 1 0
      src/main/java/com/caimei/modules/sys/utils/SMSUtils.java
  8. 3 0
      src/main/java/com/caimei/modules/user/dao/CmSpDao.java
  9. 0 8
      src/main/java/com/caimei/modules/user/dao/CmUserDao.java
  10. 3 3
      src/main/java/com/caimei/modules/user/dao/NewCmClubDao.java
  11. 19 410
      src/main/java/com/caimei/modules/user/entity/CmUser.java
  12. 40 391
      src/main/java/com/caimei/modules/user/entity/NewCmClub.java
  13. 39 1
      src/main/java/com/caimei/modules/user/entity/NewCmSp.java
  14. 0 10
      src/main/java/com/caimei/modules/user/service/ClubTemporaryService.java
  15. 4 0
      src/main/java/com/caimei/modules/user/service/CmSpService.java
  16. 0 26
      src/main/java/com/caimei/modules/user/service/CmUserService.java
  17. 6 0
      src/main/java/com/caimei/modules/user/service/NewCmClubService.java
  18. 2 2
      src/main/java/com/caimei/modules/user/utils/UserUtils.java
  19. 2 5
      src/main/java/com/caimei/modules/user/web/CmSpController.java
  20. 0 8
      src/main/java/com/caimei/modules/user/web/CmUserOrganizeController.java
  21. 4 282
      src/main/java/com/caimei/modules/user/web/NewCmClubController.java
  22. 15 109
      src/main/java/com/caimei/modules/user/web/NewCmShopController.java
  23. 31 40
      src/main/java/com/caimei/modules/user/web/newUser/AgencyController.java
  24. 163 14
      src/main/java/com/caimei/modules/user/web/newUser/SpController.java
  25. 78 0
      src/main/java/com/caimei/modules/utils/MessageUtil.java
  26. 58 0
      src/main/java/com/caimei/modules/utils/RequestUtil.java
  27. 64 1
      src/main/java/com/caimei/modules/utils/message/InsideMessage.java
  28. 1 1
      src/main/java/com/caimei/modules/weisha/dao/CmMallOrganizeDao.java
  29. 2 2
      src/main/java/com/caimei/modules/weisha/service/CmMallOrganizeService.java
  30. 0 21
      src/main/java/com/caimei/modules/weisha/web/CmOrganizeClubController.java
  31. 2 1
      src/main/resources/config/dev/caimei.properties
  32. 0 1
      src/main/resources/mappings/modules/order/ShopOrderMapper.xml
  33. 49 2
      src/main/resources/mappings/modules/user/CmSpMapper.xml
  34. 329 406
      src/main/resources/mappings/modules/user/CmUserMapper.xml
  35. 146 7
      src/main/resources/mappings/modules/user/NewCmClubMapper.xml
  36. 0 1
      src/main/resources/mappings/modules/weisha/CmMallOrganizeMapper.xml
  37. 0 492
      src/main/webapp/WEB-INF/views/modules/miniprogram/cmMiniProgramUserForm.jsp
  38. 3 1
      src/main/webapp/WEB-INF/views/modules/serviceteam/cmServiceteamRoleForm.jsp
  39. 4 2
      src/main/webapp/WEB-INF/views/modules/serviceteam/cmServiceteamRoleList.jsp
  40. 1 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmAgencyList.jsp
  41. 1 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmAgencyStatisticsList.jsp
  42. 267 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpClubTrackList.jsp
  43. 2 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpForm.jsp
  44. 2 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpList.jsp
  45. 246 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpLivelyClubFrom.jsp
  46. 139 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpLivelyClubList.jsp
  47. 3 1
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpTeamList.jsp
  48. BIN
      src/main/webapp/static/images/left.png
  49. BIN
      src/main/webapp/static/images/right.png
  50. 5 2
      src/test/java/com/caimei/info/InfoTest.java

+ 26 - 25
src/main/java/com/caimei/modules/baike/service/CmBaikeProductService.java

@@ -12,6 +12,7 @@ import com.caimei.modules.basesetting.dao.KeywordDao;
 import com.caimei.modules.hehe.util.UploadPicUtils;
 import com.caimei.modules.hehe.util.UploadPicUtils;
 import com.caimei.modules.info.entity.Info;
 import com.caimei.modules.info.entity.Info;
 import com.caimei.modules.order.utils.OSSUtils;
 import com.caimei.modules.order.utils.OSSUtils;
+import com.caimei.modules.utils.MessageUtil;
 import com.caimei.modules.utils.RequestUtil;
 import com.caimei.modules.utils.RequestUtil;
 import com.caimei.modules.utils.message.InsideMessage;
 import com.caimei.modules.utils.message.InsideMessage;
 import com.caimei.modules.utils.message.MessageModel;
 import com.caimei.modules.utils.message.MessageModel;
@@ -178,7 +179,7 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
                                 .reasonContent(cmBaikeProduct.getFailReason()));
                                 .reasonContent(cmBaikeProduct.getFailReason()));
 
 
             }
             }
-            sendExamine(insideMessageMessageModel);
+            MessageUtil.sendMessage(insideMessageMessageModel);
         }
         }
         // 标签
         // 标签
         String[] labelIds = StringUtils.split(cmBaikeProduct.getLabelIds(), ",");
         String[] labelIds = StringUtils.split(cmBaikeProduct.getLabelIds(), ",");
@@ -280,29 +281,29 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
 //		});
 //		});
     }
     }
 
 
-    private void sendExamine(MessageModel<InsideMessage> model) {
-        StringBuilder map = new StringBuilder("{ \"code\": \"WEB_INSIDE_MESSAGE\"," +
-                "\"mqInfo\": {\"topic\": \"MessageLine\",\"delay\": 3,\"async\":0}," +
-                "\"info\": ");
-        map.append("{ \"content\": \"" + model.info().content() + "\"" +
-                ",\"shopMessType\":" + model.info().shopMessType() +
-                ",\"userType\":" + model.info().userType() +
-                ",\"messageType\":" + model.info().messageType());
-        map.append(",\"shopId\": " + model.info().shopId());
-        if (6 != model.info().shopMessType()) {
-            map.append(",\"reasonContent\":\"" + model.info().reasonContent() + "\"");
-        }
-        map.append("}}");
-        try {
-            String post = RequestUtil.httpPost(Global.getConfig("caimei.core") + "/tools/message/send", String.valueOf(map));
-            if (null==post){
-                throw new Exception();
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            logger.error("审批消息推送失败>>>"+e);
-        }
-    }
+//    private void sendExamine(MessageModel<InsideMessage> model) {
+//        StringBuilder map = new StringBuilder("{ \"code\": \"WEB_INSIDE_MESSAGE\"," +
+//                "\"mqInfo\": {\"topic\": \"MessageLine\",\"delay\": 3,\"async\":0}," +
+//                "\"info\": ");
+//        map.append("{ \"content\": \"" + model.info().content() + "\"" +
+//                ",\"shopMessType\":" + model.info().shopMessType() +
+//                ",\"userType\":" + model.info().userType() +
+//                ",\"messageType\":" + model.info().messageType());
+//        map.append(",\"shopId\": " + model.info().shopId());
+//        if (6 != model.info().shopMessType()) {
+//            map.append(",\"reasonContent\":\"" + model.info().reasonContent() + "\"");
+//        }
+//        map.append("}}");
+//        try {
+//            String post = RequestUtil.httpPost(Global.getConfig("caimei.core") + "/tools/message/send", String.valueOf(map));
+//            if (null==post){
+//                throw new Exception();
+//            }
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//            logger.error("审批消息推送失败>>>"+e);
+//        }
+//    }
 
 
     private void saveTime(CmBaikeProduct cmBaikeProduct) {
     private void saveTime(CmBaikeProduct cmBaikeProduct) {
         Integer marketYear = cmBaikeProduct.getMarketYear();
         Integer marketYear = cmBaikeProduct.getMarketYear();
@@ -530,4 +531,4 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
             }
             }
         }
         }
     }
     }
-}
+}

+ 0 - 1
src/main/java/com/caimei/modules/hehe/service/CmHeheUserService.java

@@ -63,7 +63,6 @@ public class CmHeheUserService extends CrudService<CmHeheUserDao, CmHeheUser> {
             String currentTime = simpleDateFormat.format(new Date());
             String currentTime = simpleDateFormat.format(new Date());
             user.setPassword("HeHe");
             user.setPassword("HeHe");
             //6:呵呵商城用户
             //6:呵呵商城用户
-            user.setUserPermission(6);
             user.setUserIdentity(6);
             user.setUserIdentity(6);
             user.setRegisterUserTypeID("6");
             user.setRegisterUserTypeID("6");
             user.setRegisterTime(currentTime);
             user.setRegisterTime(currentTime);

+ 2 - 24
src/main/java/com/caimei/modules/info/service/InfoService.java

@@ -9,6 +9,7 @@ import com.caimei.modules.basesetting.dao.KeywordDao;
 import com.caimei.modules.hehe.entity.cmHeHeUserActivity;
 import com.caimei.modules.hehe.entity.cmHeHeUserActivity;
 import com.caimei.modules.live.entity.NewPageLive;
 import com.caimei.modules.live.entity.NewPageLive;
 import com.caimei.modules.sys.utils.UploadImageUtils;
 import com.caimei.modules.sys.utils.UploadImageUtils;
+import com.caimei.modules.utils.MessageUtil;
 import com.caimei.modules.utils.RequestUtil;
 import com.caimei.modules.utils.RequestUtil;
 import com.caimei.modules.utils.message.InsideMessage;
 import com.caimei.modules.utils.message.InsideMessage;
 import com.caimei.modules.utils.message.MessageModel;
 import com.caimei.modules.utils.message.MessageModel;
@@ -246,7 +247,7 @@ public class InfoService extends CrudService<InfoDao, Info> {
                                 .reasonContent(info.getFailReason()));
                                 .reasonContent(info.getFailReason()));
 
 
             }
             }
-            sendExamine(insideMessageMessageModel);
+            MessageUtil.sendMessage(insideMessageMessageModel);
         }
         }
         super.save(info);
         super.save(info);
 
 
@@ -261,29 +262,6 @@ public class InfoService extends CrudService<InfoDao, Info> {
         infoDao.insertInfoPage(info.getId(), sp);
         infoDao.insertInfoPage(info.getId(), sp);
     }
     }
 
 
-    private void sendExamine(MessageModel<InsideMessage> model) {
-        StringBuilder map = new StringBuilder("{ \"code\": \"WEB_INSIDE_MESSAGE\"," +
-                "\"mqInfo\": {\"topic\": \"MessageLine\",\"delay\": 3,\"async\":0}," +
-                "\"info\": ");
-        map.append("{ \"content\": \"" + model.info().content() + "\"" +
-                ",\"shopMessType\":" + model.info().shopMessType() +
-                ",\"userType\":" + model.info().userType() +
-                ",\"messageType\":" + model.info().messageType());
-        map.append(",\"shopId\": " + model.info().shopId());
-        if (8 != model.info().shopMessType()) {
-            map.append(",\"reasonContent\":\"" + model.info().reasonContent() + "\"");
-        }
-        map.append("}}");
-        try {
-            String post = RequestUtil.httpPost(Global.getConfig("caimei.core") + "/tools/message/send", String.valueOf(map));
-            if (null==post){
-                throw new Exception();
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            logger.error("审批消息推送失败>>>"+e);
-        }
-    }
 
 
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
     public void delete(Info info) {
     public void delete(Info info) {

+ 1 - 1
src/main/java/com/caimei/modules/order/service/CmReturnedPurchaseService.java

@@ -1009,7 +1009,7 @@ public class CmReturnedPurchaseService extends CrudService<CmReturnedPurchaseDao
         orderVo.setP5_amount(money);
         orderVo.setP5_amount(money);
         Map<String, String> map = MyBeanUtils.convertBean(orderVo, new LinkedHashMap());
         Map<String, String> map = MyBeanUtils.convertBean(orderVo, new LinkedHashMap());
         String oriMessage = MyBeanUtils.getSignedByPresetParameter(map, AppPayRefundOrderVo.NEED_SIGN_PARAMS);
         String oriMessage = MyBeanUtils.getSignedByPresetParameter(map, AppPayRefundOrderVo.NEED_SIGN_PARAMS);
-        oriMessage += Constant.SAOMA;
+//        oriMessage += Constant.SAOMA;
         String sign = Disguiser.disguiseMD5(oriMessage.trim());
         String sign = Disguiser.disguiseMD5(oriMessage.trim());
         logger.info("签名串:" + sign);
         logger.info("签名串:" + sign);
         map.put("sign", sign);
         map.put("sign", sign);

+ 0 - 30
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -1806,36 +1806,6 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
         messageCenter.setTime(current);
         messageCenter.setTime(current);
         messageCenterDao.addMessageCenter(messageCenter);
         messageCenterDao.addMessageCenter(messageCenter);
 
 
-
-        //取消订单短信推送(取消订单推送)
-        /*try {
-            if (user != null && StringUtils.isNotBlank(user.getBindMobile()) && "0".equals(order.getRebateFlag())) {
-                String wwwServer = Global.getConfig("wwwServer");
-                String shortLink = getShortLink(8, 11, wwwServer + "user/order/detail.html?orderId=" + orderID);
-                String content = "您已成功取消订单(订单编号:" + order.getOrderNo() + "),订单金额¥" + order.getPayTotalFee() + "。您可关注采美公众号或者访问采美微信小程序和网站查看订单。" +
-                        "平台公众号:微信搜索“采美365网”; 微信小程序:微信搜索“采美采购商城”;网址:www.caimei365.com/t/" + shortLink;
-                boolean sendSms = getSendSms(11, user.getBindMobile(), content);
-                if (!sendSms) {
-                    logger.info("取消订单推送失败,订单id>>>>" + orderID);
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }*/
-        //客服确认注册机构,一天内取消有效
-        if (user != null && "94".equals(user.getClubStatus())) {
-            Integer userId = user.getUserID();
-            Date confirmTime = cmUserDao.findByConfirmTime(userId);
-            if (confirmTime != null) {
-                Calendar calendar = Calendar.getInstance();
-                calendar.setTime(confirmTime);
-                calendar.add(Calendar.DATE, 1);
-                if (calendar.getTime().compareTo(new Date()) > 0) {
-                    cmUserDao.updateByClubStatus(93, userId);
-                    newCmClubDao.updateByStatus(93, userId);
-                }
-            }
-        }
         //优惠券退回
         //优惠券退回
         if (order.getCouponAmount() > 0 && !"0".equals(order.getStatus())) {
         if (order.getCouponAmount() > 0 && !"0".equals(order.getStatus())) {
             CmCouponOrderRecord couponRecord = newOrderDao.findOrderCouponRecord(order.getOrderID());
             CmCouponOrderRecord couponRecord = newOrderDao.findOrderCouponRecord(order.getOrderID());

+ 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 Integer serviceProviderID;
     private String name;
     private String name;
     private Integer userID;
     private Integer userID;
+    private String contractMobile;
     private Integer mainServiceProviderID;
     private Integer mainServiceProviderID;
     private Integer teamFlag;  //协销小组编辑页面回显标记,后台取数据的时候给1
     private Integer teamFlag;  //协销小组编辑页面回显标记,后台取数据的时候给1
 
 
+    public String getContractMobile() {
+        return contractMobile;
+    }
+
+    public void setContractMobile(String contractMobile) {
+        this.contractMobile = contractMobile;
+    }
+
     public Integer getServiceProviderID() {
     public Integer getServiceProviderID() {
         return serviceProviderID;
         return serviceProviderID;
     }
     }

+ 1 - 0
src/main/java/com/caimei/modules/sys/utils/SMSUtils.java

@@ -63,6 +63,7 @@ public class SMSUtils {
         list.add("15827317748");
         list.add("15827317748");
         list.add("18476937515");
         list.add("18476937515");
         list.add("18175515644");
         list.add("18175515644");
+        list.add("17708413951");
         if (list.contains(mobile) || wwwServer.contains("www.caimei365.com")) {
         if (list.contains(mobile) || wwwServer.contains("www.caimei365.com")) {
             String coreServer = Global.getConfig("caimei.core");
             String coreServer = Global.getConfig("caimei.core");
             RestTemplate restTemplate = new RestTemplate();
             RestTemplate restTemplate = new RestTemplate();

+ 3 - 0
src/main/java/com/caimei/modules/user/dao/CmSpDao.java

@@ -7,6 +7,7 @@ import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 用户模块重构-协销人员管理DAO接口
  * 用户模块重构-协销人员管理DAO接口
@@ -24,6 +25,8 @@ public interface CmSpDao extends CrudDao<NewCmSp> {
 
 
     NewCmSp findByUserId(Integer userId);
     NewCmSp findByUserId(Integer userId);
 
 
+    Map<String, Object> findSpUserLoginSum(@Param("spID")String spID);
+
     List<CmSaleMan> findTeam();
     List<CmSaleMan> findTeam();
 
 
     void choseManager(Integer serviceProviderID);
     void choseManager(Integer serviceProviderID);

+ 0 - 8
src/main/java/com/caimei/modules/user/dao/CmUserDao.java

@@ -32,8 +32,6 @@ public interface CmUserDao extends CrudDao<CmUser> {
      */
      */
     List<CmUser> findByCompanyUserID(Integer companyUserID);
     List<CmUser> findByCompanyUserID(Integer companyUserID);
 
 
-    int updateEmployeeStatus(@Param("userPermission") Integer userPermission, @Param("clubStatus") String clubStatus, @Param("manufacturerStatus") String manufacturerStatus, @Param("tipStatus") String tipStatus, @Param("companyUserID") Integer companyUserID);
-
     void updateUserStatus(@Param("manufacturerStatus") String manufacturerStatus, @Param("userID") Integer userID, @Param("validFlag") String validFlag);
     void updateUserStatus(@Param("manufacturerStatus") String manufacturerStatus, @Param("userID") Integer userID, @Param("validFlag") String validFlag);
 
 
     /**
     /**
@@ -43,8 +41,6 @@ public interface CmUserDao extends CrudDao<CmUser> {
      */
      */
     void updateUserInfo(@Param("realName") String realName, @Param("name") String name, @Param("userName") String userName, @Param("bindMobile") String bindMobile, @Param("email") String email, @Param("userID") Integer userID);
     void updateUserInfo(@Param("realName") String realName, @Param("name") String name, @Param("userName") String userName, @Param("bindMobile") String bindMobile, @Param("email") String email, @Param("userID") Integer userID);
 
 
-    int updateEmployeePermission(@Param("userPermission") Integer userPermission, @Param("companyUserID") Integer companyUserID);
-
     CmUser findUserByMobile(@Param("mobile") String mobile);
     CmUser findUserByMobile(@Param("mobile") String mobile);
 
 
     List<CmUser> findListBuyBindMobile(CmUser cmUser);
     List<CmUser> findListBuyBindMobile(CmUser cmUser);
@@ -69,10 +65,6 @@ public interface CmUserDao extends CrudDao<CmUser> {
 
 
     CmUser findUserByOrganizeId(Integer organizeId);
     CmUser findUserByOrganizeId(Integer organizeId);
 
 
-    void updateByClubStatus(@Param("clubStatus") int clubStatus, @Param("confirmUserId") Integer confirmUserId);
-
-    Date findByConfirmTime(Integer userId);
-
     Integer findUserBeans(Integer userId);
     Integer findUserBeans(Integer userId);
 
 
     CmOrganValueSystem selOrgan(Integer userId);
     CmOrganValueSystem selOrgan(Integer userId);

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

@@ -4,6 +4,7 @@ import com.caimei.modules.consult.entity.type.CmConsulttype;
 import com.caimei.modules.project.model.ServiceProviderModel;
 import com.caimei.modules.project.model.ServiceProviderModel;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.entity.*;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
+import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -18,6 +19,8 @@ import java.util.List;
 @MyBatisDao
 @MyBatisDao
 public interface NewCmClubDao extends CrudDao<NewCmClub> {
 public interface NewCmClubDao extends CrudDao<NewCmClub> {
 
 
+    List<NewCmClub> findProviderList(NewCmClub userClub);
+
     List<NewCmClub> findClubById(Integer clubID);
     List<NewCmClub> findClubById(Integer clubID);
 
 
     List<NewCmClub> textUserValue();
     List<NewCmClub> textUserValue();
@@ -29,9 +32,6 @@ public interface NewCmClubDao extends CrudDao<NewCmClub> {
     List<ServiceProviderModel> spNameList();
     List<ServiceProviderModel> spNameList();
 
 
     void insertBeansHistory(UserBeansHistory beansHistory);
     void insertBeansHistory(UserBeansHistory beansHistory);
-
-    void updateByStatus(@Param("clubStatus") int clubStatus, @Param("confirmUserId") Integer confirmUserId);
-
     List<CmClubRemarks> findRemarksList(CmClubRemarks cmClubRemarks);
     List<CmClubRemarks> findRemarksList(CmClubRemarks cmClubRemarks);
 
 
     List<String> getRemarksImageList(Integer remarksId);
     List<String> getRemarksImageList(Integer remarksId);

+ 19 - 410
src/main/java/com/caimei/modules/user/entity/CmUser.java

@@ -18,75 +18,36 @@ public class CmUser extends DataEntity<CmUser> {
     private Integer userID;        // userID
     private Integer userID;        // userID
     private Integer userOrganizeID;//用户组织ID
     private Integer userOrganizeID;//用户组织ID
     private String mobile;        // 手机号码
     private String mobile;        // 手机号码
-    private Integer userPermission;        // 用户权限
     private String email;        // 邮箱
     private String email;        // 邮箱
     private String userName;        // 用户名
     private String userName;        // 用户名
     private Integer source;         //注册来源: 0网站 1小程序
     private Integer source;         //注册来源: 0网站 1小程序
     private String image;        // image
     private String image;        // image
     private String password;        // 密码
     private String password;        // 密码
-//    private String userLevelID;        // 用户会员等级,见表c_userlevel或枚举UserLevel
     private String name;        // 组织名称
     private String name;        // 组织名称
-//    private String nick;        // 昵称
-//    private String sex;        // 性别
     private String registerUserTypeID;        // 用户类型,见表c_usertype或枚举UserType
     private String registerUserTypeID;        // 用户类型,见表c_usertype或枚举UserType
-//    private String manufacturerFlag;        // 已废弃 是否是供应商,1是 空或0否
     private String manufacturerStatus;        // 供应商状态,见表c_shopstatus或枚举ShopStatus
     private String manufacturerStatus;        // 供应商状态,见表c_shopstatus或枚举ShopStatus
     private String shopID;        // 供应商Id
     private String shopID;        // 供应商Id
-//    private String serviceProviderFlag;        // 已废弃  是否创客,1是 空或0否
-//    private String clubFlag;        //已废弃  是否会所,1是 空或0否
-//    private String masterFlag;        //已废弃  masterFlag
-//    private String normalFlag;        //已废弃  normalFlag
     private String auditStatus;        // auditStatus
     private String auditStatus;        // auditStatus
     private String auditTime;        // auditTime
     private String auditTime;        // auditTime
     private String auditNote;        // auditNote
     private String auditNote;        // auditNote
     private String registerTime;        // 注册时间
     private String registerTime;        // 注册时间
     private String registerIP;        // 注册ip
     private String registerIP;        // 注册ip
     private String loginTime;        // 登录时间
     private String loginTime;        // 登录时间
-    private String loginFailTime;        // 登录失败次数
     private String loginIP;        // 登录ip
     private String loginIP;        // 登录ip
     private String validFlag;        // 用户状态,1正常,0冻结
     private String validFlag;        // 用户状态,1正常,0冻结
-//    private String emailCheckFlag;        // emailCheckFlag
-//    private String mobileCheckFlag;        // mobileCheckFlag
-    private String clubStatus;        // 会所状态,见表c_clubstatus或枚举ClubStatus
     private String clubID;        // 会所Id
     private String clubID;        // 会所Id
+
     private String agreeFlag;        // agreeFlag
     private String agreeFlag;        // agreeFlag
-//    private String activationCode;        // activationCode
-//    private String activationDate;        // activationDate
     private String serviceProviderStatus;        // 创客状态
     private String serviceProviderStatus;        // 创客状态
     private String serviceProviderID;        // 创客Id
     private String serviceProviderID;        // 创客Id
-//    private String masterStatus;        // masterStatus
-//    private String masterID;        // masterID
     private Double userMoney;        // 账户余额
     private Double userMoney;        // 账户余额
     private Double ableUserMoney;        //账户可用余额
     private Double ableUserMoney;        //账户可用余额
-//    private String point;        // point
-//    private String shopERPFlag;        // shopERPFlag
-//    private String fromUserID;        // 邀请人Id
-//    private String fromUserName;        // 邀请人名称
-    private String logoffTime;        // logoffTime
-    private String appKey;        // appKey
-    private String appSecret;        // appSecret
-//    private String sampleFlag;        // sampleFlag
-    private String scanFlag;        // 扫描标志(4 CRM拉上来的会所)
-//    private String sysroleid;        // sysroleid
-//    private String gender;        // gender
-//    private String age;        // 年龄
-//    private String salerbuyer;        // salerbuyer
-//    private String position;        // position
-//    private String skill;        // skill
-//    private String workage;        // workage
-//    private String wechat;        // 微信号
-//    private String qq;        // QQ号
-//    private String smsFlag;        // 短信是否发送成功
     private Integer userBeans;        // 采美豆数量
     private Integer userBeans;        // 采美豆数量
-//    private String privateShopFlag;        // 平台商标志位  0非平台商 1平台商
-//    private String privateClubFlag;        // 平台会所标志位  0非平台会所 1平台会所
-//    private String isMeiDaoAuthorized;        // isMeiDaoAuthorized
     private String guideFlag;        // 引导层弹出  0需要弹出  1不需要弹出
     private String guideFlag;        // 引导层弹出  0需要弹出  1不需要弹出
     private String nickName;        // 微信昵称
     private String nickName;        // 微信昵称
     private String startTime;     //注册时间开始 查询条件
     private String startTime;     //注册时间开始 查询条件
     private String endTime;        //注册时间结束  查询条件
     private String endTime;        //注册时间结束  查询条件
-    private String operatorMobile; //
-
+    private String operatorMobile;
 
 
     /**
     /**
      * 用户模块重构
      * 用户模块重构
@@ -97,9 +58,8 @@ public class CmUser extends DataEntity<CmUser> {
     private Integer companyUserID;//企业用户id
     private Integer companyUserID;//企业用户id
     private String openID;//微信openID
     private String openID;//微信openID
     private String bindMobile;//企业绑定手机号
     private String bindMobile;//企业绑定手机号
-    private String tipStatus;//弹窗提示状态
-    private String identityDisplay; //前台身份展示
     private String linkMan;//联系人
     private String linkMan;//联系人
+    private Integer scanFlag;//联系人
 
 
     //会所用户信息
     //会所用户信息
     private String town; // 区
     private String town; // 区
@@ -111,6 +71,14 @@ public class CmUser extends DataEntity<CmUser> {
     private String userIds;  //用户id","隔开
     private String userIds;  //用户id","隔开
     private boolean storeStatus = false; //是否存在数据库
     private boolean storeStatus = false; //是否存在数据库
 
 
+    public Integer getScanFlag() {
+        return scanFlag;
+    }
+
+    public void setScanFlag(Integer scanFlag) {
+        this.scanFlag = scanFlag;
+    }
+
     public CmUser() {
     public CmUser() {
         super();
         super();
     }
     }
@@ -119,6 +87,14 @@ public class CmUser extends DataEntity<CmUser> {
         super(id);
         super(id);
     }
     }
 
 
+    public String getAgreeFlag() {
+        return agreeFlag;
+    }
+
+    public void setAgreeFlag(String agreeFlag) {
+        this.agreeFlag = agreeFlag;
+    }
+
     @NotNull(message = "userID不能为空")
     @NotNull(message = "userID不能为空")
     public Integer getUserID() {
     public Integer getUserID() {
         return userID;
         return userID;
@@ -136,14 +112,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.mobile = mobile;
         this.mobile = mobile;
     }
     }
 
 
-    public Integer getUserPermission() {
-        return userPermission;
-    }
-
-    public void setUserPermission(Integer userPermission) {
-        this.userPermission = userPermission;
-    }
-
     public String getEmail() {
     public String getEmail() {
         return email;
         return email;
     }
     }
@@ -176,14 +144,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.password = password;
         this.password = password;
     }
     }
 
 
-//    public String getUserLevelID() {
-//        return userLevelID;
-//    }
-//
-//    public void setUserLevelID(String userLevelID) {
-//        this.userLevelID = userLevelID;
-//    }
-
     public String getName() {
     public String getName() {
         return name;
         return name;
     }
     }
@@ -192,22 +152,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.name = name;
         this.name = name;
     }
     }
 
 
-//    public String getNick() {
-//        return nick;
-//    }
-//
-//    public void setNick(String nick) {
-//        this.nick = nick;
-//    }
-
-//    public String getSex() {
-//        return sex;
-//    }
-//
-//    public void setSex(String sex) {
-//        this.sex = sex;
-//    }
-
     public String getRegisterUserTypeID() {
     public String getRegisterUserTypeID() {
         return registerUserTypeID;
         return registerUserTypeID;
     }
     }
@@ -216,15 +160,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.registerUserTypeID = registerUserTypeID;
         this.registerUserTypeID = registerUserTypeID;
     }
     }
 
 
-//    @Length(min = 0, max = 1, message = "是否是供应商,1是 空或0否长度必须介于 0 和 1 之间")
-//    public String getManufacturerFlag() {
-//        return manufacturerFlag;
-//    }
-//
-//    public void setManufacturerFlag(String manufacturerFlag) {
-//        this.manufacturerFlag = manufacturerFlag;
-//    }
-
     @Length(min = 0, max = 11, message = "供应商状态,见表c_shopstatus或枚举ShopStatus长度必须介于 0 和 11 之间")
     @Length(min = 0, max = 11, message = "供应商状态,见表c_shopstatus或枚举ShopStatus长度必须介于 0 和 11 之间")
     public String getManufacturerStatus() {
     public String getManufacturerStatus() {
         return manufacturerStatus;
         return manufacturerStatus;
@@ -243,42 +178,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.shopID = shopID;
         this.shopID = shopID;
     }
     }
 
 
-//    @Length(min = 0, max = 1, message = "是否创客,1是 空或0否长度必须介于 0 和 1 之间")
-//    public String getServiceProviderFlag() {
-//        return serviceProviderFlag;
-//    }
-//
-//    public void setServiceProviderFlag(String serviceProviderFlag) {
-//        this.serviceProviderFlag = serviceProviderFlag;
-//    }
-
-//    @Length(min = 0, max = 1, message = "是否会所,1是 空或0否长度必须介于 0 和 1 之间")
-//    public String getClubFlag() {
-//        return clubFlag;
-//    }
-//
-//    public void setClubFlag(String clubFlag) {
-//        this.clubFlag = clubFlag;
-//    }
-//
-//    @Length(min = 0, max = 1, message = "masterFlag长度必须介于 0 和 1 之间")
-//    public String getMasterFlag() {
-//        return masterFlag;
-//    }
-//
-//    public void setMasterFlag(String masterFlag) {
-//        this.masterFlag = masterFlag;
-//    }
-//
-//    @Length(min = 0, max = 1, message = "normalFlag长度必须介于 0 和 1 之间")
-//    public String getNormalFlag() {
-//        return normalFlag;
-//    }
-//
-//    public void setNormalFlag(String normalFlag) {
-//        this.normalFlag = normalFlag;
-//    }
-
     @Length(min = 0, max = 1, message = "auditStatus长度必须介于 0 和 1 之间")
     @Length(min = 0, max = 1, message = "auditStatus长度必须介于 0 和 1 之间")
     public String getAuditStatus() {
     public String getAuditStatus() {
         return auditStatus;
         return auditStatus;
@@ -330,14 +229,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.loginTime = loginTime;
         this.loginTime = loginTime;
     }
     }
 
 
-    public String getLoginFailTime() {
-        return loginFailTime;
-    }
-
-    public void setLoginFailTime(String loginFailTime) {
-        this.loginFailTime = loginFailTime;
-    }
-
     public String getLoginIP() {
     public String getLoginIP() {
         return loginIP;
         return loginIP;
     }
     }
@@ -353,31 +244,6 @@ public class CmUser extends DataEntity<CmUser> {
     public void setValidFlag(String validFlag) {
     public void setValidFlag(String validFlag) {
         this.validFlag = validFlag;
         this.validFlag = validFlag;
     }
     }
-
-//    public String getEmailCheckFlag() {
-//        return emailCheckFlag;
-//    }
-//
-//    public void setEmailCheckFlag(String emailCheckFlag) {
-//        this.emailCheckFlag = emailCheckFlag;
-//    }
-//
-//    public String getMobileCheckFlag() {
-//        return mobileCheckFlag;
-//    }
-//
-//    public void setMobileCheckFlag(String mobileCheckFlag) {
-//        this.mobileCheckFlag = mobileCheckFlag;
-//    }
-
-    public String getClubStatus() {
-        return clubStatus;
-    }
-
-    public void setClubStatus(String clubStatus) {
-        this.clubStatus = clubStatus;
-    }
-
     public String getClubID() {
     public String getClubID() {
         return clubID;
         return clubID;
     }
     }
@@ -385,40 +251,13 @@ public class CmUser extends DataEntity<CmUser> {
     public void setClubID(String clubID) {
     public void setClubID(String clubID) {
         this.clubID = clubID;
         this.clubID = clubID;
     }
     }
-
-    public String getAgreeFlag() {
-        return agreeFlag;
-    }
-
-    public void setAgreeFlag(String agreeFlag) {
-        this.agreeFlag = agreeFlag;
-    }
-
-//    public String getActivationCode() {
-//        return activationCode;
-//    }
-//
-//    public void setActivationCode(String activationCode) {
-//        this.activationCode = activationCode;
-//    }
-//
-//    public String getActivationDate() {
-//        return activationDate;
-//    }
-//
-//    public void setActivationDate(String activationDate) {
-//        this.activationDate = activationDate;
-//    }
-
     @Length(min = 0, max = 11, message = "创客状态长度必须介于 0 和 11 之间")
     @Length(min = 0, max = 11, message = "创客状态长度必须介于 0 和 11 之间")
     public String getServiceProviderStatus() {
     public String getServiceProviderStatus() {
         return serviceProviderStatus;
         return serviceProviderStatus;
     }
     }
-
     public void setServiceProviderStatus(String serviceProviderStatus) {
     public void setServiceProviderStatus(String serviceProviderStatus) {
         this.serviceProviderStatus = serviceProviderStatus;
         this.serviceProviderStatus = serviceProviderStatus;
     }
     }
-
     @Length(min = 0, max = 11, message = "创客Id长度必须介于 0 和 11 之间")
     @Length(min = 0, max = 11, message = "创客Id长度必须介于 0 和 11 之间")
     public String getServiceProviderID() {
     public String getServiceProviderID() {
         return serviceProviderID;
         return serviceProviderID;
@@ -428,24 +267,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.serviceProviderID = serviceProviderID;
         this.serviceProviderID = serviceProviderID;
     }
     }
 
 
-//    @Length(min = 0, max = 11, message = "masterStatus长度必须介于 0 和 11 之间")
-//    public String getMasterStatus() {
-//        return masterStatus;
-//    }
-//
-//    public void setMasterStatus(String masterStatus) {
-//        this.masterStatus = masterStatus;
-//    }
-//
-//    @Length(min = 0, max = 11, message = "masterID长度必须介于 0 和 11 之间")
-//    public String getMasterID() {
-//        return masterID;
-//    }
-//
-//    public void setMasterID(String masterID) {
-//        this.masterID = masterID;
-//    }
-
     public Double getUserMoney() {
     public Double getUserMoney() {
         return userMoney;
         return userMoney;
     }
     }
@@ -462,174 +283,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.ableUserMoney = ableUserMoney;
         this.ableUserMoney = ableUserMoney;
     }
     }
 
 
-//    @Length(min = 0, max = 11, message = "point长度必须介于 0 和 11 之间")
-//    public String getPoint() {
-//        return point;
-//    }
-//
-//    public void setPoint(String point) {
-//        this.point = point;
-//    }
-//
-//    @Length(min = 0, max = 1, message = "shopERPFlag长度必须介于 0 和 1 之间")
-//    public String getShopERPFlag() {
-//        return shopERPFlag;
-//    }
-//
-//    public void setShopERPFlag(String shopERPFlag) {
-//        this.shopERPFlag = shopERPFlag;
-//    }
-//
-//    @Length(min = 0, max = 11, message = "邀请人Id长度必须介于 0 和 11 之间")
-//    public String getFromUserID() {
-//        return fromUserID;
-//    }
-//
-//    public void setFromUserID(String fromUserID) {
-//        this.fromUserID = fromUserID;
-//    }
-//
-//    public String getFromUserName() {
-//        return fromUserName;
-//    }
-//
-//    public void setFromUserName(String fromUserName) {
-//        this.fromUserName = fromUserName;
-//    }
-
-    public String getLogoffTime() {
-        return logoffTime;
-    }
-
-    public void setLogoffTime(String logoffTime) {
-        this.logoffTime = logoffTime;
-    }
-
-    @Length(min = 0, max = 20, message = "appKey长度必须介于 0 和 20 之间")
-    public String getAppKey() {
-        return appKey;
-    }
-
-    public void setAppKey(String appKey) {
-        this.appKey = appKey;
-    }
-
-    @Length(min = 0, max = 25, message = "appSecret长度必须介于 0 和 25 之间")
-    public String getAppSecret() {
-        return appSecret;
-    }
-
-    public void setAppSecret(String appSecret) {
-        this.appSecret = appSecret;
-    }
-
-//    @Length(min = 0, max = 1, message = "sampleFlag长度必须介于 0 和 1 之间")
-//    public String getSampleFlag() {
-//        return sampleFlag;
-//    }
-//
-//    public void setSampleFlag(String sampleFlag) {
-//        this.sampleFlag = sampleFlag;
-//    }
-
-    @Length(min = 0, max = 11, message = "扫描标志(4 CRM拉上来的会所)长度必须介于 0 和 11 之间")
-    public String getScanFlag() {
-        return scanFlag;
-    }
-
-    public void setScanFlag(String scanFlag) {
-        this.scanFlag = scanFlag;
-    }
-
-//    @Length(min = 0, max = 11, message = "sysroleid长度必须介于 0 和 11 之间")
-//    public String getSysroleid() {
-//        return sysroleid;
-//    }
-//
-//    public void setSysroleid(String sysroleid) {
-//        this.sysroleid = sysroleid;
-//    }
-//
-//    @Length(min = 0, max = 2, message = "gender长度必须介于 0 和 2 之间")
-//    public String getGender() {
-//        return gender;
-//    }
-//
-//    public void setGender(String gender) {
-//        this.gender = gender;
-//    }
-//
-//    @Length(min = 0, max = 11, message = "年龄长度必须介于 0 和 11 之间")
-//    public String getAge() {
-//        return age;
-//    }
-//
-//    public void setAge(String age) {
-//        this.age = age;
-//    }
-//
-//    @Length(min = 0, max = 11, message = "salerbuyer长度必须介于 0 和 11 之间")
-//    public String getSalerbuyer() {
-//        return salerbuyer;
-//    }
-//
-//    public void setSalerbuyer(String salerbuyer) {
-//        this.salerbuyer = salerbuyer;
-//    }
-//
-//    @Length(min = 0, max = 128, message = "position长度必须介于 0 和 128 之间")
-//    public String getPosition() {
-//        return position;
-//    }
-//
-//    public void setPosition(String position) {
-//        this.position = position;
-//    }
-//
-//    @Length(min = 0, max = 128, message = "skill长度必须介于 0 和 128 之间")
-//    public String getSkill() {
-//        return skill;
-//    }
-//
-//    public void setSkill(String skill) {
-//        this.skill = skill;
-//    }
-//
-//    public String getWorkage() {
-//        return workage;
-//    }
-//
-//    public void setWorkage(String workage) {
-//        this.workage = workage;
-//    }
-//
-//    @Length(min = 0, max = 64, message = "微信号长度必须介于 0 和 64 之间")
-//    public String getWechat() {
-//        return wechat;
-//    }
-//
-//    public void setWechat(String wechat) {
-//        this.wechat = wechat;
-//    }
-//
-//    @Length(min = 0, max = 32, message = "QQ号长度必须介于 0 和 32 之间")
-//    public String getQq() {
-//        return qq;
-//    }
-//
-//    public void setQq(String qq) {
-//        this.qq = qq;
-//    }
-//
-//    @Length(min = 0, max = 1, message = "短信是否发送成功长度必须介于 0 和 1 之间")
-//    public String getSmsFlag() {
-//        return smsFlag;
-//    }
-//
-//    public void setSmsFlag(String smsFlag) {
-//        this.smsFlag = smsFlag;
-//    }
-
     @Length(min = 0, max = 11, message = "采美豆数量长度必须介于 0 和 11 之间")
     @Length(min = 0, max = 11, message = "采美豆数量长度必须介于 0 和 11 之间")
     public Integer getUserBeans() {
     public Integer getUserBeans() {
         return userBeans;
         return userBeans;
@@ -639,33 +292,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.userBeans = userBeans;
         this.userBeans = userBeans;
     }
     }
 
 
-//    @Length(min = 0, max = 11, message = "平台商标志位  0非平台商 1平台商长度必须介于 0 和 11 之间")
-//    public String getPrivateShopFlag() {
-//        return privateShopFlag;
-//    }
-//
-//    public void setPrivateShopFlag(String privateShopFlag) {
-//        this.privateShopFlag = privateShopFlag;
-//    }
-//
-//    @Length(min = 0, max = 11, message = "平台会所标志位  0非平台会所 1平台会所长度必须介于 0 和 11 之间")
-//    public String getPrivateClubFlag() {
-//        return privateClubFlag;
-//    }
-//
-//    public void setPrivateClubFlag(String privateClubFlag) {
-//        this.privateClubFlag = privateClubFlag;
-//    }
-//
-//    @Length(min = 0, max = 11, message = "isMeiDaoAuthorized长度必须介于 0 和 11 之间")
-//    public String getIsMeiDaoAuthorized() {
-//        return isMeiDaoAuthorized;
-//    }
-//
-//    public void setIsMeiDaoAuthorized(String isMeiDaoAuthorized) {
-//        this.isMeiDaoAuthorized = isMeiDaoAuthorized;
-//    }
-
     @Length(min = 0, max = 1, message = "引导层弹出  0需要弹出  1不需要弹出长度必须介于 0 和 1 之间")
     @Length(min = 0, max = 1, message = "引导层弹出  0需要弹出  1不需要弹出长度必须介于 0 和 1 之间")
     public String getGuideFlag() {
     public String getGuideFlag() {
         return guideFlag;
         return guideFlag;
@@ -731,23 +357,6 @@ public class CmUser extends DataEntity<CmUser> {
         this.bindMobile = bindMobile;
         this.bindMobile = bindMobile;
     }
     }
 
 
-    public String getTipStatus() {
-        return tipStatus;
-    }
-
-    public void setTipStatus(String tipStatus) {
-        this.tipStatus = tipStatus;
-    }
-
-    @Transient
-    public String getIdentityDisplay() {
-        return identityDisplay;
-    }
-
-    public void setIdentityDisplay(String identityDisplay) {
-        this.identityDisplay = identityDisplay;
-    }
-
     @Transient
     @Transient
     public String getStartTime() {
     public String getStartTime() {
         return startTime;
         return startTime;

+ 40 - 391
src/main/java/com/caimei/modules/user/entity/NewCmClub.java

@@ -21,7 +21,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     private Integer clubID;        // 会所ID
     private Integer clubID;        // 会所ID
     private Integer userID;        // 用户ID
     private Integer userID;        // 用户ID
     private Integer userOrganizeID;//用户组织ID
     private Integer userOrganizeID;//用户组织ID
-    private String userPermission;
     private String name;        // 会所名称
     private String name;        // 会所名称
     private String sname;        // 简称
     private String sname;        // 简称
     private String searchName;        // 搜索会所名称
     private String searchName;        // 搜索会所名称
@@ -90,9 +89,48 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     private String province; //省
     private String province; //省
     private String startTime;     //注册时间开始 查询条件
     private String startTime;     //注册时间开始 查询条件
     private String endTime;        //注册时间结束  查询条件
     private String endTime;        //注册时间结束  查询条件
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date providerTime;     //分配协销时间 查询条件
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date loginTime;     //上次登录时间 查询条件
+    private String startLoginTime;     //登录时间开始 查询条件
+    private String endLoginTime;        //登录时间结束  查询条件
     private String userIdentity;  //用户身份
     private String userIdentity;  //用户身份
     private Integer svipUserFlag;   //超级会员用户标识,1是,2不是
     private Integer svipUserFlag;   //超级会员用户标识,1是,2不是
     private Integer newDeal;//新分配机构状态 0.否,1.是
     private Integer newDeal;//新分配机构状态 0.否,1.是
+
+    public Date getProviderTime() {
+        return providerTime;
+    }
+
+    public void setProviderTime(Date providerTime) {
+        this.providerTime = providerTime;
+    }
+
+    public Date getLoginTime() {
+        return loginTime;
+    }
+
+    public void setLoginTime(Date loginTime) {
+        this.loginTime = loginTime;
+    }
+
+    public String getEndLoginTime() {
+        return endLoginTime;
+    }
+
+    public void setEndLoginTime(String endLoginTime) {
+        this.endLoginTime = endLoginTime;
+    }
+
+    public String getStartLoginTime() {
+        return startLoginTime;
+    }
+
+    public void setStartLoginTime(String startLoginTime) {
+        this.startLoginTime = startLoginTime;
+    }
+
     public String getCheckMan() {
     public String getCheckMan() {
         return checkMan;
         return checkMan;
     }
     }
@@ -149,15 +187,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
         this.userID = userID;
         this.userID = userID;
     }
     }
 
 
-//    @NotNull(message = "【已废弃】会所类型不能为空")
-//    public Integer getClubTypeID() {
-//        return clubTypeID;
-//    }
-//
-//    public void setClubTypeID(Integer clubTypeID) {
-//        this.clubTypeID = clubTypeID;
-//    }
-
     @Length(min = 0, max = 50, message = "会所名称长度必须介于 0 和 50 之间")
     @Length(min = 0, max = 50, message = "会所名称长度必须介于 0 和 50 之间")
     public String getName() {
     public String getName() {
         return name;
         return name;
@@ -176,24 +205,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
         this.sname = sname;
         this.sname = sname;
     }
     }
 
 
-//    @Length(min = 0, max = 100, message = "会所英文名称长度必须介于 0 和 100 之间")
-//    public String getNameEn() {
-//        return nameEn;
-//    }
-//
-//    public void setNameEn(String nameEn) {
-//        this.nameEn = nameEn;
-//    }
-//
-//    @Length(min = 0, max = 200, message = "网址长度必须介于 0 和 200 之间")
-//    public String getSite() {
-//        return site;
-//    }
-//
-//    public void setSite(String site) {
-//        this.site = site;
-//    }
-
     @Length(min = 0, max = 200, message = "logo长度必须介于 0 和 200 之间")
     @Length(min = 0, max = 200, message = "logo长度必须介于 0 和 200 之间")
     public String getLogo() {
     public String getLogo() {
         return logo;
         return logo;
@@ -203,30 +214,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
         this.logo = logo;
         this.logo = logo;
     }
     }
 
 
-//    public Double getLevel() {
-//        return level;
-//    }
-//
-//    public void setLevel(Double level) {
-//        this.level = level;
-//    }
-//
-//    public Double getScore() {
-//        return score;
-//    }
-//
-//    public void setScore(Double score) {
-//        this.score = score;
-//    }
-//
-//    public Integer getSubClubCount() {
-//        return subClubCount;
-//    }
-//
-//    public void setSubClubCount(Integer subClubCount) {
-//        this.subClubCount = subClubCount;
-//    }
-
     @Length(min = 0, max = 20, message = "法人长度必须介于 0 和 20 之间")
     @Length(min = 0, max = 20, message = "法人长度必须介于 0 和 20 之间")
     public String getLegalPerson() {
     public String getLegalPerson() {
         return legalPerson;
         return legalPerson;
@@ -260,121 +247,62 @@ public class NewCmClub extends DataEntity<NewCmClub> {
         this.townID = townID;
         this.townID = townID;
     }
     }
 
 
-//    @Length(min = 0, max = 1, message = "是否同意协议长度必须介于 0 和 1 之间")
-//    public String getAgreement() {
-//        return agreement;
-//    }
-//
-//    public void setAgreement(String agreement) {
-//        this.agreement = agreement;
-//    }
-
     @Length(min = 0, max = 100, message = "拉会所上线的用户的cmBindId,以逗号结尾长度必须介于 0 和 100 之间")
     @Length(min = 0, max = 100, message = "拉会所上线的用户的cmBindId,以逗号结尾长度必须介于 0 和 100 之间")
     public String getFlag() {
     public String getFlag() {
         return flag;
         return flag;
     }
     }
-
     public void setFlag(String flag) {
     public void setFlag(String flag) {
         this.flag = flag;
         this.flag = flag;
     }
     }
-
     public Integer getInviterBindID() {
     public Integer getInviterBindID() {
         return inviterBindID;
         return inviterBindID;
     }
     }
-
     public void setInviterBindID(Integer inviterBindID) {
     public void setInviterBindID(Integer inviterBindID) {
         this.inviterBindID = inviterBindID;
         this.inviterBindID = inviterBindID;
     }
     }
-
     @Length(min = 0, max = 255, message = "邀请者名称长度必须介于 0 和 255 之间")
     @Length(min = 0, max = 255, message = "邀请者名称长度必须介于 0 和 255 之间")
     public String getInviterName() {
     public String getInviterName() {
         return inviterName;
         return inviterName;
     }
     }
-
     public void setInviterName(String inviterName) {
     public void setInviterName(String inviterName) {
         this.inviterName = inviterName;
         this.inviterName = inviterName;
     }
     }
-
     public Integer getSpID() {
     public Integer getSpID() {
-        return spID;
+        return this.spID;
     }
     }
-
     public void setSpID(Integer spID) {
     public void setSpID(Integer spID) {
         this.spID = spID;
         this.spID = spID;
     }
     }
-
     public Integer getMainServiceProviderID() {
     public Integer getMainServiceProviderID() {
         return mainServiceProviderID;
         return mainServiceProviderID;
     }
     }
-
     public void setMainServiceProviderID(Integer mainServiceProviderID) {
     public void setMainServiceProviderID(Integer mainServiceProviderID) {
         this.mainServiceProviderID = mainServiceProviderID;
         this.mainServiceProviderID = mainServiceProviderID;
     }
     }
-
     public String getScanTime() {
     public String getScanTime() {
         return scanTime;
         return scanTime;
     }
     }
-
     public void setScanTime(String scanTime) {
     public void setScanTime(String scanTime) {
         this.scanTime = scanTime;
         this.scanTime = scanTime;
     }
     }
-
-//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-//    public Date getCheckTime() {
-//        return checkTime;
-//    }
-//
-//    public void setCheckTime(Date checkTime) {
-//        this.checkTime = checkTime;
-//    }
-
     @Length(min = 0, max = 100, message = "详细地址长度必须介于 0 和 100 之间")
     @Length(min = 0, max = 100, message = "详细地址长度必须介于 0 和 100 之间")
     public String getAddress() {
     public String getAddress() {
         return address;
         return address;
     }
     }
-
     public void setAddress(String address) {
     public void setAddress(String address) {
         this.address = address;
         this.address = address;
     }
     }
-
-//    public Double getRegisteredCapital() {
-//        return registeredCapital;
-//    }
-//
-//    public void setRegisteredCapital(Double registeredCapital) {
-//        this.registeredCapital = registeredCapital;
-//    }
-//
-//    public Integer getMainClubID() {
-//        return mainClubID;
-//    }
-//
-//    public void setMainClubID(Integer mainClubID) {
-//        this.mainClubID = mainClubID;
-//    }
-//
-//    public Double getTurnover() {
-//        return turnover;
-//    }
-//
-//    public void setTurnover(Double turnover) {
-//        this.turnover = turnover;
-//    }
-
     @Length(min = 0, max = 50, message = "联系人长度必须介于 0 和 50 之间")
     @Length(min = 0, max = 50, message = "联系人长度必须介于 0 和 50 之间")
     public String getLinkMan() {
     public String getLinkMan() {
         return linkMan;
         return linkMan;
     }
     }
-
     public void setLinkMan(String linkMan) {
     public void setLinkMan(String linkMan) {
         this.linkMan = linkMan;
         this.linkMan = linkMan;
     }
     }
-
     @Length(min = 0, max = 50, message = "联系电话长度必须介于 0 和 50 之间")
     @Length(min = 0, max = 50, message = "联系电话长度必须介于 0 和 50 之间")
     public String getContractPhone() {
     public String getContractPhone() {
         return contractPhone;
         return contractPhone;
     }
     }
-
     public void setContractPhone(String contractPhone) {
     public void setContractPhone(String contractPhone) {
         this.contractPhone = contractPhone;
         this.contractPhone = contractPhone;
     }
     }
@@ -387,210 +315,33 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setContractMobile(String contractMobile) {
     public void setContractMobile(String contractMobile) {
         this.contractMobile = contractMobile;
         this.contractMobile = contractMobile;
     }
     }
-
     @Length(min = 0, max = 50, message = "传真长度必须介于 0 和 50 之间")
     @Length(min = 0, max = 50, message = "传真长度必须介于 0 和 50 之间")
     public String getFax() {
     public String getFax() {
         return fax;
         return fax;
     }
     }
-
     public void setFax(String fax) {
     public void setFax(String fax) {
         this.fax = fax;
         this.fax = fax;
     }
     }
-
-//    @Length(min = 0, max = 10, message = "邮编长度必须介于 0 和 10 之间")
-//    public String getZipCode() {
-//        return zipCode;
-//    }
-//
-//    public void setZipCode(String zipCode) {
-//        this.zipCode = zipCode;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "联系人长度必须介于 0 和 50 之间")
-//    public String getLinkMan1() {
-//        return linkMan1;
-//    }
-//
-//    public void setLinkMan1(String linkMan1) {
-//        this.linkMan1 = linkMan1;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "职务长度必须介于 0 和 50 之间")
-//    public String getDuty1() {
-//        return duty1;
-//    }
-//
-//    public void setDuty1(String duty1) {
-//        this.duty1 = duty1;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "联系电话1长度必须介于 0 和 50 之间")
-//    public String getContractPhone1() {
-//        return contractPhone1;
-//    }
-//
-//    public void setContractPhone1(String contractPhone1) {
-//        this.contractPhone1 = contractPhone1;
-//    }
-//
-//    @Length(min = 0, max = 20, message = "手机号1长度必须介于 0 和 20 之间")
-//    public String getContractMobile1() {
-//        return contractMobile1;
-//    }
-//
-//    public void setContractMobile1(String contractMobile1) {
-//        this.contractMobile1 = contractMobile1;
-//    }
-//
-//    @Length(min = 0, max = 20, message = "联系QQ长度必须介于 0 和 20 之间")
-//    public String getContractQQ1() {
-//        return contractQQ1;
-//    }
-//
-//    public void setContractQQ1(String contractQQ1) {
-//        this.contractQQ1 = contractQQ1;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "微信号长度必须介于 0 和 50 之间")
-//    public String getWechat1() {
-//        return wechat1;
-//    }
-//
-//    public void setWechat1(String wechat1) {
-//        this.wechat1 = wechat1;
-//    }
-//
     @Length(min = 0, max = 50, message = "联系邮箱长度必须介于 0 和 50 之间")
     @Length(min = 0, max = 50, message = "联系邮箱长度必须介于 0 和 50 之间")
     public String getContractEmail() {
     public String getContractEmail() {
         return contractEmail;
         return contractEmail;
     }
     }
-
     public void setContractEmail(String contractEmail) {
     public void setContractEmail(String contractEmail) {
         this.contractEmail = contractEmail;
         this.contractEmail = contractEmail;
     }
     }
-//
-//    @Length(min = 0, max = 50, message = "联系人长度必须介于 0 和 50 之间")
-//    public String getLinkMan2() {
-//        return linkMan2;
-//    }
-//
-//    public void setLinkMan2(String linkMan2) {
-//        this.linkMan2 = linkMan2;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "职务长度必须介于 0 和 50 之间")
-//    public String getDuty2() {
-//        return duty2;
-//    }
-//
-//    public void setDuty2(String duty2) {
-//        this.duty2 = duty2;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "联系电话长度必须介于 0 和 50 之间")
-//    public String getContractPhone2() {
-//        return contractPhone2;
-//    }
-//
-//    public void setContractPhone2(String contractPhone2) {
-//        this.contractPhone2 = contractPhone2;
-//    }
-//
-//    @Length(min = 0, max = 20, message = "联系手机长度必须介于 0 和 20 之间")
-//    public String getContractMobile2() {
-//        return contractMobile2;
-//    }
-//
-//    public void setContractMobile2(String contractMobile2) {
-//        this.contractMobile2 = contractMobile2;
-//    }
-//
-//    @Length(min = 0, max = 20, message = "联系QQ长度必须介于 0 和 20 之间")
-//    public String getContractQQ2() {
-//        return contractQQ2;
-//    }
-//
-//    public void setContractQQ2(String contractQQ2) {
-//        this.contractQQ2 = contractQQ2;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "微信号长度必须介于 0 和 50 之间")
-//    public String getWechat2() {
-//        return wechat2;
-//    }
-//
-//    public void setWechat2(String wechat2) {
-//        this.wechat2 = wechat2;
-//    }
-//
-//    @Length(min = 0, max = 50, message = "联系邮箱长度必须介于 0 和 50 之间")
-//    public String getContractEmail2() {
-//        return contractEmail2;
-//    }
-//
-//    public void setContractEmail2(String contractEmail2) {
-//        this.contractEmail2 = contractEmail2;
-//    }
-//
-//    @Length(min = 0, max = 100, message = "经营范围长度必须介于 0 和 100 之间")
-//    public String getScope() {
-//        return scope;
-//    }
-//
-//    public void setScope(String scope) {
-//        this.scope = scope;
-//    }
-
     @Length(min = 0, max = 500, message = "公司简介长度必须介于 0 和 500 之间")
     @Length(min = 0, max = 500, message = "公司简介长度必须介于 0 和 500 之间")
     public String getInfo() {
     public String getInfo() {
         return info;
         return info;
     }
     }
-
     public void setInfo(String info) {
     public void setInfo(String info) {
         this.info = info;
         this.info = info;
     }
     }
-
-//    public Double getLng() {
-//        return lng;
-//    }
-//
-//    public void setLng(Double lng) {
-//        this.lng = lng;
-//    }
-//
-//    public Double getLat() {
-//        return lat;
-//    }
-//
-//    public void setLat(Double lat) {
-//        this.lat = lat;
-//    }
-
     public String getAddTime() {
     public String getAddTime() {
         return addTime;
         return addTime;
     }
     }
-
     public void setAddTime(String addTime) {
     public void setAddTime(String addTime) {
         this.addTime = addTime;
         this.addTime = addTime;
     }
     }
-
-//    public Integer getFavoriteTimes() {
-//        return favoriteTimes;
-//    }
-//
-//    public void setFavoriteTimes(Integer favoriteTimes) {
-//        this.favoriteTimes = favoriteTimes;
-//    }
-//
-//    @Length(min = 0, max = 1, message = "支付长度必须介于 0 和 1 之间")
-//    public String getPayFlag1() {
-//        return payFlag1;
-//    }
-//
-//    public void setPayFlag1(String payFlag1) {
-//        this.payFlag1 = payFlag1;
-//    }
-
     @Length(min = 0, max = 19, message = "审核时间长度必须介于 0 和 19 之间")
     @Length(min = 0, max = 19, message = "审核时间长度必须介于 0 和 19 之间")
     public String getAuditTime() {
     public String getAuditTime() {
         return auditTime;
         return auditTime;
@@ -616,25 +367,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setStatus(Integer status) {
     public void setStatus(Integer status) {
         this.status = status;
         this.status = status;
     }
     }
-
-//    @Length(min = 0, max = 1, message = "集团会所邀请状态长度必须介于 0 和 1 之间")
-//    public String getClubInvitationStatus() {
-//        return clubInvitationStatus;
-//    }
-//
-//    public void setClubInvitationStatus(String clubInvitationStatus) {
-//        this.clubInvitationStatus = clubInvitationStatus;
-//    }
-//
-//    @Length(min = 0, max = 100, message = "收货地址长度必须介于 0 和 100 之间")
-//    public String getRecAddress() {
-//        return recAddress;
-//    }
-//
-//    public void setRecAddress(String recAddress) {
-//        this.recAddress = recAddress;
-//    }
-
     @Length(min = 0, max = 200, message = "营业执照长度必须介于 0 和 200 之间")
     @Length(min = 0, max = 200, message = "营业执照长度必须介于 0 和 200 之间")
     public String getBusinessLicenseImage() {
     public String getBusinessLicenseImage() {
         return businessLicenseImage;
         return businessLicenseImage;
@@ -643,23 +375,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setBusinessLicenseImage(String businessLicenseImage) {
     public void setBusinessLicenseImage(String businessLicenseImage) {
         this.businessLicenseImage = businessLicenseImage;
         this.businessLicenseImage = businessLicenseImage;
     }
     }
-
-//    public Integer getSortIndex() {
-//        return sortIndex;
-//    }
-//
-//    public void setSortIndex(Integer sortIndex) {
-//        this.sortIndex = sortIndex;
-//    }
-//
-//    public Integer getRecTownID() {
-//        return recTownID;
-//    }
-//
-//    public void setRecTownID(Integer recTownID) {
-//        this.recTownID = recTownID;
-//    }
-
     public Integer getDefaultServiceProviderID() {
     public Integer getDefaultServiceProviderID() {
         return defaultServiceProviderID;
         return defaultServiceProviderID;
     }
     }
@@ -667,7 +382,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setDefaultServiceProviderID(Integer defaultServiceProviderID) {
     public void setDefaultServiceProviderID(Integer defaultServiceProviderID) {
         this.defaultServiceProviderID = defaultServiceProviderID;
         this.defaultServiceProviderID = defaultServiceProviderID;
     }
     }
-
     @Length(min = 0, max = 19, message = "创客更新时间长度必须介于 0 和 19 之间")
     @Length(min = 0, max = 19, message = "创客更新时间长度必须介于 0 和 19 之间")
     public String getDefaultServiceProviderUpdTime() {
     public String getDefaultServiceProviderUpdTime() {
         return defaultServiceProviderUpdTime;
         return defaultServiceProviderUpdTime;
@@ -676,51 +390,13 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setDefaultServiceProviderUpdTime(String defaultServiceProviderUpdTime) {
     public void setDefaultServiceProviderUpdTime(String defaultServiceProviderUpdTime) {
         this.defaultServiceProviderUpdTime = defaultServiceProviderUpdTime;
         this.defaultServiceProviderUpdTime = defaultServiceProviderUpdTime;
     }
     }
-
-//    @Length(min = 0, max = 1, message = "第一次服务标志长度必须介于 0 和 1 之间")
-//    public String getFirstServiceProviderFlag() {
-//        return firstServiceProviderFlag;
-//    }
-//
-//    public void setFirstServiceProviderFlag(String firstServiceProviderFlag) {
-//        this.firstServiceProviderFlag = firstServiceProviderFlag;
-//    }
-
-//    @Length(min = 0, max = 20, message = "规模长度必须介于 0 和 20 之间")
-//    public String getScale() {
-//        return scale;
-//    }
-//
-//    public void setScale(String scale) {
-//        this.scale = scale;
-//    }
-//
-//    public Integer getEmpnum() {
-//        return empnum;
-//    }
-//
-//    public void setEmpnum(Integer empnum) {
-//        this.empnum = empnum;
-//    }
-
     @Length(min = 0, max = 200, message = "主打项目长度必须介于 0 和 200 之间")
     @Length(min = 0, max = 200, message = "主打项目长度必须介于 0 和 200 之间")
     public String getMainpro() {
     public String getMainpro() {
         return mainpro;
         return mainpro;
     }
     }
-
     public void setMainpro(String mainpro) {
     public void setMainpro(String mainpro) {
         this.mainpro = mainpro;
         this.mainpro = mainpro;
     }
     }
-
-//    @Length(min = 0, max = 500, message = "备注长度必须介于 0 和 500 之间")
-//    public String getRemark() {
-//        return remark;
-//    }
-//
-//    public void setRemark(String remark) {
-//        this.remark = remark;
-//    }
-
     @Length(min = 1, max = 2, message = "扫描状态 0待扫描 1 已扫描 2已上线长度必须介于 1 和 2 之间")
     @Length(min = 1, max = 2, message = "扫描状态 0待扫描 1 已扫描 2已上线长度必须介于 1 和 2 之间")
     public String getScanFlag() {
     public String getScanFlag() {
         return scanFlag;
         return scanFlag;
@@ -779,15 +455,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setUserName(String userName) {
     public void setUserName(String userName) {
         this.userName = userName;
         this.userName = userName;
     }
     }
-
-//    public Integer getUserLevelID() {
-//        return userLevelID;
-//    }
-//
-//    public void setUserLevelID(Integer userLevelID) {
-//        this.userLevelID = userLevelID;
-//    }
-
     public Date getRegisterTime() {
     public Date getRegisterTime() {
         return registerTime;
         return registerTime;
     }
     }
@@ -795,15 +462,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setRegisterTime(Date registerTime) {
     public void setRegisterTime(Date registerTime) {
         this.registerTime = registerTime;
         this.registerTime = registerTime;
     }
     }
-
-//    public String getSmsFlag() {
-//        return smsFlag;
-//    }
-//
-//    public void setSmsFlag(String smsFlag) {
-//        this.smsFlag = smsFlag;
-//    }
-
     public String getUserScanFlag() {
     public String getUserScanFlag() {
         return userScanFlag;
         return userScanFlag;
     }
     }
@@ -933,15 +591,6 @@ public class NewCmClub extends DataEntity<NewCmClub> {
     public void setRegisterIP(String registerIP) {
     public void setRegisterIP(String registerIP) {
         this.registerIP = registerIP;
         this.registerIP = registerIP;
     }
     }
-
-    public String getUserPermission() {
-        return userPermission;
-    }
-
-    public void setUserPermission(String userPermission) {
-        this.userPermission = userPermission;
-    }
-
     public String getSearchName() {
     public String getSearchName() {
         return searchName;
         return searchName;
     }
     }

+ 39 - 1
src/main/java/com/caimei/modules/user/entity/NewCmSp.java

@@ -5,6 +5,7 @@ import org.hibernate.validator.constraints.Length;
 
 
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
 import java.beans.Transient;
 import java.beans.Transient;
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -31,6 +32,11 @@ public class NewCmSp extends DataEntity<NewCmSp> {
 	private String addTime;		// 创建时间
 	private String addTime;		// 创建时间
 	private Integer mainServiceProviderID;		// 创客经理Id
 	private Integer mainServiceProviderID;		// 创客经理Id
 	private List<CmSaleMan> teams;  //小组组长列表
 	private List<CmSaleMan> teams;  //小组组长列表
+	//活跃比例
+	private Integer livelyClub;
+	private Integer nolivelyClub;
+	private BigDecimal livelyClubProportion;
+	private BigDecimal nolivelyClubProportion;
 //	private String nameEn;		// 英文名
 //	private String nameEn;		// 英文名
 //	private String site;		// 网址
 //	private String site;		// 网址
 //	private String logo;		// 头像
 //	private String logo;		// 头像
@@ -96,6 +102,38 @@ public class NewCmSp extends DataEntity<NewCmSp> {
 		return teams;
 		return teams;
 	}
 	}
 
 
+	public Integer getLivelyClub() {
+		return livelyClub;
+	}
+
+	public void setLivelyClub(Integer livelyClub) {
+		this.livelyClub = livelyClub;
+	}
+
+	public Integer getNolivelyClub() {
+		return nolivelyClub;
+	}
+
+	public void setNolivelyClub(Integer nolivelyClub) {
+		this.nolivelyClub = nolivelyClub;
+	}
+
+	public BigDecimal getLivelyClubProportion() {
+		return livelyClubProportion;
+	}
+
+	public void setLivelyClubProportion(BigDecimal livelyClubProportion) {
+		this.livelyClubProportion = livelyClubProportion;
+	}
+
+	public BigDecimal getNolivelyClubProportion() {
+		return nolivelyClubProportion;
+	}
+
+	public void setNolivelyClubProportion(BigDecimal nolivelyClubProportion) {
+		this.nolivelyClubProportion = nolivelyClubProportion;
+	}
+
 	public void setTeams(List<CmSaleMan> teams) {
 	public void setTeams(List<CmSaleMan> teams) {
 		this.teams = teams;
 		this.teams = teams;
 	}
 	}
@@ -635,4 +673,4 @@ public class NewCmSp extends DataEntity<NewCmSp> {
 	public void setContractMobile(String contractMobile) {
 	public void setContractMobile(String contractMobile) {
 		this.contractMobile = contractMobile;
 		this.contractMobile = contractMobile;
 	}
 	}
-}
+}

+ 0 - 10
src/main/java/com/caimei/modules/user/service/ClubTemporaryService.java

@@ -86,8 +86,6 @@ public class ClubTemporaryService extends CrudService<ClubTemporaryDao, ClubTemp
             user.setUserName(clubTemporary.getLinkMan());
             user.setUserName(clubTemporary.getLinkMan());
             // 绑定手机号
             // 绑定手机号
             user.setBindMobile(clubTemporary.getBindMobile());
             user.setBindMobile(clubTemporary.getBindMobile());
-            // 设置已确认(客服确认机构)
-            user.setClubStatus("93");
             // 默认密码
             // 默认密码
             user.setPassword("12345678");
             user.setPassword("12345678");
             // 同意协议
             // 同意协议
@@ -104,8 +102,6 @@ public class ClubTemporaryService extends CrudService<ClubTemporaryDao, ClubTemp
                 user.setRegisterUserTypeID("3");
                 user.setRegisterUserTypeID("3");
                 // 用户身份: 1协销 2会员机构 3供应商 4普通机构
                 // 用户身份: 1协销 2会员机构 3供应商 4普通机构
                 user.setUserIdentity(2);
                 user.setUserIdentity(2);
-                // 用户权限: 2会员机构 3供应商 4协销 5普通机构
-                user.setUserPermission(2);
                 // 组织名称
                 // 组织名称
                 user.setName(clubTemporary.getName());
                 user.setName(clubTemporary.getName());
                 // 邮箱
                 // 邮箱
@@ -121,8 +117,6 @@ public class ClubTemporaryService extends CrudService<ClubTemporaryDao, ClubTemp
                 user.setRegisterUserTypeID("4");
                 user.setRegisterUserTypeID("4");
                 // 用户身份: 1协销 2会员机构 3供应商 4普通机构
                 // 用户身份: 1协销 2会员机构 3供应商 4普通机构
                 user.setUserIdentity(4);
                 user.setUserIdentity(4);
-                // 用户权限: 2会员机构 3供应商 4协销 5普通机构
-                user.setUserPermission(5);
                 // 是否已经引导过(机构升级:0否,1是)
                 // 是否已经引导过(机构升级:0否,1是)
                 user.setGuideFlag("0");
                 user.setGuideFlag("0");
             }
             }
@@ -191,10 +185,6 @@ public class ClubTemporaryService extends CrudService<ClubTemporaryDao, ClubTemp
             cmUserDao.update(user);
             cmUserDao.update(user);
             clubTemporary.setConfirmUserId(user.getUserID());
             clubTemporary.setConfirmUserId(user.getUserID());
             clubTemporaryDao.update(clubTemporary);
             clubTemporaryDao.update(clubTemporary);
-        } else {
-            //客服二次确认注册
-            cmUserDao.updateByClubStatus(93, clubTemporary.getConfirmUserId());
-            newCmClubDao.updateByStatus(93, clubTemporary.getConfirmUserId());
         }
         }
         User user = UserUtils.getUser();
         User user = UserUtils.getUser();
         ClubConfirmRecord confirmRecord = new ClubConfirmRecord();
         ClubConfirmRecord confirmRecord = new ClubConfirmRecord();

+ 4 - 0
src/main/java/com/caimei/modules/user/service/CmSpService.java

@@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * 用户模块重构-协销人员管理Service
  * 用户模块重构-协销人员管理Service
@@ -40,6 +41,9 @@ public class CmSpService extends CrudService<CmSpDao, NewCmSp> {
     public Page<NewCmSp> findPage(Page<NewCmSp> page, NewCmSp newCmSp) {
     public Page<NewCmSp> findPage(Page<NewCmSp> page, NewCmSp newCmSp) {
         return super.findPage(page, newCmSp);
         return super.findPage(page, newCmSp);
     }
     }
+    public Map<String, Object> findSpUserLoginSum(String spID) {
+        return cmSpDao.findSpUserLoginSum(spID);
+    }
 
 
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
     public void update(NewCmSp newCmSp) {
     public void update(NewCmSp newCmSp) {

+ 0 - 26
src/main/java/com/caimei/modules/user/service/CmUserService.java

@@ -69,9 +69,7 @@ public class CmUserService extends CrudService<CmUserDao, CmUser> {
     public void unBindClub(CmUser cmUser) {
     public void unBindClub(CmUser cmUser) {
         cmUser.setName(null);//置空组织名称
         cmUser.setName(null);//置空组织名称
         cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode());
         cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode());
-        cmUser.setUserPermission(UserPermission.NORMAL.getCode());//用户权限改成普通人
         cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工
         cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工
-        cmUser.setClubStatus(null);
         cmUser.setClubID(null);
         cmUser.setClubID(null);
         cmUserDao.update(cmUser);
         cmUserDao.update(cmUser);
     }
     }
@@ -80,7 +78,6 @@ public class CmUserService extends CrudService<CmUserDao, CmUser> {
     public void unBindShop(CmUser cmUser) {
     public void unBindShop(CmUser cmUser) {
         cmUser.setName(null);//置空组织名称
         cmUser.setName(null);//置空组织名称
         cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode());
         cmUser.setUserIdentity(UserIdentity.NORMAL_USER.getCode());
-        cmUser.setUserPermission(UserPermission.NORMAL.getCode());//用户权限改成普通人
         cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工
         cmUser.setRegisterUserTypeID(UserType.VISITOR.getCode() + "");//设为游离员工
         cmUser.setManufacturerStatus(null);
         cmUser.setManufacturerStatus(null);
         cmUser.setShopID(null);
         cmUser.setShopID(null);
@@ -97,34 +94,11 @@ public class CmUserService extends CrudService<CmUserDao, CmUser> {
         return cmUserDao.findByCompanyUserID(companyUserID);
         return cmUserDao.findByCompanyUserID(companyUserID);
     }
     }
 
 
-    /**
-     * 通过企业用户ID 更新员工状态
-     *
-     * @param clubStatus
-     * @param manufacturerStatus
-     * @param companyUserID
-     */
-    @Transactional(readOnly = false)
-    public void updateEmployeeStatus(Integer userPermission, String clubStatus, String manufacturerStatus, String tipStatus, Integer companyUserID) {
-        cmUserDao.updateEmployeeStatus(userPermission, clubStatus, manufacturerStatus, tipStatus, companyUserID);
-    }
-
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
     public void updateUserStatus(String manufacturerStatus, Integer userID, String validFlag) {
     public void updateUserStatus(String manufacturerStatus, Integer userID, String validFlag) {
         cmUserDao.updateUserStatus(manufacturerStatus, userID, validFlag);
         cmUserDao.updateUserStatus(manufacturerStatus, userID, validFlag);
     }
     }
 
 
-    /**
-     * 通过企业用户ID 更新员工权限
-     *
-     * @param companyUserID
-     */
-    @Transactional(readOnly = false)
-    public void updateEmployeePermission(Integer userPermission, Integer companyUserID) {
-        cmUserDao.updateEmployeePermission(userPermission, companyUserID);
-    }
-
-
     /**
     /**
      * 根据手机号码查询用户
      * 根据手机号码查询用户
      *
      *

+ 6 - 0
src/main/java/com/caimei/modules/user/service/NewCmClubService.java

@@ -60,6 +60,12 @@ public class NewCmClubService extends CrudService<NewCmClubDao, NewCmClub> {
     public Page<NewCmClub> findPage(Page<NewCmClub> page, NewCmClub userClub) {
     public Page<NewCmClub> findPage(Page<NewCmClub> page, NewCmClub userClub) {
         return super.findPage(page, userClub);
         return super.findPage(page, userClub);
     }
     }
+    public Page<NewCmClub> findProviderList(Page<NewCmClub> page,NewCmClub userClub) {
+        userClub.setPage(page);
+        List<NewCmClub> providerList = newCmClubDao.findProviderList(userClub);
+        page.setList(providerList);
+        return page;
+    }
 
 
     @Transactional(readOnly = false)
     @Transactional(readOnly = false)
     public void save(NewCmClub userClub) {
     public void save(NewCmClub userClub) {

+ 2 - 2
src/main/java/com/caimei/modules/user/utils/UserUtils.java

@@ -29,7 +29,7 @@ public class UserUtils {
     public static Integer userPermission(CmUser user) {
     public static Integer userPermission(CmUser user) {
         //用户冻结 未审核 未通过 未缴纳 游客权限
         //用户冻结 未审核 未通过 未缴纳 游客权限
         if (user == null || "0".equals(user.getValidFlag()) ||
         if (user == null || "0".equals(user.getValidFlag()) ||
-                (UserType.CLUB.getCode() == Integer.valueOf(user.getRegisterUserTypeID()) && !ClubStatus.isOnline(user.getClubStatus()))
+                (UserType.CLUB.getCode() == Integer.valueOf(user.getRegisterUserTypeID()))
                 || (UserType.SHOP.getCode() == Integer.valueOf(user.getRegisterUserTypeID()) && !ShopStatus.isOnline(user.getManufacturerStatus()))) {
                 || (UserType.SHOP.getCode() == Integer.valueOf(user.getRegisterUserTypeID()) && !ShopStatus.isOnline(user.getManufacturerStatus()))) {
             return 0;
             return 0;
         }
         }
@@ -39,7 +39,7 @@ public class UserUtils {
         } else if (UserIdentity.isClub(user.getUserIdentity())) {
         } else if (UserIdentity.isClub(user.getUserIdentity())) {
             //会所用户
             //会所用户
             //如果是会所员工 但是会所未上线 普通用户权限
             //如果是会所员工 但是会所未上线 普通用户权限
-            if (UserType.isClubEmployee(user.getRegisterUserTypeID()) && !ClubStatus.isOnline(user.getClubStatus())) {
+            if (UserType.isClubEmployee(user.getRegisterUserTypeID())) {
                 return 1;
                 return 1;
             }
             }
             //如果是申请成为会所员工 会所还未审核通过 普通用户权限
             //如果是申请成为会所员工 会所还未审核通过 普通用户权限

+ 2 - 5
src/main/java/com/caimei/modules/user/web/CmSpController.java

@@ -250,7 +250,6 @@ public class CmSpController extends BaseController {
         cmUser.setRegisterTime(DateUtils.getDateTime());
         cmUser.setRegisterTime(DateUtils.getDateTime());
         cmUser.setValidFlag(AppKeys.FLAG_NO); // 默认为冻结状态 需要审核
         cmUser.setValidFlag(AppKeys.FLAG_NO); // 默认为冻结状态 需要审核
         cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
         cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
-        cmUser.setUserPermission(1);
         cmUser.setRealName(linkMan);
         cmUser.setRealName(linkMan);
         cmUser.setUserName(linkMan);
         cmUser.setUserName(linkMan);
         cmUser.setName(linkMan);
         cmUser.setName(linkMan);
@@ -307,7 +306,6 @@ public class CmSpController extends BaseController {
             cmUser.setAuditStatus(AppKeys.FLAG_YES);
             cmUser.setAuditStatus(AppKeys.FLAG_YES);
             cmUser.setValidFlag(AppKeys.FLAG_YES);
             cmUser.setValidFlag(AppKeys.FLAG_YES);
             cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
             cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
-            cmUser.setUserPermission(4);
             map.put("msg", "审核已经通过");
             map.put("msg", "审核已经通过");
         } else {
         } else {
             // 审核不通过
             // 审核不通过
@@ -410,9 +408,9 @@ public class CmSpController extends BaseController {
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             return "redirect:" + Global.getAdminPath() + "/user/cmSp/?repage";
             return "redirect:" + Global.getAdminPath() + "/user/cmSp/?repage";
         } else {
         } else {
-            cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
+            //解除冻结
+            cmUser.setValidFlag(AppKeys.FLAG_YES);
             cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
             cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
-            cmUser.setUserPermission(4);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         }
         }
         newCmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
         newCmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
@@ -439,7 +437,6 @@ public class CmSpController extends BaseController {
         } else {
         } else {
             cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结
             cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结
             cmUser.setServiceProviderStatus(ServiceProviderStatus.FREEZE.getCode() + "");
             cmUser.setServiceProviderStatus(ServiceProviderStatus.FREEZE.getCode() + "");
-            cmUser.setUserPermission(1);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         }
         }
         newCmSp.setStatus(ServiceProviderStatus.FREEZE.getCode());
         newCmSp.setStatus(ServiceProviderStatus.FREEZE.getCode());

+ 0 - 8
src/main/java/com/caimei/modules/user/web/CmUserOrganizeController.java

@@ -184,7 +184,6 @@ public class CmUserOrganizeController extends BaseController {
 
 
     @RequestMapping(value = "onLine")
     @RequestMapping(value = "onLine")
     public String onLine(CmUser cmUser, Page page, Model model) {
     public String onLine(CmUser cmUser, Page page, Model model) {
-        cmUser.setClubStatus("90");
         cmUserService.update(cmUser);//更新用户表数据
         cmUserService.update(cmUser);//更新用户表数据
         NewCmClub newCmClub = new NewCmClub();
         NewCmClub newCmClub = new NewCmClub();
         newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
         newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
@@ -193,7 +192,6 @@ public class CmUserOrganizeController extends BaseController {
         newCmClubService.update(newCmClub);//更新会所表数据
         newCmClubService.update(newCmClub);//更新会所表数据
 
 
         //跳转列表页面
         //跳转列表页面
-        cmUser.setClubStatus("");
         if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
         if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
         cmUser.setPage(page);
         cmUser.setPage(page);
         List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
         List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
@@ -205,7 +203,6 @@ public class CmUserOrganizeController extends BaseController {
 
 
     @RequestMapping(value = "offLine")
     @RequestMapping(value = "offLine")
     public String offLine(CmUser cmUser, Page page, Model model) {
     public String offLine(CmUser cmUser, Page page, Model model) {
-        cmUser.setClubStatus("91");
         cmUserService.update(cmUser);//更新用户表数据
         cmUserService.update(cmUser);//更新用户表数据
         NewCmClub newCmClub = new NewCmClub();
         NewCmClub newCmClub = new NewCmClub();
         newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
         newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
@@ -214,7 +211,6 @@ public class CmUserOrganizeController extends BaseController {
         newCmClubService.update(newCmClub);//更新会所表数据
         newCmClubService.update(newCmClub);//更新会所表数据
 
 
         //跳转列表页面
         //跳转列表页面
-        cmUser.setClubStatus("");
         if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
         if (0 == page.getPageSize() || -1 == page.getPageSize()) page.setPageSize(30);
         cmUser.setPage(page);
         cmUser.setPage(page);
         List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
         List<CmUser> cmUserList = cmUserDao.findListBuyUserInfo(cmUser);
@@ -288,7 +284,6 @@ public class CmUserOrganizeController extends BaseController {
         cmUser.setName(newCmClub.getName());
         cmUser.setName(newCmClub.getName());
         cmUser.setUserName(newCmClub.getName());
         cmUser.setUserName(newCmClub.getName());
         cmUser.setRealName(newCmClub.getName());
         cmUser.setRealName(newCmClub.getName());
-        cmUser.setClubStatus(String.valueOf(newCmClub.getStatus()));
         //添加用户新增信息
         //添加用户新增信息
         if (null == userID) {//新增
         if (null == userID) {//新增
             cmUser = initUser(cmUser, newCmClub);
             cmUser = initUser(cmUser, newCmClub);
@@ -385,9 +380,6 @@ public class CmUserOrganizeController extends BaseController {
         cmUser.setUserBeans(0);
         cmUser.setUserBeans(0);
         cmUser.setValidFlag("1");
         cmUser.setValidFlag("1");
         cmUser.setAgreeFlag("1");
         cmUser.setAgreeFlag("1");
-        cmUser.setLoginFailTime("0");
-        cmUser.setScanFlag("2");
-        cmUser.setUserPermission(2);
         return cmUser;
         return cmUser;
     }
     }
 
 

+ 4 - 282
src/main/java/com/caimei/modules/user/web/NewCmClubController.java

@@ -1,7 +1,6 @@
 package com.caimei.modules.user.web;
 package com.caimei.modules.user.web;
 
 
 import com.caimei.constants.ClubStatus;
 import com.caimei.constants.ClubStatus;
-import com.caimei.modules.sys.utils.CmMsgUtils;
 import com.caimei.modules.sys.utils.SMSUtils;
 import com.caimei.modules.sys.utils.SMSUtils;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.service.*;
 import com.caimei.modules.user.service.*;
@@ -31,7 +30,6 @@ import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
-import java.util.Random;
 
 
 /**
 /**
  * 用户模块重构--会所管理Controller
  * 用户模块重构--会所管理Controller
@@ -54,8 +52,6 @@ public class NewCmClubController extends BaseController {
     @Resource
     @Resource
     private CmMessageService cmMessageService;
     private CmMessageService cmMessageService;
     @Resource
     @Resource
-    private CmUserbeanshistoryService cmUserbeanshistoryService;
-    @Resource
     private ClubChangeSpReviewService clubChangeSpReviewService;
     private ClubChangeSpReviewService clubChangeSpReviewService;
     @Resource
     @Resource
     private CmSpService cmSpService;
     private CmSpService cmSpService;
@@ -114,12 +110,8 @@ public class NewCmClubController extends BaseController {
             logger.info(spID + "-======-" + clubID);
             logger.info(spID + "-======-" + clubID);
             if (StringUtils.isNotBlank(spID) && StringUtils.isNotBlank(clubID)) {
             if (StringUtils.isNotBlank(spID) && StringUtils.isNotBlank(clubID)) {
                 //不是直接更换 只是添加一条记录
                 //不是直接更换 只是添加一条记录
-//                Integer spId = Integer.parseInt(spID);
                 NewCmClub newCmClub = newCmClubService.get(clubID);
                 NewCmClub newCmClub = newCmClubService.get(clubID);
-//                newCmClub.setSpID(spId);
                 NewCmSp newCmSp = cmSpService.get(spID);
                 NewCmSp newCmSp = cmSpService.get(spID);
-//                newCmClub.setMainServiceProviderID(newCmSp.getMainServiceProviderID());
-//                newCmClubService.update(newCmClub);
                 ClubChangeSp clubChangeSp = new ClubChangeSp();
                 ClubChangeSp clubChangeSp = new ClubChangeSp();
                 clubChangeSp.setClubID(newCmClub.getClubID());
                 clubChangeSp.setClubID(newCmClub.getClubID());
                 if (null != newCmClub.getSpID()) {
                 if (null != newCmClub.getSpID()) {
@@ -232,7 +224,6 @@ public class NewCmClubController extends BaseController {
             cmClubinfo = cmClubinfos.get(0);
             cmClubinfo = cmClubinfos.get(0);
         }
         }
         cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId()));
         cmClubinfo.setClubID(Integer.parseInt(newCmClub.getId()));
-//		cmClubinfo.setGclubID(newCmClub.getGclubID());
         cmClubinfo.setUserID(newCmClub.getUserID());
         cmClubinfo.setUserID(newCmClub.getUserID());
         model.addAttribute("cmClubinfo", cmClubinfo);
         model.addAttribute("cmClubinfo", cmClubinfo);
         String wwwServer = Global.getConfig("wwwServer");
         String wwwServer = Global.getConfig("wwwServer");
@@ -263,193 +254,6 @@ public class NewCmClubController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
         return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
     }
     }
 
 
-    /**
-     * 会所审核
-     *
-     * @param auditStatus
-     * @param auditNote
-     * @param id
-     * @param request
-     * @param response
-     * @return
-     */
-   /* @RequiresPermissions("user:newCmClub:edit")
-    @ResponseBody
-    @RequestMapping(value = "auditClub")
-    public Map<String, Object> auditClub(String auditStatus, String auditNote, String id, HttpServletRequest request, HttpServletResponse response) {
-        Map<String, Object> map = Maps.newLinkedHashMap();
-        String status = "";
-        String smsMessage = "";
-        String currTime = DateUtils.getDateTime();
-        Integer userPermission;
-        try {
-            NewCmClub newCmClub = newCmClubService.get(id);
-            Integer companyUserID = newCmClub.getUserID();
-            CmUser companyUser = cmUserService.get(companyUserID + "");
-            String mobile = companyUser.getBindMobile();
-
-            boolean upByUser = false;
-            CmUser userByMobile = cmUserService.findUserByMobile(mobile);
-            if (userByMobile != null && "33".equals(userByMobile.getRegisterUserTypeID()))
-                // 说明这个会所是通过 个人用户升级而来
-                upByUser = true;
-
-            //会所审核 --
-            // 1、直接注册成为企业会所
-            // 2、个人用户升级成为企业会所
-            //获取企业会所下级用户
-            List<CmUser> cmUsers = cmUserService.findByCompanyUserID(companyUserID);
-            *//**审核处理*//*
-            //审核通过
-            if (StringUtils.equals("1", auditStatus)) {
-                userPermission = 2;
-                status = "90";
-                auditStatus = "1";
-                // 如果该会所有邀请者,并且邀请者是已上线的服务商,则将该服务商设置为该会所的定点服务商
-                //设置协销
-                if (StringUtils.isNotBlank(companyUser.getFromUserID())) {
-                    CmUser fromUser = cmUserService.get(companyUser.getFromUserID() + "");
-                    //协销已上线
-                    if (null != fromUser && fromUser.getRegisterUserTypeID().equals("2") && StringUtils.isNotBlank(fromUser.getServiceProviderID()) && fromUser.getServiceProviderStatus().equals("90")) {
-                        // 获取协销经理ID
-                        NewCmSp newCmSp = cmSpService.get(fromUser.getServiceProviderID());
-                        newCmClub.setDefaultServiceProviderID(Integer.parseInt(fromUser.getServiceProviderID()));
-                        newCmClub.setSpID(Integer.parseInt(fromUser.getServiceProviderID()));
-                        newCmClub.setMainServiceProviderID(newCmSp.getMainServiceProviderID());
-                        newCmClub.setDefaultServiceProviderUpdTime(DateUtils.getDateTime());
-                        newCmClub.setFirstServiceProviderFlag("1");
-                    }
-                }
-                companyUser.setUserPermission(userPermission);
-                //审核通过 采美豆+5000
-                *//*if (StringUtils.isBlank(companyUser.getUserBeans())) {
-                    companyUser.setUserBeans("5000");
-                } else {
-                    companyUser.setUserBeans(5000 + Integer.parseInt(companyUser.getUserBeans()) + "");
-                }
-                //采美豆历史记录
-                CmUserbeanshistory cmUserbeanshistory = new CmUserbeanshistory();
-                cmUserbeanshistory.setUserBeanHistoryTypeID(UserBeanHistoryType.CHECK_ONLINE.getCode() + "");
-                cmUserbeanshistory.setUserID(companyUser.getUserID());
-                cmUserbeanshistory.setPayBeans("5000");
-                cmUserbeanshistory.setInfo("审核上线赠送");
-                cmUserbeanshistory.setAddTime(DateUtils.getDateTime());
-                cmUserbeanshistoryService.save(cmUserbeanshistory);*//*
-                if (upByUser)
-                    smsMessage = "您申请的企业账号已成功通过资料审核,您现有的账号身份已升级为企业员工身份。";
-                else
-                    smsMessage = "恭喜您成功通过资料审核,您可以使用账号" + companyUser.getEmail() + "(或手机号" + companyUser.getBindMobile() + ")在采美登录您的企业账号,开始愉快的采购之旅。";
-            } else {
-                //审核未通过
-                userPermission = 1;
-                companyUser.setUserPermission(0);
-                status = "92";
-                auditStatus = "2";
-                smsMessage = "很遗憾,您的资料信息有误,未通过审核,请登录采美修改资料信息。";
-            }
-            //会所表修改
-            newCmClub.setStatus(Integer.parseInt(status));
-            newCmClub.setAuditTime(currTime);
-            newCmClub.setAuditNote(auditNote);
-            //企业用户表修改
-            companyUser.setValidFlag(AppKeys.FLAG_YES);//正常
-            companyUser.setClubStatus(status);
-            companyUser.setAuditStatus(auditStatus);//同步到用户表的审核信息中
-            companyUser.setAuditNote(auditNote);
-            companyUser.setAuditTime(currTime);
-            newCmClubService.update(newCmClub);
-            cmUserService.update(companyUser);
-            //直接注册成为企业会所 或 升级成为会所
-            if (CollectionUtils.isNotEmpty(cmUsers)) {
-                //个人用户升级成为企业会所
-                cmUserService.updateEmployeeStatus(userPermission, status, null, null, companyUserID);
-            }
-            // 发送系统消息给对应的userID用户
-            String title = "会所资格认证审核结果";
-            String messageContent = "";
-            if (auditStatus.equals("1")) {
-                messageContent = "恭喜您," + title + "【已通过】,恭喜您成功加入采美,祝您开启愉快的采购之旅。";
-            } else {
-                messageContent = title + "【未通过】,原因:" + auditNote;
-            }
-            *//**发送采美消息*//*
-            sendMessage("1", companyUser.getUserID(), title, messageContent);
-            *//**发送短信*//*
-            if (StringUtils.isNotEmpty(mobile)) {
-                SMSUtils.sendSms(mobile, smsMessage);
-            }
-            map.put("success", true);
-            map.put("msg", "操作成功");
-        } catch (Exception e) {
-            logger.debug(e.toString(), e);
-            map.put("success", false);
-            map.put("msg", "操作失败");
-        }
-        return map;
-    }*/
-
-    /**
-     * 检查微信注册的用户是否需要发送短信 checkAndSendSMS:(这里用一句话描述这个方法的作用). <br/>
-     *
-     * @param status
-     * @throws Exception
-     * @author zcp
-     * @since JDK 1.6
-     */
-    private void checkAndSendSMS(NewCmClub newCmClub, CmUser user, String status, boolean clubFlag) throws Exception {
-//        String scanFlag = user.getScanFlag();
-//        newCmClub.setStatus(Integer.parseInt(status));
-//        newCmClubService.update(newCmClub);
-//        int userBeans = 0;
-//        if (user != null && user.getUserBeans() != null) {
-//            userBeans = new Integer(user.getUserBeans());
-//        }
-//        user.setClubStatus(status);
-//        userBeans += 5000;
-//        if (status.equals("90")) {
-//            user.setClubFlag("1");
-//        }
-        // 如果是会所(不包含会所员工),赠送5000采美豆
-//        if (clubFlag) {
-//            user.setUserBeans(userBeans + "");
-//        }
-//        cmUserService.update(user);
-        // 记录采美豆赠送记录 改密码 发短信
-//        if (clubFlag) {
-//            CmUserbeanshistory cmUserbeanshistory = new CmUserbeanshistory();
-//            cmUserbeanshistory.setUserBeanHistoryTypeID(UserBeanHistoryType.CHECK_ONLINE.getCode() + "");
-//            cmUserbeanshistory.setUserID(user.getUserID());
-//            cmUserbeanshistory.setPayBeans("5000");
-//            cmUserbeanshistory.setInfo("审核上线赠送");
-//            cmUserbeanshistory.setAddTime(DateUtils.getDateTime());
-//            cmUserbeanshistoryService.save(cmUserbeanshistory);
-//        }
-    }
-
-    /**
-     * 处理GClub会所状态同步
-     *
-     * @param status
-     * @throws Exception
-     * @author zcp
-     * @since JDK 1.6
-     */
-    public void updateGClubStatus(CmUser user, String status, NewCmClub newCmClub) throws Exception {
-//		if (!StringUtils.isEmpty(user.getUserID().toString())) {
-//			CmGclub cmGclub = new CmGclub();
-//			cmGclub.setUserID(user.getUserID());
-//			cmGclub.setGclubID(newCmClub.getGclubID());
-//			List<CmGclub> gclubs = cmGclubService.findList(cmGclub);
-//			if (gclubs != null && gclubs.size() > 0) {
-//				CmGclub gclub = gclubs.get(0);
-//				gclub.setClubstatus(status);
-//				gclub.setUserID(user.getUserID());
-//				cmGclubService.update(gclub);
-//				cmGempreferralService.updateStatus(gclub.getGclubID().toString(),status);
-//			}
-//		}
-    }
-
     /**
     /**
      * 发送消息
      * 发送消息
      *
      *
@@ -498,27 +302,13 @@ public class NewCmClubController extends BaseController {
         Integer companyUserID = newCmClub.getUserID();
         Integer companyUserID = newCmClub.getUserID();
         CmUser cmUser = cmUserService.get(companyUserID + "");
         CmUser cmUser = cmUserService.get(companyUserID + "");
         if (null != cmUser) {
         if (null != cmUser) {
-            cmUser.setClubStatus(ClubStatus.ONLINE.getCode() + "");
-            cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
-            cmUser.setUserPermission(2);
-            //更新所有企业员工状态
-            cmUserService.updateEmployeeStatus(null, ClubStatus.ONLINE.getCode() + "", null, "1", companyUserID);
-            //更新所有审核过的企业员工权限
-            cmUserService.updateEmployeePermission(2, companyUserID);
+            //解除冻结
+            cmUser.setValidFlag(AppKeys.FLAG_YES);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         } else {
         } else {
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
             return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
         }
         }
-//fixme zcp GclUb -- club
-//		CmGclub cmGclub = cmGclubService.get(newCmClub.getGclubID()+"");
-//		if(cmGclub!=null){
-//			cmGclub.setClubstatus(ClubStatus.ONLINE.getCode()+"");
-//			cmGclubService.update(cmGclub);
-//		}else {
-//			addMessage(redirectAttributes, "会所上线失败,缺少会所信息");
-//			return "redirect:"+Global.getAdminPath()+"/user/newCmClub/?repage";
-//		}
         newCmClub.setStatus(ClubStatus.ONLINE.getCode());
         newCmClub.setStatus(ClubStatus.ONLINE.getCode());
         newCmClubService.update(newCmClub);
         newCmClubService.update(newCmClub);
         addMessage(redirectAttributes, "会所上线成功");
         addMessage(redirectAttributes, "会所上线成功");
@@ -539,64 +329,19 @@ public class NewCmClubController extends BaseController {
         Integer companyUserID = newCmClub.getUserID();
         Integer companyUserID = newCmClub.getUserID();
         CmUser cmUser = cmUserService.get(companyUserID + "");
         CmUser cmUser = cmUserService.get(companyUserID + "");
         if (null != cmUser) {
         if (null != cmUser) {
-            cmUser.setClubStatus(ClubStatus.FREEZE.getCode() + "");
-            cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结
-            cmUser.setUserPermission(0);
-            //更新所有企业员工状态 设置未提示
-            cmUserService.updateEmployeeStatus(1, ClubStatus.ONLINE.getCode() + "", null, "0", companyUserID);
+            //冻结
+            cmUser.setValidFlag(AppKeys.FLAG_NO);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         } else {
         } else {
             addMessage(redirectAttributes, "下线失败,用户信息异常");
             addMessage(redirectAttributes, "下线失败,用户信息异常");
             return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
             return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
         }
         }
-        //fixme zcp gclub -- club
-//		CmGclub cmGclub = cmGclubService.get(newCmClub.getGclubID()+"");
-//		if(cmGclub!=null){
-//			cmGclub.setClubstatus(ClubStatus.FREEZE.getCode()+"");
-//			cmGclubService.update(cmGclub);
-//		}else {
-//			addMessage(redirectAttributes, "会所下线失败,缺少会所信息");
-//			return "redirect:"+Global.getAdminPath()+"/user/newCmClub/?repage";
-//		}
         newCmClub.setStatus(ClubStatus.FREEZE.getCode());
         newCmClub.setStatus(ClubStatus.FREEZE.getCode());
         newCmClubService.update(newCmClub);
         newCmClubService.update(newCmClub);
         addMessage(redirectAttributes, "会所下线成功");
         addMessage(redirectAttributes, "会所下线成功");
         return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
         return "redirect:" + Global.getAdminPath() + "/user/newCmClub/?repage";
     }
     }
 
 
-    //生成随机数字和字母组合
-    public String getStringRandom(int length) {
-        String val = "";
-        Random random = new Random();
-        //length为几位密码
-        for (int i = 0; i < length; i++) {
-            String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
-            //输出字母还是数字
-            if ("char".equalsIgnoreCase(charOrNum)) {
-                //输出是大写字母还是小写字母
-                int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
-                val += (char) (random.nextInt(26) + temp);
-            } else if ("num".equalsIgnoreCase(charOrNum)) {
-                val += String.valueOf(random.nextInt(10));
-            }
-        }
-        return val;
-    }
-
-    /**
-     * 发送采美信息
-     *
-     * @param messageTypeID
-     * @param toUserID
-     * @param title
-     * @param content
-     * @throws Exception
-     */
-    public void sendMessage(String messageTypeID, Integer toUserID, String title, String content) throws Exception {
-        CmMessage cmMessage = CmMsgUtils.getCmMsg(messageTypeID, toUserID, title, content);
-        cmMessageService.save(cmMessage);
-    }
-
     /**
     /**
      * @param cmClub
      * @param cmClub
      * @param flag               0 设置分类   1 修改分类
      * @param flag               0 设置分类   1 修改分类
@@ -611,26 +356,6 @@ public class NewCmClubController extends BaseController {
         if (cmClub.getClubID() == null) {
         if (cmClub.getClubID() == null) {
             return jsonModel.error("请求参数异常");
             return jsonModel.error("请求参数异常");
         }
         }
-//        if (StringUtils.isEmpty(flagC)) {
-//            return jsonModel.error("请求参数异常");
-//        }
-//        if ("1".equals(flagC)) {
-//            if (StringUtils.isEmpty(cmClub.getFirstClubType()) ||
-//                    StringUtils.isEmpty(cmClub.getSecondClubType()) ||
-//                    StringUtils.isEmpty(cmClub.getMainpro())) {
-//                return jsonModel.error("请求参数异常");
-//            }
-//        }
-//
-//        if ("0".equals(flagC)) {
-//            if (StringUtils.isEmpty(cmClub.getFirstClubType()) ||
-//                    StringUtils.isEmpty(cmClub.getSecondClubType()) ||
-//                    StringUtils.isEmpty(cmClub.getMainpro()) ||
-//            StringUtils.isEmpty(cmClub.getMedicalPracticeLicenseImg()))
-//            {
-//                return jsonModel.error("请求参数异常");
-//            }
-//        }
 
 
         NewCmClub dbClub = newCmClubService.get(cmClub.getClubID().toString());
         NewCmClub dbClub = newCmClubService.get(cmClub.getClubID().toString());
         if ("1".equals(cmClub.getFirstClubType())) {
         if ("1".equals(cmClub.getFirstClubType())) {
@@ -645,9 +370,6 @@ public class NewCmClubController extends BaseController {
         }
         }
         dbClub.setFirstClubType(cmClub.getFirstClubType());
         dbClub.setFirstClubType(cmClub.getFirstClubType());
         dbClub.setMainpro(cmClub.getMainpro());
         dbClub.setMainpro(cmClub.getMainpro());
-
-//        if ("0".equals(flagC))
-//            dbClub.setMedicalPracticeLicenseImg(cmClub.getMedicalPracticeLicenseImg());
         newCmClubService.update(dbClub);
         newCmClubService.update(dbClub);
         addMessage(redirectAttributes, "操作成功");
         addMessage(redirectAttributes, "操作成功");
         return jsonModel.success(Global.getAdminPath() + "/user/newCmClub/?repage");
         return jsonModel.success(Global.getAdminPath() + "/user/newCmClub/?repage");

+ 15 - 109
src/main/java/com/caimei/modules/user/web/NewCmShopController.java

@@ -410,19 +410,23 @@ public class NewCmShopController extends BaseController {
         Page<CmOperationUser> page = cmOperationUserService.findPage(new Page<CmOperationUser>(request, response), cmOperationUser);
         Page<CmOperationUser> page = cmOperationUserService.findPage(new Page<CmOperationUser>(request, response), cmOperationUser);
         if (null != page) {
         if (null != page) {
             List<CmOperationUser> list = page.getList();
             List<CmOperationUser> list = page.getList();
-            for (CmOperationUser user : list) {//判断邀请码是否有效
-                String status = user.getStatus();//1未绑定,2已绑定
+            for (CmOperationUser user : list) {
+                //判断邀请码是否有效//1未绑定,2已绑定
+                String status = user.getStatus();
                 if (StringUtils.equals("2", status)) {
                 if (StringUtils.equals("2", status)) {
-                    user.setEffectiveFlag("2");//邀请码是否有效 1有效,2已使用,3已失效
+                    //邀请码是否有效 1有效,2已使用,3已失效
+                    user.setEffectiveFlag("2");
                 } else {
                 } else {
                     Date invitationCodeTime = user.getInvitationCodeTime();
                     Date invitationCodeTime = user.getInvitationCodeTime();
                     if (null != invitationCodeTime) {
                     if (null != invitationCodeTime) {
                         Calendar calendar = new GregorianCalendar();
                         Calendar calendar = new GregorianCalendar();
                         calendar.setTime(invitationCodeTime);
                         calendar.setTime(invitationCodeTime);
-                        calendar.add(Calendar.DATE, 3);// num为增加的天数,可以改变的
+                        // num为增加的天数,可以改变的
+                        calendar.add(Calendar.DATE, 3);
                         invitationCodeTime = calendar.getTime();
                         invitationCodeTime = calendar.getTime();
                         boolean before = invitationCodeTime.before(new Date());
                         boolean before = invitationCodeTime.before(new Date());
-                        if (before) {//如果验证码时间加上168小时小于当前时间则已过期
+                        if (before) {
+                            //如果验证码时间加上168小时小于当前时间则已过期
                             user.setEffectiveFlag("3");
                             user.setEffectiveFlag("3");
                         } else {
                         } else {
                             user.setEffectiveFlag("1");
                             user.setEffectiveFlag("1");
@@ -431,103 +435,12 @@ public class NewCmShopController extends BaseController {
                 }
                 }
             }
             }
         }
         }
-        model.addAttribute("cmOperationUser", cmOperationUser);//把用户ID等参数带入
+        //把用户ID等参数带入
+        model.addAttribute("cmOperationUser", cmOperationUser);
         model.addAttribute("page", page);
         model.addAttribute("page", page);
         return "modules/userNew/cmShopOperation";
         return "modules/userNew/cmShopOperation";
     }
     }
 
 
-//    /**
-//     * 供应商审核
-//     *
-//     * @param auditStatus
-//     * @param auditNote
-//     * @param id
-//     * @param request
-//     * @param response
-//     * @return
-//     */
-//    @RequiresPermissions("user:newCmShop:edit")
-//    @ResponseBody
-//    @RequestMapping(value = "auditShop")
-//    public Map<String, Object> auditShop(String auditStatus, String auditNote, String id, HttpServletRequest request, HttpServletResponse response) {
-//        Map<String, Object> map = Maps.newLinkedHashMap();
-//        Integer status;
-//        String smsMessage = "";
-//        String currTime = DateUtils.getDateTime();
-//        Integer userPermission;
-//        try {
-//            NewCmShop newCmShop = newCmShopService.get(id);
-//            Integer companyUserID = newCmShop.getUserID();
-//            CmUser companyUser = cmUserService.get(companyUserID + "");
-//            //供应商审核 --
-//            // 1、直接注册成为企业供应商
-//            // 2、个人用户升级成为企业供应商
-//            //获取企业供应商下级用户
-//            List<CmUser> cmUsers = cmUserService.findByCompanyUserID(companyUserID);
-//            status = newCmShop.getStatus();//当前供应商的状态
-//            // 发送系统消息给对应的userID用户
-//            String title = "供应商资格认证审核结果";
-//            String messageContent = "";
-//            /**审核处理*/
-//            //审核通过
-//            if (StringUtils.equals("1", auditStatus)) {
-//                auditStatus = "1";
-//                userPermission = 3;
-//                companyUser.setUserPermission(userPermission);
-//                if (ShopStatus.WAIT_CHECK_DATA.getCode() == status || ShopStatus.CHECK_DATA_FAIL.getCode() == status) {
-//                    //客服审核  生成交易信息,用于财务交易管理审核
-//                    status = ShopStatus.WAIT_CASH_DEPOSIT.getCode();//待缴纳保证金
-//                } else {
-//                    //财务审核 审核通过即可上线
-//                    status = ShopStatus.ONLINE.getCode();//已上线
-//                    messageContent = "恭喜您," + title + "【已通过】,恭喜您成功加入采美,祝您开店愉快,生意兴隆!";
-//                    smsMessage = "恭喜您成功通过资料审核,您可以使用账号" + companyUser.getEmail() + "在采美登录您的企业账号,开始愉快的采购之旅。";
-//                }
-//            } else {
-//                //审核未通过
-//                userPermission = 1;
-//                companyUser.setUserPermission(0);
-//                status = 92;
-//                auditStatus = "2";
-//                messageContent = title + "【未通过】,原因:" + auditNote;
-//                smsMessage = "很遗憾,您的资料信息有误,未通过审核,请登录采美修改资料信息。";
-//            }
-//            //供应商表修改
-//            newCmShop.setStatus(status);
-//            newCmShop.setAuditTime(currTime);
-//            newCmShop.setAuditNote(auditNote);
-//            //企业用户表修改
-//            companyUser.setValidFlag(AppKeys.FLAG_YES);//正常
-//            companyUser.setManufacturerStatus(status + "");
-//            companyUser.setAuditStatus(auditStatus);//同步到用户表的审核信息中
-//            companyUser.setAuditNote(auditNote);
-//            companyUser.setAuditTime(currTime);
-//            newCmShopService.update(newCmShop);
-//            cmUserService.update(companyUser);
-//
-//            //直接注册成为企业供应商 或 升级成为供应商
-//            if (CollectionUtils.isNotEmpty(cmUsers)) {
-//                //个人用户升级成为企业供应商
-//                cmUserService.updateEmployeeStatus(userPermission, null, status + "", null, companyUserID);
-//            }
-//
-//            /**发送采美消息*/
-//            sendMessage("1", companyUser.getUserID(), title, messageContent);
-//            /**发送短信*/
-//            String mobile = companyUser.getBindMobile();
-//            if (StringUtils.isNotEmpty(mobile)) {
-//                SMSUtils.sendSms(mobile, smsMessage);
-//            }
-//            map.put("success", true);
-//            map.put("msg", "操作成功");
-//        } catch (Exception e) {
-//            logger.debug(e.toString(), e);
-//            map.put("success", false);
-//            map.put("msg", "操作失败");
-//        }
-//        return map;
-//    }
-
     /**
     /**
      * 修改密码
      * 修改密码
      *
      *
@@ -709,15 +622,6 @@ public class NewCmShopController extends BaseController {
 
 
         CmOperationalLogs sysLog = new CmOperationalLogs();
         CmOperationalLogs sysLog = new CmOperationalLogs();
 
 
-//        if (newCmShops.getMaintenanceFee() == "0") {
-//            if (!newCmShop.getMaintenanceFee().equals("0")) {
-//                list.add("新增了线上分账商户号");
-//            }
-//        }  else {
-//            if (!newCmShop.getMaintenanceFee().equals(newCmShops.getMaintenanceFee())) {
-//                list.add("修改了线上分账商户号");
-//            }
-//        }
         if (newCmShops.getName() == null) {
         if (newCmShops.getName() == null) {
             if (!newCmShop.getName().equals("")) {
             if (!newCmShop.getName().equals("")) {
                 list.add("新增了公司名称");
                 list.add("新增了公司名称");
@@ -962,7 +866,8 @@ public class NewCmShopController extends BaseController {
             return jsonModel.error("请求参数异常");
             return jsonModel.error("请求参数异常");
         }
         }
         NewCmShop dbShop = newCmShopService.get(cmShop.getShopID().toString());
         NewCmShop dbShop = newCmShopService.get(cmShop.getShopID().toString());
-        if ("1".equals(cmShop.getFirstShopType())) { //医疗
+        if ("1".equals(cmShop.getFirstShopType())) {
+            //医疗
             if (StringUtils.isEmpty(cmShop.getSecondShopType())) {
             if (StringUtils.isEmpty(cmShop.getSecondShopType())) {
                 return jsonModel.error("请选择二级分类");
                 return jsonModel.error("请选择二级分类");
             } else {
             } else {
@@ -975,7 +880,8 @@ public class NewCmShopController extends BaseController {
             dbShop.setMedicalPracticeLicenseImg2(cmShop.getMedicalPracticeLicenseImg2());
             dbShop.setMedicalPracticeLicenseImg2(cmShop.getMedicalPracticeLicenseImg2());
             dbShop.setMedicalPracticeLicenseImg3(cmShop.getMedicalPracticeLicenseImg3());
             dbShop.setMedicalPracticeLicenseImg3(cmShop.getMedicalPracticeLicenseImg3());
         }
         }
-        if ("2".equals(cmShop.getFirstShopType())) { // 非医疗
+        if ("2".equals(cmShop.getFirstShopType())) {
+            // 非医疗
             dbShop.setSecondShopType("");
             dbShop.setSecondShopType("");
             dbShop.setMedicalPracticeLicenseImg1("");
             dbShop.setMedicalPracticeLicenseImg1("");
             dbShop.setMedicalPracticeLicenseImg2("");
             dbShop.setMedicalPracticeLicenseImg2("");

+ 31 - 40
src/main/java/com/caimei/modules/user/web/newUser/AgencyController.java

@@ -73,16 +73,12 @@ public class AgencyController extends BaseController {
     @Resource
     @Resource
     private CmRemaksService cmRemaksService;
     private CmRemaksService cmRemaksService;
     @Resource
     @Resource
-    private CmUserOrganizeService cmUserOrganizeService;
-    @Resource
     private CmUserService cmUserService;
     private CmUserService cmUserService;
     @Resource
     @Resource
     private CmClubinfoService cmClubinfoService;
     private CmClubinfoService cmClubinfoService;
     @Resource
     @Resource
     private CmMessageService cmMessageService;
     private CmMessageService cmMessageService;
     @Resource
     @Resource
-    private CmUserbeanshistoryService cmUserbeanshistoryService;
-    @Resource
     private ClubChangeSpReviewService clubChangeSpReviewService;
     private ClubChangeSpReviewService clubChangeSpReviewService;
     @Resource
     @Resource
     private CmBehaviorRecordService cmBehaviorRecordService;
     private CmBehaviorRecordService cmBehaviorRecordService;
@@ -101,8 +97,6 @@ public class AgencyController extends BaseController {
     @Resource
     @Resource
     private NewCmClubDao newCmClubDao;
     private NewCmClubDao newCmClubDao;
     @Resource
     @Resource
-    private VisitRemarkDao visitRemarkDao;
-    @Resource
     private ClubPortraitService portraitService;
     private ClubPortraitService portraitService;
 
 
     @Value("${wwwServer}")
     @Value("${wwwServer}")
@@ -177,7 +171,32 @@ public class AgencyController extends BaseController {
         model.addAttribute("spNameList", spNameList);
         model.addAttribute("spNameList", spNameList);
         return "modules/userNew/cmAgencyList";
         return "modules/userNew/cmAgencyList";
     }
     }
-
+    /**
+     * 功能描述:新分配机构跟踪管理
+     *
+     * @param newCmClub
+     * @param request
+     * @param response
+     * @param model
+     * @return [newCmSp, request, response, model]
+     * @auther: Kaick
+     * @date: 2023/8/25 14:50
+     */
+    @RequestMapping(value = {"cmSpClubTrackList"})
+    public String cmSpClubTrackList(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
+        if (null==newCmClub.getProviderTime()) {
+            Date date = new Date();
+            date.setTime(date.getTime() - 24 * 60 * 60 * 1000);
+            newCmClub.setProviderTime(date);
+        }
+        newCmClub.setNewDeal(1);
+        Page<NewCmClub> page = newCmClubService.findProviderList(new Page<NewCmClub>(request, response, 20), newCmClub);
+        // 协销下拉
+        List<ServiceProviderModel> spNameList = newCmClubDao.spNameList();
+        model.addAttribute("spNameList", spNameList);
+        model.addAttribute("page", page);
+        return "modules/userNew/cmSpClubTrackList";
+    }
     /**
     /**
      * 查看运营人员
      * 查看运营人员
      *
      *
@@ -228,7 +247,6 @@ public class AgencyController extends BaseController {
      * @return
      * @return
      */
      */
     @RequestMapping(value = "online")
     @RequestMapping(value = "online")
-//    @OperationLogAnnotation(operType = "更改状态", operModul = "设置为已上线")
     @RequiresPermissions("user:newCmClub:edit")
     @RequiresPermissions("user:newCmClub:edit")
     public String onLine(NewCmClub newCmClub, Model model, RedirectAttributes redirectAttributes) {
     public String onLine(NewCmClub newCmClub, Model model, RedirectAttributes redirectAttributes) {
         OperationalLogs sysLog = new OperationalLogs();
         OperationalLogs sysLog = new OperationalLogs();
@@ -251,13 +269,7 @@ public class AgencyController extends BaseController {
         Integer companyUserID = newCmClub.getUserID();
         Integer companyUserID = newCmClub.getUserID();
         CmUser cmUser = cmUserService.get(companyUserID + "");
         CmUser cmUser = cmUserService.get(companyUserID + "");
         if (null != cmUser) {
         if (null != cmUser) {
-            cmUser.setClubStatus(ClubStatus.ONLINE.getCode() + "");
             cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
             cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
-            cmUser.setUserPermission(2);
-            //更新所有企业员工状态
-            cmUserService.updateEmployeeStatus(null, ClubStatus.ONLINE.getCode() + "", null, "1", companyUserID);
-            //更新所有审核过的企业员工权限
-            cmUserService.updateEmployeePermission(2, companyUserID);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         } else {
         } else {
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             addMessage(redirectAttributes, "上线失败,用户信息异常");
@@ -289,13 +301,12 @@ public class AgencyController extends BaseController {
      */
      */
     @RequestMapping(value = "offline")
     @RequestMapping(value = "offline")
     @RequiresPermissions("user:newCmClub:edit")
     @RequiresPermissions("user:newCmClub:edit")
-    public String offLine(NewCmClub newCmClub, Model model, RedirectAttributes redirectAttributes) {
+    public String offLine(NewCmClub newCmClub, RedirectAttributes redirectAttributes) {
         Integer companyUserID = newCmClub.getUserID();
         Integer companyUserID = newCmClub.getUserID();
         CmUser cmUser = cmUserService.get(companyUserID + "");
         CmUser cmUser = cmUserService.get(companyUserID + "");
         if (null != cmUser) {
         if (null != cmUser) {
-            cmUser.setClubStatus(ClubStatus.FREEZE.getCode() + "");
-            cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结
-            cmUser.setUserPermission(0);
+            //冻结
+            cmUser.setValidFlag(AppKeys.FLAG_NO);
             OperationalLogs sysLog = new OperationalLogs();
             OperationalLogs sysLog = new OperationalLogs();
             sysLog.setOperationtime(new Date());
             sysLog.setOperationtime(new Date());
             sysLog.setContact(newCmClub.getLinkMan());
             sysLog.setContact(newCmClub.getLinkMan());
@@ -309,11 +320,9 @@ public class AgencyController extends BaseController {
             //调用service保存SysLog实体类到数据库
             //调用service保存SysLog实体类到数据库
             if (!"".equals(sysLog.getActioncontent())) {
             if (!"".equals(sysLog.getActioncontent())) {
                 if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
                 if (sysLog.getInstitutionName() != null && sysLog.getContact() != null) {
-                    int i = sysLogService.insert(sysLog);
+                    sysLogService.insert(sysLog);
                 }
                 }
             }
             }
-            //更新所有企业员工状态 设置未提示
-            cmUserService.updateEmployeeStatus(1, ClubStatus.ONLINE.getCode() + "", null, "0", companyUserID);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         } else {
         } else {
             addMessage(redirectAttributes, "下线失败,用户信息异常");
             addMessage(redirectAttributes, "下线失败,用户信息异常");
@@ -1095,7 +1104,7 @@ public class AgencyController extends BaseController {
         }
         }
         return map;
         return map;
     }
     }
-//11111111q
+
     /**
     /**
      * 机构审核
      * 机构审核
      *
      *
@@ -1108,14 +1117,12 @@ public class AgencyController extends BaseController {
      */
      */
     @RequiresPermissions("user:newCmClub:edit")
     @RequiresPermissions("user:newCmClub:edit")
     @ResponseBody
     @ResponseBody
-//    @OperationLogAnnotation(operType = "审核")
     @RequestMapping(value = "auditClub")
     @RequestMapping(value = "auditClub")
     public Map<String, Object> auditClub(String auditStatus, String auditNote, String id, HttpServletRequest request, HttpServletResponse response) {
     public Map<String, Object> auditClub(String auditStatus, String auditNote, String id, HttpServletRequest request, HttpServletResponse response) {
         Map<String, Object> map = Maps.newLinkedHashMap();
         Map<String, Object> map = Maps.newLinkedHashMap();
         String status = "";
         String status = "";
         String smsMessage = "";
         String smsMessage = "";
         String currTime = DateUtils.getDateTime();
         String currTime = DateUtils.getDateTime();
-        Integer userPermission;
         OperationalLogs sysLog = new OperationalLogs();
         OperationalLogs sysLog = new OperationalLogs();
 
 
 
 
@@ -1161,11 +1168,9 @@ public class AgencyController extends BaseController {
                 messageCenter.setAccountType(5);
                 messageCenter.setAccountType(5);
                 messageCenterDao.addMessageCenter(messageCenter);
                 messageCenterDao.addMessageCenter(messageCenter);
 
 
-                userPermission = 2;
                 status = "90";
                 status = "90";
                 auditStatus = "1";
                 auditStatus = "1";
                 companyUser.setRegisterUserTypeID("3");
                 companyUser.setRegisterUserTypeID("3");
-                companyUser.setUserPermission(userPermission);
 
 
                 try {
                 try {
                     logger.info("********资质机构审核成功微信公众号推送********");
                     logger.info("********资质机构审核成功微信公众号推送********");
@@ -1218,8 +1223,6 @@ public class AgencyController extends BaseController {
                     logger.error("【资质机构审核失败通知】获取微信公众号access_token异常!", e);
                     logger.error("【资质机构审核失败通知】获取微信公众号access_token异常!", e);
                 }
                 }
                 //审核未通过,普通机构权限
                 //审核未通过,普通机构权限
-                userPermission = 5;
-                companyUser.setUserPermission(userPermission);
                 status = "92";
                 status = "92";
                 auditStatus = "2";
                 auditStatus = "2";
                 smsMessage = "您的机构升级资质机构失败!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台修改升级信息重新提交审核。" +
                 smsMessage = "您的机构升级资质机构失败!快戳采美网站链接www.caimei365.com或微信搜索“采美采购商城”小程序登录采美平台修改升级信息重新提交审核。" +
@@ -1249,17 +1252,11 @@ public class AgencyController extends BaseController {
             newCmClub.setCheckMan(UserUtils.getUser().getName());
             newCmClub.setCheckMan(UserUtils.getUser().getName());
             //企业用户表修改
             //企业用户表修改
             companyUser.setValidFlag(AppKeys.FLAG_YES);//正常
             companyUser.setValidFlag(AppKeys.FLAG_YES);//正常
-            companyUser.setClubStatus(status);
             companyUser.setAuditStatus(auditStatus);//同步到用户表的审核信息中
             companyUser.setAuditStatus(auditStatus);//同步到用户表的审核信息中
             companyUser.setAuditNote(auditNote);
             companyUser.setAuditNote(auditNote);
             companyUser.setAuditTime(currTime);
             companyUser.setAuditTime(currTime);
             newCmClubService.update(newCmClub);
             newCmClubService.update(newCmClub);
             cmUserService.update(companyUser);
             cmUserService.update(companyUser);
-            //直接注册成为企业机构 或 升级成为机构
-            if (CollectionUtils.isNotEmpty(cmUsers)) {
-                //个人用户升级成为企业机构
-                cmUserService.updateEmployeeStatus(userPermission, status, null, null, companyUserID);
-            }
             // 发送系统消息给对应的userID用户
             // 发送系统消息给对应的userID用户
             String title = "机构资格认证审核结果";
             String title = "机构资格认证审核结果";
             String messageContent = "";
             String messageContent = "";
@@ -1383,19 +1380,13 @@ public class AgencyController extends BaseController {
                 }
                 }
                 //用户身份  1、协销 2、会员机构 3、供应商 4.普通机构
                 //用户身份  1、协销 2、会员机构 3、供应商 4.普通机构
                 cmUser.setUserIdentity(2);
                 cmUser.setUserIdentity(2);
-                //用户权限  2 会员机构 3 供应商 4 协销 5 普通机构
-                cmUser.setUserPermission(2);
                 //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构)
                 //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构)
                 cmUser.setRegisterUserTypeID("3");
                 cmUser.setRegisterUserTypeID("3");
-                cmUser.setClubStatus("90");
             } else {
             } else {
                 //用户身份  1、协销 2、会员机构 3、供应商 4.普通机构
                 //用户身份  1、协销 2、会员机构 3、供应商 4.普通机构
                 cmUser.setUserIdentity(4);
                 cmUser.setUserIdentity(4);
-                //用户权限  2 会员机构 3 供应商 4 协销 5 普通机构
-                cmUser.setUserPermission(5);
                 //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构)
                 //见枚举UserType(1供应商,2协销经理,32协销,3会员机构,4普通机构)
                 cmUser.setRegisterUserTypeID("4");
                 cmUser.setRegisterUserTypeID("4");
-                cmUser.setClubStatus("90");
             }
             }
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
             if (cmClub.getStatus() != 90) {
             if (cmClub.getStatus() != 90) {

+ 163 - 14
src/main/java/com/caimei/modules/user/web/newUser/SpController.java

@@ -1,5 +1,6 @@
 package com.caimei.modules.user.web.newUser;
 package com.caimei.modules.user.web.newUser;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.caimei.constants.ServiceProviderStatus;
 import com.caimei.constants.ServiceProviderStatus;
 import com.caimei.constants.UserIdentity;
 import com.caimei.constants.UserIdentity;
 import com.caimei.constants.UserType;
 import com.caimei.constants.UserType;
@@ -9,13 +10,19 @@ import com.caimei.modules.project.dao.ClubDao;
 import com.caimei.modules.project.dao.ServiceProviderDao;
 import com.caimei.modules.project.dao.ServiceProviderDao;
 import com.caimei.modules.project.model.ClubModel;
 import com.caimei.modules.project.model.ClubModel;
 import com.caimei.modules.project.model.ServiceProviderModel;
 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.sys.utils.ValidateUtils;
 import com.caimei.modules.user.aop.OperationLogAnnotation;
 import com.caimei.modules.user.aop.OperationLogAnnotation;
+import com.caimei.modules.user.dao.NewCmClubDao;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.service.*;
 import com.caimei.modules.user.service.*;
-import com.caimei.utils.AppKeys;
-import com.caimei.utils.DateUtils;
-import com.caimei.utils.MD5Utils;
+import com.caimei.modules.utils.MessageUtil;
+import com.caimei.modules.utils.RequestUtil;
+import com.caimei.modules.utils.message.InsideMessage;
+import com.caimei.modules.utils.message.MessageModel;
+import com.caimei.modules.utils.message.MqInfo;
+import com.caimei.modules.utils.message.enums.MessageType;
+import com.caimei.utils.*;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Maps;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.persistence.Page;
@@ -36,11 +43,10 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 /**
 /**
  * Description
  * Description
@@ -68,6 +74,8 @@ public class SpController extends BaseController {
     private SysLogService sysLogService;
     private SysLogService sysLogService;
     @Resource
     @Resource
     private NewCmClubService newCmClubService;
     private NewCmClubService newCmClubService;
+    @Resource
+    private NewCmClubDao newCmClubDao;
 
 
     @ModelAttribute
     @ModelAttribute
     public NewCmSp get(@RequestParam(required = false) String id) {
     public NewCmSp get(@RequestParam(required = false) String id) {
@@ -130,6 +138,7 @@ public class SpController extends BaseController {
                     }
                     }
                     // 查询serviceprovider协销表
                     // 查询serviceprovider协销表
                     List<ServiceProviderModel> serviceprovider = serviceProviderDao.getServiceproviderById(cssp.getNewSpID());
                     List<ServiceProviderModel> serviceprovider = serviceProviderDao.getServiceproviderById(cssp.getNewSpID());
+
                     // 查询cm_bind表
                     // 查询cm_bind表
                     if (CollectionUtils.isNotEmpty(serviceprovider)) {
                     if (CollectionUtils.isNotEmpty(serviceprovider)) {
                         ServiceProviderModel serviceProvider = serviceprovider.get(0);
                         ServiceProviderModel serviceProvider = serviceprovider.get(0);
@@ -174,6 +183,68 @@ public class SpController extends BaseController {
                         if (null != serviceProvider.getServiceProviderID()) {
                         if (null != serviceProvider.getServiceProviderID()) {
                             sysLogService.insetProvider(serviceProvider.getServiceProviderID(), clubId, username);
                             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);
+
+                            //站内信
+                            MessageModel<InsideMessage> insideMessageMessageModel = new MessageModel<>();
+                            insideMessageMessageModel.code(MessageType.WEB_INSIDE_MESSAGE)
+                                    .mqInfo(new MqInfo().topic("MessageLine").delay(1).async(1))
+                                    .info(new InsideMessage()
+                                            .userType(3)
+                                            .messageType(3)
+                                            .shopTieredType(2)
+                                            .name(newCmClub.getName())
+                                            .userName(newCmClub.getLinkMan())
+                                            .mobile(newCmClub.getContractMobile())
+                                            .superUserName(oldServiceprovider.getName())
+                                            .thisId(serviceProvider.getServiceProviderID())
+                                            .clubId(newCmClub.getClubID())
+                                    );
+                            MessageUtil.sendMessage(insideMessageMessageModel);
+                            if(1342!=serviceProvider.getServiceProviderID()){
+                                insideMessageMessageModel.info(new InsideMessage()
+                                        .userType(3)
+                                        .messageType(3)
+                                        .shopTieredType(3)
+                                        .name(newCmClub.getName())
+                                        .userName(newCmClub.getLinkMan())
+                                        .mobile(newCmClub.getContractMobile())
+                                        .superUserName(serviceProvider.getName())
+                                        .thisId(oldServiceprovider.getServiceProviderID())
+                                        .clubId(newCmClub.getClubID())
+                                );
+                                MessageUtil.sendMessage(insideMessageMessageModel);
+                                insideMessageMessageModel.info(new InsideMessage()
+                                        .userType(1)
+                                        .messageType(3)
+                                        .shopTieredType(6)
+                                        .userName(serviceProvider.getName())
+                                        .mobile(serviceProvider.getContractMobile())
+                                        .clubId(newCmClub.getClubID())
+                                );
+                                MessageUtil.sendMessage(insideMessageMessageModel);
+                                SMSUtils.sendSms(4, newCmClub.getContractMobile(), "【采美365】因公司内部人员调整需要,采美平台已为您更换客户经理。客户经理【" + serviceProvider.getName() + "】,手机号【" + serviceProvider.getContractMobile() + "】。");
+                                SMSUtils.sendSms(4, serviceProvider.getContractMobile(), "【采美365】系统已为你分配机构客户,请及时跟进。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,上一任销售【" + oldServiceprovider.getName() + "】。");
+                                SMSUtils.sendSms(4, oldServiceprovider.getContractMobile(), "【采美365】系统已将你的机构客户转移给其他销售人员,你已无权管理该客户。机构名称【" + newCmClub.getName() + "】,联系人【" + newCmClub.getLinkMan() + "】,手机号【" + newCmClub.getContractMobile() + "】,下一任销售【" + serviceProvider.getName() + "】。");
+                            }else {
+                                insideMessageMessageModel.info(new InsideMessage()
+                                        .userType(3)
+                                        .messageType(3)
+                                        .shopTieredType(8)
+                                        .name(newCmClub.getName())
+                                        .userName(newCmClub.getLinkMan())
+                                        .mobile(newCmClub.getContractMobile())
+                                        .thisId(oldServiceprovider.getServiceProviderID())
+                                        .clubId(newCmClub.getClubID())
+                                );
+                                MessageUtil.sendMessage(insideMessageMessageModel);
+                                SMSUtils.sendSms(4, oldServiceprovider.getContractMobile(), "【采美365】系统已将你的机构客户进行回收,你已无权管理该客户。机构名称【" + newCmClub.getName() + "】,联系人【"+ newCmClub.getLinkMan() +"】,手机号【"+ newCmClub.getContractMobile() +"】。");
+                            }
+
+                        }
                     } else {
                     } else {
                         map.put("success", false);
                         map.put("success", false);
                         map.put("msg", "操作失败");
                         map.put("msg", "操作失败");
@@ -242,6 +313,82 @@ public class SpController extends BaseController {
         return "modules/userNew/cmSpList";
         return "modules/userNew/cmSpList";
     }
     }
 
 
+    /**
+     * 功能描述: 机构活跃分析列表
+     *
+     * @param newCmSp
+     * @param request
+     * @param response
+     * @param model
+     * @return [newCmSp, request, response, model]
+     * @auther: Kaick
+     * @date: 2023/8/25 14:50
+     */
+    @RequestMapping(value = {"cmSpLivelyClubList"})
+    public String cmSpLivelyClubList(NewCmSp newCmSp, HttpServletRequest request, HttpServletResponse response, Model model) {
+        newCmSp.setStatus(90);
+        Page<NewCmSp> page = cmSpService.findPage(new Page<NewCmSp>(request, response), newCmSp);
+        page.getList().forEach(s->{
+            Map<String, Object> spUserLoginSum = cmSpService.findSpUserLoginSum(s.getServiceProviderID().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 ?(double) loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
+            s.setLivelyClub(loginSum);
+            s.setNolivelyClub(not_loginSum);
+            s.setLivelyClubProportion(livelyClubProportion);
+            s.setNolivelyClubProportion(MathUtil.sub(100, livelyClubProportion).setScale(2));
+        });
+        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());
+        //        机构活跃与不活跃占比计算方法,例如:机构活跃数/机构活跃数+机构不活跃数(60/(60+30)=0.666...),保留小数点后2位,四舍五入,0.67;
+        BigDecimal livelyClubProportion = new BigDecimal((loginSum + not_loginSum) != 0 ?(double) loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
+        model.addAttribute("livelyClub", loginSum);
+        model.addAttribute("nolivelyClub", not_loginSum);
+        model.addAttribute("livelyClubProportion", livelyClubProportion);
+        model.addAttribute("nolivelyClubProportion", MathUtil.sub(100, livelyClubProportion).setScale(2));
+        model.addAttribute("page", page);
+        return "modules/userNew/cmSpLivelyClubList";
+    }
+
+
+
+    /**
+     * 功能描述: 机构活跃分析查看详情
+     *
+     * @param request
+     * @param response
+     * @param model
+     * @return [newCmSp, request, response, model]
+     * @auther: Kaick
+     * @date: 2023/8/25 14:50
+     */
+    @RequestMapping(value = {"cmSpLivelyClubFrom"})
+    public String cmSpLivelyClubFrom(NewCmClub newCmClub, HttpServletRequest request, HttpServletResponse response, Model model) {
+        if (StringUtils.isBlank(newCmClub.getStartLoginTime())&&StringUtils.isBlank(newCmClub.getEndLoginTime())) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.MONTH, -6);
+            newCmClub.setStartLoginTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()));
+        }
+        newCmClub.setStatus(90);
+        Page<NewCmClub> page = newCmClubService.findPage(new Page<NewCmClub>(request, response, 20), newCmClub);
+        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 ? (double)loginSum / (loginSum + not_loginSum) * 100 : 0).setScale(2, RoundingMode.UP);
+        model.addAttribute("livelyClub", loginSum);
+        model.addAttribute("nolivelyClub", not_loginSum);
+        model.addAttribute("livelyClubProportion", livelyClubProportion);
+        model.addAttribute("nolivelyClubProportion", MathUtil.sub(100, livelyClubProportion).setScale(2));
+        model.addAttribute("spId", newCmClub.getSpID());
+        model.addAttribute("page", page);
+        return "modules/userNew/cmSpLivelyClubFrom";
+    }
+
+
+
     /**
     /**
      * 添加协销人员
      * 添加协销人员
      *
      *
@@ -305,6 +452,7 @@ public class SpController extends BaseController {
         }
         }
         NewCmSp cmSp = new NewCmSp();
         NewCmSp cmSp = new NewCmSp();
         CmUser cmUser = new CmUser();
         CmUser cmUser = new CmUser();
+        cmSp.setName(linkMan);
         cmSp.setLinkMan(linkMan);
         cmSp.setLinkMan(linkMan);
         cmSp.setContractMobile(mobile);
         cmSp.setContractMobile(mobile);
         if ("1".equals(duty)) {
         if ("1".equals(duty)) {
@@ -331,17 +479,16 @@ public class SpController extends BaseController {
         }
         }
         cmUser.setUserOrganizeID(0);
         cmUser.setUserOrganizeID(0);
         cmUser.setMobile(mobile);
         cmUser.setMobile(mobile);
+        cmUser.setBindMobile(mobile);
         cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
         cmUser.setUserIdentity(UserIdentity.MAKER.getCode());
         cmUser.setRegisterTime(DateUtils.getDateTime());
         cmUser.setRegisterTime(DateUtils.getDateTime());
         cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
         cmUser.setServiceProviderStatus(ServiceProviderStatus.WAIT_CHECK_DATA.getCode() + "");
-        cmUser.setUserPermission(4);
         cmUser.setRealName(linkMan);
         cmUser.setRealName(linkMan);
         cmUser.setUserName(linkMan);
         cmUser.setUserName(linkMan);
         cmUser.setName(linkMan);
         cmUser.setName(linkMan);
         cmUser.setAuditStatus(AppKeys.FLAG_YES);
         cmUser.setAuditStatus(AppKeys.FLAG_YES);
         cmUser.setValidFlag(AppKeys.FLAG_YES);
         cmUser.setValidFlag(AppKeys.FLAG_YES);
         cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
         cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
-        cmUser.setUserPermission(4);
         cmUser.setAuditTime(DateUtils.getDateTime());
         cmUser.setAuditTime(DateUtils.getDateTime());
 
 
         cmUserService.save(cmUser);
         cmUserService.save(cmUser);
@@ -370,9 +517,9 @@ public class SpController extends BaseController {
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             addMessage(redirectAttributes, "上线失败,用户信息异常");
             return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
             return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
         } else {
         } else {
-            cmUser.setValidFlag(AppKeys.FLAG_YES);//解除冻结
+            //解除冻结
+            cmUser.setValidFlag(AppKeys.FLAG_YES);
             cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
             cmUser.setServiceProviderStatus(ServiceProviderStatus.ONLINE.getCode() + "");
-            cmUser.setUserPermission(4);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         }
         }
         newCmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
         newCmSp.setStatus(ServiceProviderStatus.ONLINE.getCode());
@@ -397,9 +544,9 @@ public class SpController extends BaseController {
             addMessage(redirectAttributes, "下线失败,用户信息异常");
             addMessage(redirectAttributes, "下线失败,用户信息异常");
             return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
             return "redirect:" + Global.getAdminPath() + "/new/user/cmSp/cmSpList/?repage";
         } else {
         } else {
-            cmUser.setValidFlag(AppKeys.FLAG_NO);//冻结
+            //冻结
+            cmUser.setValidFlag(AppKeys.FLAG_NO);
             cmUser.setServiceProviderStatus(ServiceProviderStatus.FREEZE.getCode() + "");
             cmUser.setServiceProviderStatus(ServiceProviderStatus.FREEZE.getCode() + "");
-            cmUser.setUserPermission(1);
             cmUserService.update(cmUser);
             cmUserService.update(cmUser);
         }
         }
         newCmSp.setStatus(ServiceProviderStatus.FREEZE.getCode());
         newCmSp.setStatus(ServiceProviderStatus.FREEZE.getCode());
@@ -457,8 +604,9 @@ public class SpController extends BaseController {
         if ("0".equals(newCmSp.getPosition())) {
         if ("0".equals(newCmSp.getPosition())) {
             cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + ""); // 设置为协销员工
             cmUser.setRegisterUserTypeID(UserType.SERVICEEMPLOYEE.getCode() + ""); // 设置为协销员工
         }
         }
-
+        newCmSp.setName(newCmSp.getLinkMan());
         cmUser.setMobile(newCmSp.getContractMobile());
         cmUser.setMobile(newCmSp.getContractMobile());
+        cmUser.setBindMobile(newCmSp.getContractMobile());
         cmSpService.save(newCmSp);
         cmSpService.save(newCmSp);
         cmUserService.update(cmUser);
         cmUserService.update(cmUser);
         addMessage(redirectAttributes, "保存协销人员管理成功");
         addMessage(redirectAttributes, "保存协销人员管理成功");
@@ -485,4 +633,5 @@ public class SpController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/serviceteam/cmServiceteamRole/?repage";
         return "redirect:" + Global.getAdminPath() + "/serviceteam/cmServiceteamRole/?repage";
     }
     }
 
 
+
 }
 }

+ 78 - 0
src/main/java/com/caimei/modules/utils/MessageUtil.java

@@ -0,0 +1,78 @@
+package com.caimei.modules.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import com.caimei.modules.utils.message.InsideMessage;
+import com.caimei.modules.utils.message.MessageModel;
+import com.caimei.modules.utils.message.MqInfo;
+import com.caimei.modules.utils.message.WechatTemplateMessage;
+import com.caimei.modules.utils.message.enums.MessageType;
+import com.caimei.utils.HttpRequest;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.thinkgem.jeesite.common.config.Global;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+public class MessageUtil {
+    protected static Logger logger = LoggerFactory.getLogger(MessageUtil.class);
+
+    public static void sendMessage(MessageModel model) {
+        try {
+            String coreServer = Global.getConfig("caimei.core");
+            String url = coreServer + "/tools/message/send";
+            logger.info("url>>>>" + url);
+            String result = RequestUtil.sendPost(url, new ObjectMapper().writeValueAsString(model),"application/json");
+            JSONObject parseObject = JSONObject.parseObject(result);
+            System.out.println(parseObject);
+            Integer code = parseObject.getInteger("code");
+            if (code != 0) {
+                logger.info("审批消息推送失败>>>>" + model.info());
+            }else {
+                logger.info("审批消息推送成功>>>>" + model.info());
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.error("审批消息推送失败>>>" + e);
+        }
+    }
+
+    public static void main(String[] args) {
+
+        //微信模板消息
+        ArrayList<String> keyWords = new ArrayList<>();
+        keyWords.add("name"+"...等"+7+"家机构客户");
+        keyWords.add("pageLabel");
+        keyWords.add("2023-09-12");
+        MessageModel<WechatTemplateMessage> wechatTemplateMessageMessageModel = new MessageModel<WechatTemplateMessage>()
+                .code(MessageType.WECHAT_TEMPLATE_MESSAGE)
+                .mqInfo(new MqInfo().topic("MessageLine").delay(3).async(0))
+                .info(new WechatTemplateMessage()
+                        .first("")
+                        .openId("o9nzn5yD6IOcFuhG4b3OG1droVJw")
+                        .appid("wxf3cd4ae0cdd11c36")
+                        .templateId("Zd7ewJw9-bN-gIgra9flKW96W3YehikRPPkDXPfhmQ0")
+                        .keyWords(keyWords)
+                        .remark("为了更好给您服务,请及时联系采美客服!")
+                        .pagePath("pages/seller/notice/service/Institutional_visits?spId="+1340+"&accDateTime="+"2023-09-14"));
+        sendMessage(wechatTemplateMessageMessageModel);
+//        //站内信
+//        MessageModel<InsideMessage> insideMessageMessageModel = new MessageModel<>();
+//        insideMessageMessageModel.code(MessageType.WEB_INSIDE_MESSAGE)
+//                .mqInfo(new MqInfo().topic("MessageLine").delay(3).async(0))
+//                .info(new InsideMessage()
+//                        .userType(3)
+//                        .messageType(3)
+//                        .shopTieredType(7)
+//                        .name("机构名称")
+//                        .content("pageLabel")
+//                        .couponFee(new Double(5))
+//                        .thisId(1381)
+//                );
+//        sendMessage(insideMessageMessageModel);
+
+    }
+
+}

+ 58 - 0
src/main/java/com/caimei/modules/utils/RequestUtil.java

@@ -175,6 +175,64 @@ public class RequestUtil {
         return result.toString();
         return result.toString();
     }
     }
 
 
+    public static String sendPost(String url, String param, String contentType) {
+        OutputStreamWriter out = null;
+        BufferedReader in = null;
+        String result = "";
+        try {
+            URL realUrl = new URL(url);
+            // 打开和URL之间的连接
+            HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
+            // 设置通用的请求属性
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            conn.setRequestProperty("Content-Type", contentType);
+            // 发送POST请求必须设置如下两行
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+
+            /*************************************************************************/
+            // 获取URLConnection对象对应的输出流
+            // out = new PrintWriter(conn.getOutputStream());
+            out = new OutputStreamWriter(conn.getOutputStream(), "utf-8"); // 8859_1
+            /*************************************************************************/
+
+            out.write(param); // post的关键所在
+            // 发送请求参数
+            // out.print(param);
+            // flush输出流的缓冲
+            out.flush();
+            // 定义BufferedReader输入流来读取URL的响应
+            int code = conn.getResponseCode();
+            if(code == 200) {
+                in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+            }else{
+                in = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
+            }
+            String line;
+            while ((line = in.readLine()) != null) {
+                result += line;
+            }
+        } catch (Exception e) {
+            System.out.println("发送 POST 请求出现异常!" + e);
+            e.printStackTrace();
+        }
+        // 使用finally块来关闭输出流、输入流
+        finally {
+            try {
+                if (out != null) {
+                    out.close();
+                }
+                if (in != null) {
+                    in.close();
+                }
+            } catch (IOException ex) {
+                ex.printStackTrace();
+            }
+        }
+        return result;
+    }
     /**
     /**
      * 向指定 URL 发送请求
      * 向指定 URL 发送请求
      * @param requestUrl 发送请求的 URL
      * @param requestUrl 发送请求的 URL

+ 64 - 1
src/main/java/com/caimei/modules/utils/message/InsideMessage.java

@@ -12,7 +12,7 @@ import java.io.Serializable;
 @Data
 @Data
 @Accessors(fluent = true)
 @Accessors(fluent = true)
 public class InsideMessage implements Serializable {
 public class InsideMessage implements Serializable {
-
+    private static final long serialVersionUID = 1L;
     /**
     /**
      * 消息id
      * 消息id
      */
      */
@@ -116,6 +116,21 @@ public class InsideMessage implements Serializable {
      */
      */
     private String shopName;
     private String shopName;
 
 
+    /** 手机号 */
+    private String mobile;
+
+    /** 名称 */
+    private String name;
+
+    /** 用户名称 */
+    private String userName;
+
+    /** 前用户名称 */
+    private String superUserName;
+
+    /** 当前id */
+    private Integer thisId;
+
     public Integer getId() {
     public Integer getId() {
         return id;
         return id;
     }
     }
@@ -172,6 +187,14 @@ public class InsideMessage implements Serializable {
         this.content = content;
         this.content = content;
     }
     }
 
 
+    public String getReasonContent() {
+        return reasonContent;
+    }
+
+    public void setReasonContent(String reasonContent) {
+        this.reasonContent = reasonContent;
+    }
+
     public String getTime() {
     public String getTime() {
         return time;
         return time;
     }
     }
@@ -307,4 +330,44 @@ public class InsideMessage implements Serializable {
     public void setShopName(String shopName) {
     public void setShopName(String shopName) {
         this.shopName = shopName;
         this.shopName = shopName;
     }
     }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getSuperUserName() {
+        return superUserName;
+    }
+
+    public void setSuperUserName(String superUserName) {
+        this.superUserName = superUserName;
+    }
+
+    public Integer getThisId() {
+        return thisId;
+    }
+
+    public void setThisId(Integer thisId) {
+        this.thisId = thisId;
+    }
 }
 }

+ 1 - 1
src/main/java/com/caimei/modules/weisha/dao/CmMallOrganizeDao.java

@@ -55,7 +55,7 @@ public interface CmMallOrganizeDao extends CrudDao<CmMallOrganize> {
      * @param status
      * @param status
      * @param serviceProviderId
      * @param serviceProviderId
      */
      */
-    void setUserServiceStatus(@Param("status") Integer status, @Param("serviceProviderId") Integer serviceProviderId, @Param("userId") Integer userId, @Param("validFlag") Integer validFlag, @Param("userPermission") Integer userPermission);
+    void setUserServiceStatus(@Param("status") Integer status, @Param("serviceProviderId") Integer serviceProviderId, @Param("userId") Integer userId, @Param("validFlag") Integer validFlag);
 
 
     /**
     /**
      * 采购人员下属机构
      * 采购人员下属机构

+ 2 - 2
src/main/java/com/caimei/modules/weisha/service/CmMallOrganizeService.java

@@ -83,9 +83,9 @@ public class CmMallOrganizeService extends CrudService<CmMallOrganizeDao, CmMall
         organizeDao.setStatus(status, id);
         organizeDao.setStatus(status, id);
         // 用户协销状态
         // 用户协销状态
         if ("90".equals(status)) {
         if ("90".equals(status)) {
-            organizeDao.setUserServiceStatus(Integer.parseInt(status), Integer.parseInt(id), userId, 1, 4);
+            organizeDao.setUserServiceStatus(Integer.parseInt(status), Integer.parseInt(id), userId, 1);
         } else {
         } else {
-            organizeDao.setUserServiceStatus(Integer.parseInt(status), Integer.parseInt(id), userId, 0, 1);
+            organizeDao.setUserServiceStatus(Integer.parseInt(status), Integer.parseInt(id), userId, 0);
         }
         }
     }
     }
 
 

+ 0 - 21
src/main/java/com/caimei/modules/weisha/web/CmOrganizeClubController.java

@@ -129,7 +129,6 @@ public class CmOrganizeClubController extends BaseController {
             //添加用户新增信息
             //添加用户新增信息
             if (null == userID) {
             if (null == userID) {
                 //新增
                 //新增
-                cmUser.setClubStatus("90");
                 //设置为会所
                 //设置为会所
                 cmUser.setRegisterUserTypeID("4");
                 cmUser.setRegisterUserTypeID("4");
                 cmUser.setUserIdentity(4);
                 cmUser.setUserIdentity(4);
@@ -149,7 +148,6 @@ public class CmOrganizeClubController extends BaseController {
                 cmUser.setAbleUserMoney(0d);
                 cmUser.setAbleUserMoney(0d);
                 cmUser.setValidFlag("1");
                 cmUser.setValidFlag("1");
                 cmUser.setAgreeFlag("1");
                 cmUser.setAgreeFlag("1");
-                cmUser.setUserPermission(5);
                 //插入新的用户数据
                 //插入新的用户数据
                 cmUserService.insert(cmUser);
                 cmUserService.insert(cmUser);
             }
             }
@@ -163,11 +161,8 @@ public class CmOrganizeClubController extends BaseController {
                 newCmClub.setAddTime(currentDate);
                 newCmClub.setAddTime(currentDate);
                 newCmClub.setDefaultServiceProviderUpdTime(currentDate);
                 newCmClub.setDefaultServiceProviderUpdTime(currentDate);
                 newCmClubService.insert(newCmClub);
                 newCmClubService.insert(newCmClub);
-
                 //更新用户绑定关系
                 //更新用户绑定关系
                 cmUser.setClubID(String.valueOf(newCmClub.getClubID()));
                 cmUser.setClubID(String.valueOf(newCmClub.getClubID()));
-                String nick = cmUser.getUserID() + "_" + RandomCodeGenerator.generateCodeString(4).toLowerCase();
-
                 //更新会所绑定关系
                 //更新会所绑定关系
                 newCmClub.setUserID(cmUser.getUserID());
                 newCmClub.setUserID(cmUser.getUserID());
             }
             }
@@ -179,20 +174,4 @@ public class CmOrganizeClubController extends BaseController {
         return "redirect:" + Global.getAdminPath() + "/weisha/user/organizeClubList?userOrganizeID=" + cmUserOrganize.getId();
         return "redirect:" + Global.getAdminPath() + "/weisha/user/organizeClubList?userOrganizeID=" + cmUserOrganize.getId();
     }
     }
 
 
-    /**
-     * 机构上下线
-     */
-    @RequestMapping(value = "onlineAndOffline")
-    public String onlineAndOffline(CmUser cmUser) {
-        //更新用户表数据
-        cmUserService.update(cmUser);
-        NewCmClub newCmClub = new NewCmClub();
-        newCmClub.setClubID(Integer.parseInt(cmUser.getClubID()));
-        newCmClub.setUserID(cmUser.getUserID());
-        newCmClub.setStatus(Integer.valueOf(cmUser.getClubStatus()));
-        //更新会所表数据
-        newCmClubService.update(newCmClub);
-        return "redirect:" + Global.getAdminPath() + "/weisha/user/organizeClubList?userOrganizeID=" + cmUser.getUserOrganizeID();
-    }
-
 }
 }

+ 2 - 1
src/main/resources/config/dev/caimei.properties

@@ -189,7 +189,8 @@ export.template=export
 
 
 # SPI-server\uFF08CKEditor5\u56FE\u7247\u4E0A\u4F20API\uFF0C\u641C\u7D22\u66F4\u65B0\u7D22\u5F15\uFF09
 # SPI-server\uFF08CKEditor5\u56FE\u7247\u4E0A\u4F20API\uFF0C\u641C\u7D22\u66F4\u65B0\u7D22\u5F15\uFF09
 caimei.spi=http://localhost:8008
 caimei.spi=http://localhost:8008
-caimei.core=http://localhost:18002
+#caimei.core=http://localhost:18002
+caimei.core=https://core-b.caimei365.com
 caimei.manager=http://localhost:9527
 caimei.manager=http://localhost:9527
 #\u963F\u91CC\u4E91oss\u5B58\u50A8
 #\u963F\u91CC\u4E91oss\u5B58\u50A8
 aliyun.accessKeyId=LTAI4GBL3o4YkWnbKYgf2Xia
 aliyun.accessKeyId=LTAI4GBL3o4YkWnbKYgf2Xia

+ 0 - 1
src/main/resources/mappings/modules/order/ShopOrderMapper.xml

@@ -895,7 +895,6 @@
         LEFT JOIN club c ON c.userID = a.userID
         LEFT JOIN club c ON c.userID = a.userID
         <where>
         <where>
             (s.shopId = 1161 OR s.AccountOwnership = 0 OR a.splitCode = 'E1807059160' or a.ordertype = 2)
             (s.shopId = 1161 OR s.AccountOwnership = 0 OR a.splitCode = 'E1807059160' or a.ordertype = 2)
-            and a.shopStatus not in (4, 5)
             <if test="startTime != null and startTime != ''">
             <if test="startTime != null and startTime != ''">
                 AND (a.orderTime &gt; #{startTime} OR a.orderTime = #{startTime})
                 AND (a.orderTime &gt; #{startTime} OR a.orderTime = #{startTime})
             </if>
             </if>

+ 49 - 2
src/main/resources/mappings/modules/user/CmSpMapper.xml

@@ -157,6 +157,53 @@
 		JOIN user u on a.userID = u.userID
 		JOIN user u on a.userID = u.userID
 		where u.registerUserTypeID = 2
 		where u.registerUserTypeID = 2
 	</select>
 	</select>
+
+    <select id="findSpUserLoginSum" resultType="java.util.HashMap" parameterType="string">
+		select
+		COUNT(  CASE WHEN a.time=1 THEN 1 END) AS loginSum,
+		((SELECT count(1) from club
+		WHERE  status=90
+		<if test="spID != null">
+			and  spID=#{spID}
+		</if>
+		)-COUNT(  CASE WHEN a.time=1 THEN 1 END)) AS not_loginSum
+		FROM (select a.*
+		FROM ((
+		select
+		c.clubId,1 AS time,c.spID
+		FROM club c
+		LEFT JOIN user u ON u.userID = c.userID
+		LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+		where c.status=90 and sp.status=90 and (u.userOrganizeID IN(0,1) or u.clubStatus != 92) and u.userOrganizeID != 4
+		and u.loginTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+		GROUP BY c.clubId
+		)UNION(
+		select
+		c.clubId,1 AS time,c.spID
+		FROM club c
+		LEFT JOIN user u ON u.userID = c.userID
+		LEFT JOIN cm_club_remarks ccr ON ccr.clubId = c.clubId
+		LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+		where c.status=90 and sp.status=90 and (u.userOrganizeID IN(0,1) or u.clubStatus != 92) and u.userOrganizeID != 4
+		and  ccr.addTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+		GROUP BY c.clubId
+		)UNION(
+		select c.clubId,1 AS time,c.spID
+		FROM club c
+		LEFT JOIN user u ON u.userID = c.userID
+		LEFT JOIN cm_order cr ON cr.clubId = c.clubId
+		LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+		where c.status=90 and sp.status=90 and (u.userOrganizeID IN(0,1) or u.clubStatus != 92) and u.userOrganizeID != 4
+		and  cr.orderTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+		GROUP BY c.clubId
+		)
+		) a where  1=1
+		<if test="spID != null">
+			and  a.spID=#{spID}
+		</if>
+		GROUP BY a.clubId ) a
+
+	</select>
 	<select id="findSelectList" resultType="com.caimei.modules.user.entity.NewCmSp">
 	<select id="findSelectList" resultType="com.caimei.modules.user.entity.NewCmSp">
 		SELECT
 		SELECT
 		<include refid="newCmSpColumns"/>
 		<include refid="newCmSpColumns"/>
@@ -193,8 +240,8 @@
 	</update>
 	</update>
 
 
 	<insert id="choseManager">
 	<insert id="choseManager">
-		insert into cm_serviceteam_manager (serviceProviderId,delflag)
-		values (#{serviceProviderID},0)
+		insert into cm_serviceteam_manager (serviceProviderId,delflag,validFlag)
+		values (#{serviceProviderID},0,1)
 	</insert>
 	</insert>
 
 
 	<select id="findByUserId" resultType="com.caimei.modules.user.entity.NewCmSp">
 	<select id="findByUserId" resultType="com.caimei.modules.user.entity.NewCmSp">

+ 329 - 406
src/main/resources/mappings/modules/user/CmUserMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.caimei.modules.user.dao.CmUserDao">
 <mapper namespace="com.caimei.modules.user.dao.CmUserDao">
 
 
     <sql id="cmUserColumns">
     <sql id="cmUserColumns">
-		a.userID AS "userID",
+        a.userID AS "userID",
 		a.mobile AS "mobile",
 		a.mobile AS "mobile",
 		a.userOrganizeID AS "userOrganizeID",
 		a.userOrganizeID AS "userOrganizeID",
 		a.bindMobile AS "bindMobile",
 		a.bindMobile AS "bindMobile",
@@ -25,24 +25,18 @@
 		a.registerTime AS "registerTime",
 		a.registerTime AS "registerTime",
 		a.registerIP AS "registerIP",
 		a.registerIP AS "registerIP",
 		a.loginTime AS "loginTime",
 		a.loginTime AS "loginTime",
-		a.loginFailTime AS "loginFailTime",
 		a.loginIP AS "loginIP",
 		a.loginIP AS "loginIP",
 		a.validFlag AS "validFlag",
 		a.validFlag AS "validFlag",
-		a.clubStatus AS "clubStatus",
 		a.clubID AS "clubID",
 		a.clubID AS "clubID",
 		a.agreeFlag AS "agreeFlag",
 		a.agreeFlag AS "agreeFlag",
 		a.serviceProviderStatus AS "serviceProviderStatus",
 		a.serviceProviderStatus AS "serviceProviderStatus",
 		a.serviceProviderID AS "serviceProviderID",
 		a.serviceProviderID AS "serviceProviderID",
 		a.userMoney AS "userMoney",
 		a.userMoney AS "userMoney",
 		a.ableUserMoney as "ableUserMoney",
 		a.ableUserMoney as "ableUserMoney",
-		a.logoffTime AS "logoffTime",
-		a.appKey AS "appKey",
-		a.appSecret AS "appSecret",
 		a.scanFlag AS "scanFlag",
 		a.scanFlag AS "scanFlag",
 		a.userBeans AS "userBeans",
 		a.userBeans AS "userBeans",
-		a.guideFlag AS "guideFlag",
-		a.userPermission AS "userPermission"
-	</sql>
+		a.guideFlag AS "guideFlag"
+    </sql>
 
 
     <select id="get" resultType="CmUser">
     <select id="get" resultType="CmUser">
         SELECT
         SELECT
@@ -65,11 +59,11 @@
                 <if test="dbName == 'oracle'">'%'||#{mobile}||'%'</if>
                 <if test="dbName == 'oracle'">'%'||#{mobile}||'%'</if>
                 <if test="dbName == 'mssql'">'%'+#{mobile}+'%'</if>
                 <if test="dbName == 'mssql'">'%'+#{mobile}+'%'</if>
                 <if test="dbName == 'mysql'">concat('%',#{mobile},'%')</if>
                 <if test="dbName == 'mysql'">concat('%',#{mobile},'%')</if>
-				OR a.bindMobile LIKE
-				<if test="dbName == 'oracle'">'%'||#{mobile}||'%'</if>
-				<if test="dbName == 'mssql'">'%'+#{mobile}+'%'</if>
-				<if test="dbName == 'mysql'">concat('%',#{mobile},'%')</if>
-				)
+                OR a.bindMobile LIKE
+                <if test="dbName == 'oracle'">'%'||#{mobile}||'%'</if>
+                <if test="dbName == 'mssql'">'%'+#{mobile}+'%'</if>
+                <if test="dbName == 'mysql'">concat('%',#{mobile},'%')</if>
+                )
             </if>
             </if>
             <if test="email != null and email != ''">
             <if test="email != null and email != ''">
                 AND a.email LIKE
                 AND a.email LIKE
@@ -83,15 +77,15 @@
                 <if test="dbName == 'mssql'">'%'+#{userName}+'%'</if>
                 <if test="dbName == 'mssql'">'%'+#{userName}+'%'</if>
                 <if test="dbName == 'mysql'">concat('%',#{userName},'%')</if>
                 <if test="dbName == 'mysql'">concat('%',#{userName},'%')</if>
             </if>
             </if>
-			<if test="startTime != null and startTime != ''">
-				AND (a.registerTime &gt; #{startTime} OR  a.registerTime = #{startTime})
-			</if>
-			<if test="endTime != null and endTime != ''">
-				AND (a.registerTime &lt; #{endTime} OR  a.registerTime = #{endTime})
-			</if>
-			<if test="userOrganizeID != null and userOrganizeID != ''">
-				AND a.userOrganizeID = #{userOrganizeID}
-			</if>
+            <if test="startTime != null and startTime != ''">
+                AND (a.registerTime &gt; #{startTime} OR a.registerTime = #{startTime})
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND (a.registerTime &lt; #{endTime} OR a.registerTime = #{endTime})
+            </if>
+            <if test="userOrganizeID != null and userOrganizeID != ''">
+                AND a.userOrganizeID = #{userOrganizeID}
+            </if>
             <choose>
             <choose>
                 <when test="registerUserTypeID != null and registerUserTypeID != ''">
                 <when test="registerUserTypeID != null and registerUserTypeID != ''">
                     AND a.registerUserTypeID = #{registerUserTypeID}
                     AND a.registerUserTypeID = #{registerUserTypeID}
@@ -111,56 +105,53 @@
         </choose>
         </choose>
     </select>
     </select>
 
 
-	<!--适用于企业通过手机号码查询用户-->
-	<select id="findListBuyBindMobile" resultType="com.caimei.modules.user.entity.CmUser">
-		SELECT
-		*
-		FROM user a
-		<where>
-			a.bindMobile = #{bindMobile}
-			<if test="clubID != null and clubID != ''">
-				AND a.clubID != #{clubID}
-			</if>
-		</where>
-	</select>
+    <!--适用于企业通过手机号码查询用户-->
+    <select id="findListBuyBindMobile" resultType="com.caimei.modules.user.entity.CmUser">
+        SELECT
+        *
+        FROM user a
+        <where>
+            a.bindMobile = #{bindMobile}
+            <if test="clubID != null and clubID != ''">
+                AND a.clubID != #{clubID}
+            </if>
+        </where>
+    </select>
 
 
-	<!--星范商城查询会所-->
-	<select id="findListBuyUserInfo" resultType="com.caimei.modules.user.entity.CmUser">
-		SELECT
-		a.*
-		,c.linkMan AS "linkMan"
-		,t.name as "town"
-		,ci.name as "city"
-		,p.name as "province"
-		,c.address AS "address"
-		FROM user a
-		LEFT JOIN club c on c.userID = a.userID
-		LEFT JOIN town t on t.townID = c.townID
-		LEFT JOIN city ci ON ci.cityID = c.cityID
-		LEFT JOIN province p ON p.provinceID = c.provinceID
-		<where>
-			a.userOrganizeID = #{userOrganizeID}
-			<if test="bindMobile != null and bindMobile != ''">
-				AND a.bindMobile LIKE concat('%',#{bindMobile},'%')
-			</if>
-			<if test="name != null and name != ''">
-				AND a.name LIKE concat('%',#{name},'%')
-			</if>
-			<if test="linkMan != null and linkMan != ''">
-				AND c.linkMan LIKE concat('%',#{linkMan},'%')
-			</if>
-			<if test="startTime != null and startTime != ''">
-				AND a.registerTime <![CDATA[  >=  ]]> #{startTime}
-			</if>
-			<if test="endTime != null and endTime != ''">
-				AND a.registerTime <![CDATA[   <=  ]]> #{endTime}
-			</if>
-			<if test="clubStatus != null and clubStatus != ''">
-				AND a.clubStatus = #{clubStatus}
-			</if>
-		</where>
-		ORDER BY a.registerTime DESC
-	</select>
+    <!--星范商城查询会所-->
+    <select id="findListBuyUserInfo" resultType="com.caimei.modules.user.entity.CmUser">
+        SELECT
+        a.*
+        ,c.linkMan AS "linkMan"
+        ,t.name as "town"
+        ,ci.name as "city"
+        ,p.name as "province"
+        ,c.address AS "address"
+        FROM user a
+        LEFT JOIN club c on c.userID = a.userID
+        LEFT JOIN town t on t.townID = c.townID
+        LEFT JOIN city ci ON ci.cityID = c.cityID
+        LEFT JOIN province p ON p.provinceID = c.provinceID
+        <where>
+            a.userOrganizeID = #{userOrganizeID}
+            <if test="bindMobile != null and bindMobile != ''">
+                AND a.bindMobile LIKE concat('%',#{bindMobile},'%')
+            </if>
+            <if test="name != null and name != ''">
+                AND a.name LIKE concat('%',#{name},'%')
+            </if>
+            <if test="linkMan != null and linkMan != ''">
+                AND c.linkMan LIKE concat('%',#{linkMan},'%')
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND a.registerTime <![CDATA[  >=  ]]> #{startTime}
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND a.registerTime <![CDATA[   <=  ]]> #{endTime}
+            </if>
+        </where>
+        ORDER BY a.registerTime DESC
+    </select>
 
 
     <select id="findAllList" resultType="CmUser">
     <select id="findAllList" resultType="CmUser">
         SELECT
         SELECT
@@ -180,204 +171,172 @@
     </select>
     </select>
 
 
     <insert id="insert" parameterType="CmUser" keyProperty="userID" useGeneratedKeys="true">
     <insert id="insert" parameterType="CmUser" keyProperty="userID" useGeneratedKeys="true">
-		INSERT INTO user(
-			userOrganizeID,
-			account,
-		  	realName,
-		  	userIdentity,
-			mobile,
-			bindMobile,
-			userPermission,
-			email,
-			userName,
-			source,
-			image,
-			password,
-			name,
-			registerUserTypeID,
-			manufacturerStatus,
-			shopID,
-			auditStatus,
-			auditTime,
-			auditNote,
-			registerTime,
-			registerIP,
-			loginTime,
-			loginFailTime,
-			loginIP,
-			validFlag,
-			clubStatus,
-			<if test="clubID != null and clubID != ''">
-			clubID,
-			</if>
-			agreeFlag,
-			serviceProviderStatus,
-			serviceProviderID,
-			userMoney,
-			ableUserMoney,
-			logoffTime,
-			appKey,
-			appSecret,
-			scanFlag,
-			userBeans
-		) VALUES (
-			#{userOrganizeID},
-			#{account},
-		  	#{realName},
-		  	#{userIdentity},
-			#{mobile},
-			#{bindMobile},
-			#{userPermission},
-			#{email},
-			#{userName},
-			#{source},
-			#{image},
-			#{password},
-			#{name},
-			#{registerUserTypeID},
-			#{manufacturerStatus},
-			#{shopID},
-			#{auditStatus},
-			#{auditTime},
-			#{auditNote},
-			#{registerTime},
-			#{registerIP},
-			#{loginTime},
-			#{loginFailTime},
-			#{loginIP},
-			#{validFlag},
-			#{clubStatus},
-			<if test="clubID != null and clubID != ''">
-			#{clubID},
-			</if>
-			#{agreeFlag},
-			#{serviceProviderStatus},
-			#{serviceProviderID},
-			#{userMoney},
-			#{ableUserMoney},
-			#{logoffTime},
-			#{appKey},
-			#{appSecret},
-			#{scanFlag},
-			#{userBeans}
-		)
-	</insert>
+        INSERT INTO user(
+        userOrganizeID,
+        account,
+        realName,
+        userIdentity,
+        mobile,
+        bindMobile,
+        email,
+        userName,
+        source,
+        image,
+        password,
+        name,
+        registerUserTypeID,
+        manufacturerStatus,
+        shopID,
+        auditStatus,
+        auditTime,
+        auditNote,
+        registerTime,
+        registerIP,
+        loginTime,
+        loginIP,
+        validFlag,
+        <if test="clubID != null and clubID != ''">
+            clubID,
+        </if>
+        agreeFlag,
+        serviceProviderStatus,
+        serviceProviderID,
+        userMoney,
+        ableUserMoney,
+        scanFlag,
+        userBeans
+        ) VALUES (
+        #{userOrganizeID},
+        #{account},
+        #{realName},
+        #{userIdentity},
+        #{mobile},
+        #{bindMobile},
+        #{email},
+        #{userName},
+        #{source},
+        #{image},
+        #{password},
+        #{name},
+        #{registerUserTypeID},
+        #{manufacturerStatus},
+        #{shopID},
+        #{auditStatus},
+        #{auditTime},
+        #{auditNote},
+        #{registerTime},
+        #{registerIP},
+        #{loginTime},
+        #{loginIP},
+        #{validFlag},
+        <if test="clubID != null and clubID != ''">
+            #{clubID},
+        </if>
+        #{agreeFlag},
+        #{serviceProviderStatus},
+        #{serviceProviderID},
+        #{userMoney},
+        #{ableUserMoney},
+        #{scanFlag},
+        #{userBeans}
+        )
+    </insert>
 
 
     <update id="update">
     <update id="update">
-		UPDATE user SET
-		<if test="account != null and account != ''">
-			account = #{account},
-		</if>
-		<if test="bindMobile != null and bindMobile != ''">
-			bindMobile = #{bindMobile},
-		  	</if>
-		<if test="realName != null">
-			realName = #{realName},
-		  	</if>
-		<if test="userIdentity != null and userIdentity != ''">
-			userIdentity = #{userIdentity},
-		  	</if>
-		<if test="mobile != null and mobile != ''">
-			mobile = #{mobile},
-			</if>
-		<if test="userPermission != null and userPermission != ''">
-			userPermission = #{userPermission},
-			</if>
-		<if test="email != null and email != ''">
-			email = #{email},
-			</if>
-		<if test="userName != null and userName != ''">
-			userName = #{userName},
-			</if>
-		<if test="image != null and image != ''">
-			image = #{image},
-			</if>
-		<if test="password != null and password != ''">
-			password = #{password},
-			</if>
-		<if test="name != null and name != ''">
-			name = #{name},
-			</if>
-		<if test="registerUserTypeID != null and registerUserTypeID != ''">
-			registerUserTypeID = #{registerUserTypeID},
-			</if>
-		<if test="manufacturerStatus != null and manufacturerStatus != ''">
-			manufacturerStatus = #{manufacturerStatus},
-			</if>
-		<if test="shopID != null and shopID != ''">
-			shopID = #{shopID},
-			</if>
-		<if test="auditStatus != null and auditStatus != ''">
-			auditStatus = #{auditStatus},
-			</if>
-		<if test="auditTime != null">
-			auditTime = #{auditTime},
-			</if>
-		<if test="auditNote != null and auditNote != ''">
-			auditNote = #{auditNote},
-			</if>
-		<if test="registerTime != null ">
-			registerTime = #{registerTime},
-			</if>
-		<if test="registerIP != null and registerIP != ''">
-			registerIP = #{registerIP},
-			</if>
-		<if test="loginTime != null and loginTime != ''">
-			loginTime = #{loginTime},
-			</if>
-		<if test="loginFailTime != null and loginFailTime != ''">
-			loginFailTime = #{loginFailTime},
-			</if>
-		<if test="loginIP != null and loginIP != ''">
-			loginIP = #{loginIP},
-			</if>
-		<if test="validFlag != null and validFlag != ''">
-			validFlag = #{validFlag},
-			</if>
-		<if test="clubStatus != null and clubStatus != ''">
-			clubStatus = #{clubStatus},
-			</if>
-		<if test="clubID != null and clubID != ''">
-			clubID = #{clubID},
-			</if>
-		<if test="agreeFlag != null and agreeFlag != ''">
-			agreeFlag = #{agreeFlag},
-			</if>
-		<if test="serviceProviderStatus != null and serviceProviderStatus != ''">
-			serviceProviderStatus = #{serviceProviderStatus},
-			</if>
-		<if test="serviceProviderID != null and serviceProviderID != ''">
-			serviceProviderID = #{serviceProviderID},
-			</if>
-		<if test="userMoney != null and userMoney != ''">
-			userMoney = #{userMoney},
-			</if>
-		<if test="logoffTime != null and logoffTime != ''">
-			logoffTime = #{logoffTime},
-			</if>
-		<if test="appKey != null and appKey != ''">
-			appKey = #{appKey},
-			</if>
-		<if test="appSecret != null and appSecret != ''">
-			appSecret = #{appSecret},
-			</if>
-		<if test="scanFlag != null and scanFlag != ''">
-			scanFlag = #{scanFlag},
-			</if>
-		<if test="userBeans != null and userBeans != ''">
-			userBeans = #{userBeans},
-			</if>
-		<if test="guideFlag != null and guideFlag != ''">
-			guideFlag = #{guideFlag},
-		</if>
-		userID = #{userID}
-		WHERE userID = #{userID}
-	</update>
+        UPDATE user SET
+        <if test="account != null and account != ''">
+            account = #{account},
+        </if>
+        <if test="bindMobile != null and bindMobile != ''">
+            bindMobile = #{bindMobile},
+        </if>
+        <if test="realName != null">
+            realName = #{realName},
+        </if>
+        <if test="userIdentity != null and userIdentity != ''">
+            userIdentity = #{userIdentity},
+        </if>
+        <if test="mobile != null and mobile != ''">
+            mobile = #{mobile},
+        </if>
+        <if test="email != null and email != ''">
+            email = #{email},
+        </if>
+        <if test="userName != null and userName != ''">
+            userName = #{userName},
+        </if>
+        <if test="image != null and image != ''">
+            image = #{image},
+        </if>
+        <if test="password != null and password != ''">
+            password = #{password},
+        </if>
+        <if test="name != null and name != ''">
+            name = #{name},
+        </if>
+        <if test="registerUserTypeID != null and registerUserTypeID != ''">
+            registerUserTypeID = #{registerUserTypeID},
+        </if>
+        <if test="manufacturerStatus != null and manufacturerStatus != ''">
+            manufacturerStatus = #{manufacturerStatus},
+        </if>
+        <if test="shopID != null and shopID != ''">
+            shopID = #{shopID},
+        </if>
+        <if test="auditStatus != null and auditStatus != ''">
+            auditStatus = #{auditStatus},
+        </if>
+        <if test="auditTime != null">
+            auditTime = #{auditTime},
+        </if>
+        <if test="auditNote != null and auditNote != ''">
+            auditNote = #{auditNote},
+        </if>
+        <if test="registerTime != null ">
+            registerTime = #{registerTime},
+        </if>
+        <if test="registerIP != null and registerIP != ''">
+            registerIP = #{registerIP},
+        </if>
+        <if test="loginTime != null and loginTime != ''">
+            loginTime = #{loginTime},
+        </if>
+        <if test="loginIP != null and loginIP != ''">
+            loginIP = #{loginIP},
+        </if>
+        <if test="validFlag != null and validFlag != ''">
+            validFlag = #{validFlag},
+        </if>
+        <if test="clubID != null and clubID != ''">
+            clubID = #{clubID},
+        </if>
+        <if test="agreeFlag != null and agreeFlag != ''">
+            agreeFlag = #{agreeFlag},
+        </if>
+        <if test="serviceProviderStatus != null and serviceProviderStatus != ''">
+            serviceProviderStatus = #{serviceProviderStatus},
+        </if>
+        <if test="serviceProviderID != null and serviceProviderID != ''">
+            serviceProviderID = #{serviceProviderID},
+        </if>
+        <if test="userMoney != null and userMoney != ''">
+            userMoney = #{userMoney},
+        </if>
+        <if test="userBeans != null and userBeans != ''">
+            userBeans = #{userBeans},
+        </if>
+        <if test="guideFlag != null and guideFlag != ''">
+            guideFlag = #{guideFlag},
+        </if>
+        userID = #{userID}
+        WHERE userID = #{userID}
+    </update>
 
 
     <delete id="delete">
     <delete id="delete">
-		DELETE FROM user
-		WHERE userID = #{userID}
-	</delete>
+        DELETE
+        FROM user
+        WHERE userID = #{userID}
+    </delete>
 
 
     <select id="findUserByRegisterType" resultType="CmUser">
     <select id="findUserByRegisterType" resultType="CmUser">
         SELECT
         SELECT
@@ -408,66 +367,47 @@
         auditTime DESC
         auditTime DESC
     </select>
     </select>
 
 
-    <update id="updateEmployeeStatus">
-        UPDATE user
-        <set>
-			<if test="userPermission != null and userPermission != ''">
-				userPermission = #{userPermission},
-			</if>
-            <if test="clubStatus != null and clubStatus != ''">
-                clubStatus = #{clubStatus},
-            </if>
-            <if test="manufacturerStatus != null and manufacturerStatus != ''">
-                manufacturerStatus = #{manufacturerStatus},
-            </if>
-			<if test="tipStatus != null and tipStatus != ''">
-				tipStatus = #{tipStatus},
-			</if>
-        </set>
-        WHERE userID = #{companyUserID}
-    </update>
-
     <update id="updateUserStatus">
     <update id="updateUserStatus">
         UPDATE user
         UPDATE user
         <set>
         <set>
             <if test="manufacturerStatus != null and manufacturerStatus != ''">
             <if test="manufacturerStatus != null and manufacturerStatus != ''">
                 manufacturerStatus = #{manufacturerStatus},
                 manufacturerStatus = #{manufacturerStatus},
             </if>
             </if>
-			<if test="validFlag != null and validFlag != ''">
-				validFlag = #{validFlag},
-			</if>
+            <if test="validFlag != null and validFlag != ''">
+                validFlag = #{validFlag},
+            </if>
         </set>
         </set>
         WHERE userID = #{userID}
         WHERE userID = #{userID}
     </update>
     </update>
 
 
     <update id="updateShopStatus">
     <update id="updateShopStatus">
-		UPDATE shop
+        UPDATE shop
         <set>
         <set>
             <if test="status != null and status != ''">
             <if test="status != null and status != ''">
                 status = #{status},
                 status = #{status},
             </if>
             </if>
         </set>
         </set>
         WHERE userID = #{userID}
         WHERE userID = #{userID}
-	</update>
+    </update>
 
 
     <update id="updateUserAudit">
     <update id="updateUserAudit">
         UPDATE user
         UPDATE user
         <set>
         <set>
-			<if test="auditStatus != null and auditStatus != ''">
-				auditStatus = #{auditStatus},
-			</if>
+            <if test="auditStatus != null and auditStatus != ''">
+                auditStatus = #{auditStatus},
+            </if>
             <if test="auditNote != null and auditNote != ''">
             <if test="auditNote != null and auditNote != ''">
                 auditNote = #{auditNote},
                 auditNote = #{auditNote},
             </if>
             </if>
             <if test="manufacturerStatus != null and manufacturerStatus != ''">
             <if test="manufacturerStatus != null and manufacturerStatus != ''">
                 manufacturerStatus = #{manufacturerStatus},
                 manufacturerStatus = #{manufacturerStatus},
             </if>
             </if>
-			<if test="auditTime != null and auditTime != ''">
-				auditTime = #{auditTime},
-			</if>
-			<if test="validFlag != null and validFlag != ''">
-				validFlag = #{validFlag},
-			</if>
+            <if test="auditTime != null and auditTime != ''">
+                auditTime = #{auditTime},
+            </if>
+            <if test="validFlag != null and validFlag != ''">
+                validFlag = #{validFlag},
+            </if>
         </set>
         </set>
         WHERE userID = #{userId}
         WHERE userID = #{userId}
     </update>
     </update>
@@ -475,133 +415,116 @@
     <update id="updateShopAudit">
     <update id="updateShopAudit">
         UPDATE shop
         UPDATE shop
         <set>
         <set>
-			<if test="auditStatus != null and auditStatus != ''">
-				auditStatus = #{auditStatus},
-			</if>
+            <if test="auditStatus != null and auditStatus != ''">
+                auditStatus = #{auditStatus},
+            </if>
             <if test="auditNote != null and auditNote != ''">
             <if test="auditNote != null and auditNote != ''">
                 auditNote = #{auditNote},
                 auditNote = #{auditNote},
             </if>
             </if>
             <if test="manufacturerStatus != null and manufacturerStatus != ''">
             <if test="manufacturerStatus != null and manufacturerStatus != ''">
                 status = #{manufacturerStatus},
                 status = #{manufacturerStatus},
             </if>
             </if>
-			<if test="auditTime != null and auditTime != ''">
-				auditTime = #{auditTime},
-			</if>
+            <if test="auditTime != null and auditTime != ''">
+                auditTime = #{auditTime},
+            </if>
             <if test="name != null and name != ''">
             <if test="name != null and name != ''">
-				checkMan = #{name},
-			</if>
+                checkMan = #{name},
+            </if>
         </set>
         </set>
         WHERE shopID = #{shopId}
         WHERE shopID = #{shopId}
     </update>
     </update>
 
 
+    <update id="updateUserInfo">
+        UPDATE user
+        SET realName   = #{realName},
+            name       = #{name},
+            userName   = #{userName},
+            bindMobile = #{bindMobile},
+            email      = #{email}
+        WHERE userID = #{userID}
+    </update>
 
 
-	<update id="updateEmployeePermission">
-		UPDATE user SET userPermission = #{userPermission}
-		WHERE userID = #{companyUserID} AND auditStatus = '1'
-	</update>
-
-
-	<update id="updateUserInfo">
-		UPDATE user SET
-		realName = #{realName},
-		name = #{name},
-		userName = #{userName},
-		bindMobile = #{bindMobile},
-		email = #{email}
-		WHERE userID = #{userID}
-	</update>
-
-	<update id="updateAbleUserMoney">
-		UPDATE user SET
-		    ableUserMoney = #{ableUserMoney}
-		WHERE userID = #{userId}
-	</update>
+    <update id="updateAbleUserMoney">
+        UPDATE user
+        SET ableUserMoney = #{ableUserMoney}
+        WHERE userID = #{userId}
+    </update>
 
 
-	<update id="updateMoney">
-		UPDATE user SET
-			userMoney =  #{userMoney},
-		    ableUserMoney = #{ableUserMoney}
-		WHERE userID = #{userID}
-	</update>
+    <update id="updateMoney">
+        UPDATE user
+        SET userMoney     = #{userMoney},
+            ableUserMoney = #{ableUserMoney}
+        WHERE userID = #{userID}
+    </update>
 
 
-	<select id="findUserByMobile" resultType="com.caimei.modules.user.entity.CmUser">
-		SELECT
-		<include refid="cmUserColumns"/>
-		FROM user a
-		WHERE a.mobile=#{mobile}
-	</select>
+    <select id="findUserByMobile" resultType="com.caimei.modules.user.entity.CmUser">
+        SELECT
+        <include refid="cmUserColumns"/>
+        FROM user a
+        WHERE a.mobile=#{mobile}
+    </select>
 
 
-	<select id="getUserPayOrder" resultType="com.caimei.po.neworder.CmShopOrder">
+    <select id="getUserPayOrder" resultType="com.caimei.po.neworder.CmShopOrder">
         select *
         select *
         from cm_shop_order
         from cm_shop_order
-        where userID=#{userId}
+        where userID = #{userId}
     </select>
     </select>
     <select id="selectByMobileOrEmail" resultType="com.caimei.modules.user.entity.CmUser">
     <select id="selectByMobileOrEmail" resultType="com.caimei.modules.user.entity.CmUser">
-		select u.*,cu.mobile as operatorMobile from user u
-		left join cm_mall_operation_user cu on cu.userID = u.userID
-		where (u.bindMobile = #{mobileOrEmail} or u.email = #{mobileOrEmail})
-		AND u.userIdentity IN (1,2,3,4)
-		AND u.userOrganizeID = 0
-		<if test="source == 'www'">
-			AND u.registerUserTypeID IN (1,3,4)
-		</if>
-		<if test="source == 'crm'">
-			AND u.registerUserTypeID IN (1,2,3,32,4)
-		</if>
-		UNION
-		select u.*,cu.mobile as operatorMobile from user u
-		left join cm_mall_operation_user cu on cu.userID = u.userID
-		where cu.mobile = #{mobileOrEmail}
-		AND cu.delFlag != 1
-		AND u.userIdentity IN (1,2,3,4)
-		AND u.userOrganizeID = 0
-		<if test="source == 'www'">
-			AND u.registerUserTypeID IN (1,3,4)
-		</if>
-		<if test="source == 'crm'">
-			AND u.registerUserTypeID IN (1,2,3,32,4)
-		</if>
-	</select>
-
-	<update id="updateUserBeans">
-		UPDATE USER SET userBeans = #{userBeans} WHERE userID = #{userID}
-	</update>
+        select u.*,cu.mobile as operatorMobile from user u
+        left join cm_mall_operation_user cu on cu.userID = u.userID
+        where (u.bindMobile = #{mobileOrEmail} or u.email = #{mobileOrEmail})
+        AND u.userIdentity IN (1,2,3,4)
+        AND u.userOrganizeID = 0
+        <if test="source == 'www'">
+            AND u.registerUserTypeID IN (1,3,4)
+        </if>
+        <if test="source == 'crm'">
+            AND u.registerUserTypeID IN (1,2,3,32,4)
+        </if>
+        UNION
+        select u.*,cu.mobile as operatorMobile from user u
+        left join cm_mall_operation_user cu on cu.userID = u.userID
+        where cu.mobile = #{mobileOrEmail}
+        AND cu.delFlag != 1
+        AND u.userIdentity IN (1,2,3,4)
+        AND u.userOrganizeID = 0
+        <if test="source == 'www'">
+            AND u.registerUserTypeID IN (1,3,4)
+        </if>
+        <if test="source == 'crm'">
+            AND u.registerUserTypeID IN (1,2,3,32,4)
+        </if>
+    </select>
 
 
-	<select id="findUserByOrganizeId" resultType="com.caimei.modules.user.entity.CmUser">
-		SELECT
-		<include refid="cmUserColumns"/>
-		FROM user a
-		WHERE a.userOrganizeID=#{organizeId}
-		limit 1
-	</select>
+    <update id="updateUserBeans">
+        UPDATE USER
+        SET userBeans = #{userBeans}
+        WHERE userID = #{userID}
+    </update>
 
 
-	<update id="updateByClubStatus">
-		UPDATE user SET clubStatus = #{clubStatus} WHERE userID = #{confirmUserId}
-	</update>
+    <select id="findUserByOrganizeId" resultType="com.caimei.modules.user.entity.CmUser">
+        SELECT
+        <include refid="cmUserColumns"/>
+        FROM user a
+        WHERE a.userOrganizeID=#{organizeId}
+        limit 1
+    </select>
 
 
-	<select id="findByConfirmTime" resultType="date">
-		SELECT
-		  confirmTime
-		FROM
-		  club_confirm_record
-		WHERE
-		  userId = #{userId}
-		ORDER BY
-		  confirmTime DESC
-		LIMIT
-		  1
-  </select>
-	<select id="findUserBeans" resultType="java.lang.Integer">
-		select userBeans
-		from user
-		where userID = #{userId}
-	</select>
-	<select id="selOrgan" resultType="com.caimei.modules.user.entity.CmOrganValueSystem">
-		select * from cm_organ_value_system where userID = #{userId} and stage = 0 limit 1
-	</select>
-	<insert id="insertOrgan">
-		INSERT INTO cm_organ_value_system
-		(userID, stage, delType)
-		VALUES(#{userId},0,1)
-	</insert>
+    <select id="findUserBeans" resultType="java.lang.Integer">
+        select userBeans
+        from user
+        where userID = #{userId}
+    </select>
+    <select id="selOrgan" resultType="com.caimei.modules.user.entity.CmOrganValueSystem">
+        select *
+        from cm_organ_value_system
+        where userID = #{userId}
+          and stage = 0
+        limit 1
+    </select>
+    <insert id="insertOrgan">
+        INSERT INTO cm_organ_value_system
+            (userID, stage, delType)
+        VALUES (#{userId}, 0, 1)
+    </insert>
 </mapper>
 </mapper>

+ 146 - 7
src/main/resources/mappings/modules/user/NewCmClubMapper.xml

@@ -98,7 +98,7 @@
     <select id="findList" resultType="NewCmClub">
     <select id="findList" resultType="NewCmClub">
         SELECT
         SELECT
         <include refid="newCmClubColumns"/>
         <include refid="newCmClubColumns"/>
-        <include refid="otherColumns"/>,u.userPermission,u.source, covs.activeState,covs.customerValue
+        <include refid="otherColumns"/>,u.userPermission,u.source, covs.activeState,covs.customerValue,u.loginTime
         FROM club a
         FROM club a
         <include refid="newCmClubJoins"/>
         <include refid="newCmClubJoins"/>
         LEFT JOIN (SELECT userID, activeState, customerValue FROM cm_organ_value_system WHERE stage = 0 AND delType = 1)
         LEFT JOIN (SELECT userID, activeState, customerValue FROM cm_organ_value_system WHERE stage = 0 AND delType = 1)
@@ -150,6 +150,56 @@
             <if test="endTime != null and endTime != ''">
             <if test="endTime != null and endTime != ''">
                 AND (u.registerTime &lt; #{endTime} OR u.registerTime = #{endTime})
                 AND (u.registerTime &lt; #{endTime} OR u.registerTime = #{endTime})
             </if>
             </if>
+            <if test="startLoginTime != null and startLoginTime != ''">
+                AND (u.loginTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH) OR a.clubId in (select a.clubId
+                FROM ((
+                select
+                c.clubId,ccr.addTime AS time,c.spID
+                FROM club c
+                LEFT JOIN user u ON u.userID = c.userID
+                LEFT JOIN cm_club_remarks ccr ON ccr.clubId = c.clubId
+                LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+                where c.status=90 and sp.status=90
+                and  ccr.addTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+                GROUP BY c.clubId
+                )UNION(
+                select c.clubId,cr.orderTime AS time,c.spID
+                FROM club c
+                LEFT JOIN user u ON u.userID = c.userID
+                LEFT JOIN cm_order cr ON cr.clubId = c.clubId
+                LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+                where c.status=90 and sp.status=90
+                and  cr.orderTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+                GROUP BY c.clubId
+                )) a where a.time is not null
+                and  a.spID=#{spID}
+                GROUP BY a.clubId ))
+            </if>
+            <if test="endLoginTime != null and endLoginTime != ''">
+                AND (u.loginTime <![CDATA[ < ]]> DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH) or u.loginTime is null) and a.clubId not in (select a.clubId
+                FROM ((
+                select
+                c.clubId,ccr.addTime AS time,c.spID
+                FROM club c
+                LEFT JOIN user u ON u.userID = c.userID
+                LEFT JOIN cm_club_remarks ccr ON ccr.clubId = c.clubId
+                LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+                where c.status=90 and sp.status=90
+                and  ccr.addTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+                GROUP BY c.clubId
+                )UNION(
+                select c.clubId,cr.orderTime AS time,c.spID
+                FROM club c
+                LEFT JOIN user u ON u.userID = c.userID
+                LEFT JOIN cm_order cr ON cr.clubId = c.clubId
+                LEFT JOIN serviceprovider sp ON sp.serviceProviderID = c.spID
+                where c.status=90 and sp.status=90
+                and  cr.orderTime >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
+                GROUP BY c.clubId
+                )) a where a.time is not null
+                and  a.spID=#{spID}
+                GROUP BY a.clubId )
+            </if>
             <if test="userIdentity != null and userIdentity != '' and userIdentity != '8'.toString()">
             <if test="userIdentity != null and userIdentity != '' and userIdentity != '8'.toString()">
                 AND u.userIdentity = #{userIdentity}
                 AND u.userIdentity = #{userIdentity}
             </if>
             </if>
@@ -207,6 +257,101 @@
         </choose>
         </choose>
     </select>
     </select>
 
 
+
+    <select id="findProviderList" resultType="NewCmClub">
+        SELECT
+        <include refid="newCmClubColumns"/>
+        ,case sp.status when 91 then '采美默认协销经理(官方账号)' else sp.linkMan end AS "spName"
+        ,u.userPermission,u.source,u.loginTime,cpr.createTime AS providerTime,
+        u.account AS  "account",
+        u.registerTime AS "registerTime",
+        u.registerIP AS "registerIP",
+        u.userName AS "userName",
+        u.bindMobile AS "bindMobile",
+        u.email AS "email",
+        u.userOrganizeID AS "userOrganizeID",
+        u.userIdentity AS "userIdentity",
+        if(csu.delFlag = '0' and now() <![CDATA[ < ]]> csu.endTime,1,0) as svipUserFlag
+        from cm_provider_record cpr
+        LEFT JOIN serviceprovider sp ON sp.serviceProviderID =cpr.spID
+        LEFT JOIN club a ON cpr.clubId = a.clubId
+        LEFT JOIN user u ON u.userID = a.userID
+        LEFT JOIN cm_svip_user csu ON csu.userId = u.userID
+        <where>
+            (u.userOrganizeID IN(0,1) or u.clubStatus != 92) and u.userOrganizeID != 4 and sp.status=90
+            <if test="clubID != null and clubID != ''">
+                AND a.clubID = #{clubID}
+            </if>
+            <if test="clubID == 0">
+                AND a.clubID = #{clubID}
+            </if>
+            <if test="userID != null and userID != ''">
+                AND a.userID = #{userID}
+            </if>
+            <if test="account != null and account != ''">
+                AND u.account = #{account}
+            </if>
+            <if test="name != null and name != ''">
+                AND u.name LIKE concat('%',#{name},'%')
+            </if>
+            <if test="userName != null and userName != ''">
+                AND u.userName LIKE concat('%',#{userName},'%')
+            </if>
+            <if test="status != null and status != ''">
+                AND a.status = #{status}
+            </if>
+            <if test="bindMobile != null and bindMobile != ''">
+                AND u.bindMobile LIKE concat('%',#{bindMobile},'%')
+            </if>
+            <if test="email != null and email != ''">
+                AND u.email LIKE concat('%',#{email},'%')
+            </if>
+            <if test="linkMan != null and linkMan != ''">
+                AND a.linkMan LIKE concat('%',#{linkMan},'%')
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND (u.registerTime &gt; #{startTime} OR u.registerTime = #{startTime})
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND (u.registerTime &lt; #{endTime} OR u.registerTime = #{endTime})
+            </if>
+            <if test="startLoginTime != null and startLoginTime != ''">
+                AND (u.loginTime &gt; #{startLoginTime} OR u.loginTime = #{startLoginTime})
+            </if>
+            <if test="endLoginTime != null and endLoginTime != ''">
+                AND (u.loginTime &lt; #{endLoginTime} OR u.loginTime = #{endLoginTime})
+            </if>
+            <if test="providerTime != null and 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}
+            </if>
+            <if test="userIdentity != null and userIdentity != '' and userIdentity == '8'.toString()">
+                AND csu.delFlag = '0' and now() <![CDATA[ < ]]> csu.endTime
+            </if>
+            <if test="newDeal != null">
+                AND a.newDeal =#{newDeal}
+            </if>
+            <if test="spID != null and spID != ''">
+                AND sp.serviceProviderID = #{spID}
+            </if>
+        </where>
+        group by cpr.clubId
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                ORDER BY case when a.status = 91 then 0 else 1 end desc,  cpr.createTime DESC
+            </otherwise>
+        </choose>
+    </select>
+
     <insert id="insert" parameterType="NewCmClub" keyProperty="clubID" useGeneratedKeys="true">
     <insert id="insert" parameterType="NewCmClub" keyProperty="clubID" useGeneratedKeys="true">
         INSERT INTO club(userID,
         INSERT INTO club(userID,
                          name,
                          name,
@@ -473,12 +618,6 @@
                 #{num}, #{pushStatus}, #{addTime}, 0)
                 #{num}, #{pushStatus}, #{addTime}, 0)
     </insert>
     </insert>
 
 
-    <update id="updateByStatus">
-        UPDATE club
-        SET status = #{clubStatus}
-        WHERE userID = #{confirmUserId}
-    </update>
-
     <select id="findLowOrder" resultType="com.caimei.modules.user.entity.UserBeansHistory">
     <select id="findLowOrder" resultType="com.caimei.modules.user.entity.UserBeansHistory">
         select userId, type, beansType, orderId, num, addTime
         select userId, type, beansType, orderId, num, addTime
         from user_beans_history
         from user_beans_history

+ 0 - 1
src/main/resources/mappings/modules/weisha/CmMallOrganizeMapper.xml

@@ -198,7 +198,6 @@
     <select id="setUserServiceStatus">
     <select id="setUserServiceStatus">
         update user
         update user
         set serviceProviderStatus = #{status},
         set serviceProviderStatus = #{status},
-            userPermission = #{userPermission},
             validFlag = #{validFlag}
             validFlag = #{validFlag}
         where userId = #{userId}
         where userId = #{userId}
     </select>
     </select>

+ 0 - 492
src/main/webapp/WEB-INF/views/modules/miniprogram/cmMiniProgramUserForm.jsp

@@ -1,492 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" %>
-<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
-<html>
-<head>
-	<title>小程序用户管理管理</title>
-	<meta name="decorator" content="default"/>
-	<script type="text/javascript">
-		$(document).ready(function() {
-			//$("#name").focus();
-			$("#inputForm").validate({
-				submitHandler: function(form){
-					loading('正在提交,请稍等...');
-					form.submit();
-				},
-				errorContainer: "#messageBox",
-				errorPlacement: function(error, element) {
-					$("#messageBox").text("输入有误,请先更正。");
-					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
-						error.appendTo(element.parent().parent());
-					} else {
-						error.insertAfter(element);
-					}
-				}
-			});
-		});
-	</script>
-</head>
-<body>
-	<ul class="nav nav-tabs">
-		<li><a href="${ctx}/miniprogram/cmMiniProgramUser/">小程序用户管理列表</a></li>
-		<li class="active"><a href="${ctx}/miniprogram/cmMiniProgramUser/form?id=${cmMiniProgramUser.id}">小程序用户管理<shiro:hasPermission name="miniprogram:cmMiniProgramUser:edit">${not empty cmMiniProgramUser.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission name="miniprogram:cmMiniProgramUser:edit">查看</shiro:lacksPermission></a></li>
-	</ul><br/>
-	<form:form id="inputForm" modelAttribute="cmMiniProgramUser" action="${ctx}/miniprogram/cmMiniProgramUser/save" method="post" class="form-horizontal">
-		<form:hidden path="id"/>
-		<sys:message content="${message}"/>		
-		<div class="control-group">
-			<label class="control-label"><span class="help-inline"><font color="red">*</font> </span>userID:</label>
-			<div class="controls">
-				<form:input path="userID" htmlEscape="false" maxlength="11" class="input-xlarge required"/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">企业账号名:</label>
-			<div class="controls">
-				<form:input path="account" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">手机号码:</label>
-			<div class="controls">
-				<form:input path="mobile" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">邮箱:</label>
-			<div class="controls">
-				<form:input path="email" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户权限 0游客 1 普通用户 2 会所 3 供应商 4 协销:</label>
-			<div class="controls">
-				<form:input path="userPermission" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户名:</label>
-			<div class="controls">
-				<form:input path="userName" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">企业绑定手机号:</label>
-			<div class="controls">
-				<form:input path="bindMobile" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">头像:</label>
-			<div class="controls">
-				<form:input path="image" htmlEscape="false" maxlength="200" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">密码:</label>
-			<div class="controls">
-				<form:input path="password" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户会员等级,见表c_userlevel或枚举UserLevel:</label>
-			<div class="controls">
-				<form:input path="userLevelID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">组织名称:</label>
-			<div class="controls">
-				<form:input path="name" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">真实姓名:</label>
-			<div class="controls">
-				<form:input path="realName" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">昵称:</label>
-			<div class="controls">
-				<form:input path="nick" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">性别:</label>
-			<div class="controls">
-				<form:input path="sex" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户身份 0、个人 1、协销 2、会所 3、供应商:</label>
-			<div class="controls">
-				<form:input path="userIdentity" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户类型,见表c_usertype或枚举UserType:</label>
-			<div class="controls">
-				<form:input path="registerUserTypeID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">所属企业用户对应UserID:</label>
-			<div class="controls">
-				<form:input path="companyUserID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">微信openID:</label>
-			<div class="controls">
-				<form:input path="openID" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】是否是供应商,1是 空或0否:</label>
-			<div class="controls">
-				<form:input path="manufacturerFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">供应商状态,见表c_shopstatus或枚举ShopStatus:</label>
-			<div class="controls">
-				<form:input path="manufacturerStatus" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">企业账号由哪一个用户升级而来,对应一个userID:</label>
-			<div class="controls">
-				<form:input path="upgradeBy" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">供应商Id:</label>
-			<div class="controls">
-				<form:input path="shopID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】是否创客,1是 空或0否:</label>
-			<div class="controls">
-				<form:input path="serviceProviderFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】是否会所,1是 空或0否:</label>
-			<div class="controls">
-				<form:input path="clubFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】达人标志:</label>
-			<div class="controls">
-				<form:input path="masterFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】:</label>
-			<div class="controls">
-				<form:input path="normalFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">审核状态:</label>
-			<div class="controls">
-				<form:input path="auditStatus" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">审核时间:</label>
-			<div class="controls">
-				<form:input path="auditTime" htmlEscape="false" maxlength="19" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">审核备注:</label>
-			<div class="controls">
-				<form:input path="auditNote" htmlEscape="false" maxlength="100" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">注册时间:</label>
-			<div class="controls">
-				<form:input path="registerTime" htmlEscape="false" maxlength="19" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">注册ip:</label>
-			<div class="controls">
-				<form:input path="registerIP" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">登录时间:</label>
-			<div class="controls">
-				<form:input path="loginTime" htmlEscape="false" maxlength="19" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">登录ip:</label>
-			<div class="controls">
-				<form:input path="loginIP" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户状态,1正常,0冻结:</label>
-			<div class="controls">
-				<form:input path="validFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">emailCheckFlag:</label>
-			<div class="controls">
-				<form:input path="emailCheckFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">mobileCheckFlag:</label>
-			<div class="controls">
-				<form:input path="mobileCheckFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">会所状态,见表c_clubstatus或枚举ClubStatus:</label>
-			<div class="controls">
-				<form:input path="clubStatus" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">会所Id:</label>
-			<div class="controls">
-				<form:input path="clubID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">同意协议标志:</label>
-			<div class="controls">
-				<form:input path="agreeFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】:</label>
-			<div class="controls">
-				<form:input path="activationCode" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】:</label>
-			<div class="controls">
-				<form:input path="activationDate" htmlEscape="false" maxlength="10" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">创客状态:</label>
-			<div class="controls">
-				<form:input path="serviceProviderStatus" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">创客Id:</label>
-			<div class="controls">
-				<form:input path="serviceProviderID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】达人状态:</label>
-			<div class="controls">
-				<form:input path="masterStatus" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】达人ID:</label>
-			<div class="controls">
-				<form:input path="masterID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">账户余额:</label>
-			<div class="controls">
-				<form:input path="userMoney" htmlEscape="false" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">积分:</label>
-			<div class="controls">
-				<form:input path="point" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">开通ERP标志:</label>
-			<div class="controls">
-				<form:input path="shopERPFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">邀请人Id:</label>
-			<div class="controls">
-				<form:input path="fromUserID" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">邀请人名称:</label>
-			<div class="controls">
-				<form:input path="fromUserName" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">退出时间:</label>
-			<div class="controls">
-				<form:input path="logoffTime" htmlEscape="false" maxlength="19" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">appKey:</label>
-			<div class="controls">
-				<form:input path="appKey" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">appSecret:</label>
-			<div class="controls">
-				<form:input path="appSecret" htmlEscape="false" maxlength="25" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】:</label>
-			<div class="controls">
-				<form:input path="sampleFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">扫描标志(4 CRM拉上来的会所) 0待扫描 1 已扫描 2已上线:</label>
-			<div class="controls">
-				<form:input path="scanFlag" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】:</label>
-			<div class="controls">
-				<form:input path="sysroleid" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】:</label>
-			<div class="controls">
-				<form:input path="gender" htmlEscape="false" maxlength="2" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">年龄:</label>
-			<div class="controls">
-				<form:input path="age" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">salerbuyer:</label>
-			<div class="controls">
-				<form:input path="salerbuyer" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">position:</label>
-			<div class="controls">
-				<form:input path="position" htmlEscape="false" maxlength="128" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">skill:</label>
-			<div class="controls">
-				<form:input path="skill" htmlEscape="false" maxlength="128" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">workage:</label>
-			<div class="controls">
-				<form:input path="workage" htmlEscape="false" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">微信号:</label>
-			<div class="controls">
-				<form:input path="wechat" htmlEscape="false" maxlength="64" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">QQ号:</label>
-			<div class="controls">
-				<form:input path="qq" htmlEscape="false" maxlength="32" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">短信是否发送成功:</label>
-			<div class="controls">
-				<form:input path="smsFlag" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">采美豆数量:</label>
-			<div class="controls">
-				<form:input path="userBeans" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】平台商标志位0非平台商 1平台商:</label>
-			<div class="controls">
-				<form:input path="privateShopFlag" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">【已废弃】平台会所标志位0非平台会所 1平台会所:</label>
-			<div class="controls">
-				<form:input path="privateClubFlag" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">是否创客授权:</label>
-			<div class="controls">
-				<form:input path="isMeiDaoAuthorized" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">是否已经引导过(供应商首次登陆操作引导):</label>
-			<div class="controls">
-				<form:input path="guideFlag" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">loginFailTime:</label>
-			<div class="controls">
-				<form:input path="loginFailTime" htmlEscape="false" maxlength="11" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户登录时的提示状态:0 未提示 1 已提示:</label>
-			<div class="controls">
-				<form:input path="tipStatus" htmlEscape="false" maxlength="1" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">用户申请加入企业的时间:</label>
-			<div class="controls">
-				<form:input path="applyTime" htmlEscape="false" maxlength="19" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">小程序openId:</label>
-			<div class="controls">
-				<form:input path="miniProgramOpenId" htmlEscape="false" maxlength="50" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label">小程序用户Id eg: x0001目的是用来记录小程序的用户数量:</label>
-			<div class="controls">
-				<form:input path="miniProgramId" htmlEscape="false" maxlength="20" class="input-xlarge "/>
-			</div>
-		</div>
-		<div class="form-actions">
-			<shiro:hasPermission name="miniprogram:cmMiniProgramUser:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
-			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
-		</div>
-	</form:form>
-</body>
-</html>

+ 3 - 1
src/main/webapp/WEB-INF/views/modules/serviceteam/cmServiceteamRoleForm.jsp

@@ -86,6 +86,8 @@
     </shiro:hasPermission>
     </shiro:hasPermission>
     <li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
     <li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
     <li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
     <li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+    <li><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+
     <li class="active"><a
     <li class="active"><a
             href="${ctx}/serviceteam/cmServiceteamRole/form?teamId=${cmServiceteamRole.teamId}">协销小组${not empty cmServiceteamRole.teamId?'编辑':'添加'}</a>
             href="${ctx}/serviceteam/cmServiceteamRole/form?teamId=${cmServiceteamRole.teamId}">协销小组${not empty cmServiceteamRole.teamId?'编辑':'添加'}</a>
     </li>
     </li>
@@ -166,4 +168,4 @@
     </div>
     </div>
 </form:form>
 </form:form>
 </body>
 </body>
-</html>
+</html>

+ 4 - 2
src/main/webapp/WEB-INF/views/modules/serviceteam/cmServiceteamRoleList.jsp

@@ -10,7 +10,7 @@
 	</style>
 	</style>
 	<script type="text/javascript">
 	<script type="text/javascript">
 		$(document).ready(function() {
 		$(document).ready(function() {
-			
+
 		});
 		});
 		function page(n,s){
 		function page(n,s){
 			$("#pageNo").val(n);
 			$("#pageNo").val(n);
@@ -26,6 +26,8 @@
 		<shiro:hasPermission name="user:newCmClub:edit"><li><a href="${ctx}/new/user/cmSp/cmSpForm">添加协销人员</a></li></shiro:hasPermission>
 		<shiro:hasPermission name="user:newCmClub:edit"><li><a href="${ctx}/new/user/cmSp/cmSpForm">添加协销人员</a></li></shiro:hasPermission>
 		<li class="active"><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
 		<li class="active"><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
 		<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
 		<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+		<li><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+
 	</ul>
 	</ul>
 	<form:form id="searchForm" modelAttribute="cmServiceteamRole" action="${ctx}/serviceteam/cmServiceteamRole/" method="post" class="breadcrumb form-search">
 	<form:form id="searchForm" modelAttribute="cmServiceteamRole" action="${ctx}/serviceteam/cmServiceteamRole/" method="post" class="breadcrumb form-search">
 		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
@@ -93,4 +95,4 @@
 	</table>
 	</table>
 	<div class="pagination">${page}</div>
 	<div class="pagination">${page}</div>
 </body>
 </body>
-</html>
+</html>

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

@@ -52,6 +52,7 @@
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
     <li class="active"><a href="${ctx}/new/user/agency/">机构基本资料列表</a></li>
     <li class="active"><a href="${ctx}/new/user/agency/">机构基本资料列表</a></li>
     <li><a href="${ctx}/new/user/agency/statisticsList">机构分析统计列表</a></li>
     <li><a href="${ctx}/new/user/agency/statisticsList">机构分析统计列表</a></li>
+    <li><a href="${ctx}/new/user/agency/cmSpClubTrackList">新分配机构跟踪管理</a></li>
     <li><a href="${ctx}/user/clubTemporary/">未确认机构</a></li>
     <li><a href="${ctx}/user/clubTemporary/">未确认机构</a></li>
     <li><a href="${ctx}/user/cmOperational/">操作日志</a></li>
     <li><a href="${ctx}/user/cmOperational/">操作日志</a></li>
 </ul>
 </ul>

+ 1 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmAgencyStatisticsList.jsp

@@ -56,6 +56,7 @@
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
     <li><a href="${ctx}/new/user/agency/">机构基本资料列表</a></li>
     <li><a href="${ctx}/new/user/agency/">机构基本资料列表</a></li>
     <li class="active"><a href="${ctx}/new/user/agency/statisticsList">机构分析统计列表</a></li>
     <li class="active"><a href="${ctx}/new/user/agency/statisticsList">机构分析统计列表</a></li>
+    <li><a href="${ctx}/new/user/agency/cmSpClubTrackList">新分配机构跟踪管理</a></li>
     <li><a href="${ctx}/user/clubTemporary/">未确认机构</a></li>
     <li><a href="${ctx}/user/clubTemporary/">未确认机构</a></li>
     <li><a href="${ctx}/user/cmOperational/">操作日志</a></li>
     <li><a href="${ctx}/user/cmOperational/">操作日志</a></li>
 </ul>
 </ul>

+ 267 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmSpClubTrackList.jsp

@@ -0,0 +1,267 @@
+<%@ page import="java.util.Date" %><%--
+  Created by IntelliJ IDEA.
+  User: Administrator
+  Date: 2020/4/12
+  Time: 12:01
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+	<title>机构活跃分析管理</title>
+	<meta name="decorator" content="default"/>
+	<style type="text/css">
+		.table th {
+			text-align: center;
+		}
+
+		.table td {
+			text-align: center;
+		}
+
+		.livelyProportion {
+			background: #f5f5f5;
+			height: 150px;
+			display: flex;
+			list-style: none;
+
+		}
+
+		.livelyProportion > li {
+			flex: 1;
+			text-align: center;
+			margin: auto 0;
+			font-size: 20px;
+			font-weight: bold;
+		}
+
+
+	</style>
+	<script type="text/javascript">
+		$(document).ready(function () {
+			let date = new Date().getTime()
+			let date0 = formatDate(date)
+			let date1 = formatDate(date - 24 * 60 * 60 * 1000)
+			let date2 = formatDate(date - 24 * 60 * 60 * 1000 * 2)
+			let date3 = formatDate(${newCmClub.providerTime.getTime()})
+			if (date0 == date3) {
+				$("#conlog").text("(今天)")
+			} else if (date1 == date3) {
+				$("#conlog").text("(昨天)")
+			} else if (date2 == date3) {
+				$("#conlog").text("(前天)")
+			}
+
+		})
+
+		function formatDate(date) {
+			//date为时间戳
+			var date = new Date(date);
+			var Y = date.getFullYear() + '-';
+			var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+			var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
+			var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
+			var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
+			var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
+			return Y + M + D;
+		}
+
+		function checkProviderTime(type) {
+			var date = new Date($("#providerTime").val()).getTime()
+			if (formatDate(new Date()) != formatDate(date)||type == 1) {
+				if (type != 1) {
+					date = date + 24 * 60 * 60 * 1000
+				} else {
+					date = date - 24 * 60 * 60 * 1000
+				}
+
+				$("#providerTime").val(formatDate(date))
+				$("#searchForm").submit()
+			}else {
+				$.jBox.tip("当前已经是最新的记录了!", 'info');
+			}
+
+		}
+		/**
+		 * @param obj
+		 * jquery控制input只能输入数字
+		 */
+		function onlynum(obj) {
+			obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+		}
+		function page(n, s) {
+			$("#pageNo").val(n);
+			$("#pageSize").val(s);
+			$("#searchForm").submit();
+			return false;
+		}
+
+	</script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+	<li><a href="${ctx}/new/user/agency/list">机构基本资料列表</a></li>
+	<li><a href="${ctx}/new/user/agency/statisticsList">机构分析统计列表</a></li>
+	<li class="active"><a href="${ctx}/new/user/agency/cmSpClubTrackList">新分配机构跟踪管理</a></li>
+	<li><a href="${ctx}/user/clubTemporary/">未确认机构</a></li>
+	<li><a href="${ctx}/user/cmOperational/">操作日志</a></li>
+</ul>
+
+<ul class="breadcrumb livelyProportion">
+	<li>
+		<div>
+			<img src="/static/images/left.png" style="width: 50px" border="none" onclick="checkProviderTime(1)">
+			<span><fmt:formatDate value="${Date(newCmClub.providerTime.getTime()- 24 * 60 * 60 * 1000)}"
+								  pattern="yyyy年M月dd日 "></fmt:formatDate></span>
+		</div>
+	</li>
+	<li>
+		<div style="font-size: 40px;">
+			<fmt:formatDate value="${newCmClub.providerTime}"
+							pattern="yyyy年M月dd日 "></fmt:formatDate>
+			<span style="font-size: 20px;color:#0bbbee;position: relative;bottom: 5px"  id="conlog"></span>
+		</div>
+	</li>
+	<li>
+		<div>
+			<span><fmt:formatDate value="${Date(newCmClub.providerTime.getTime()+ 24 * 60 * 60 * 1000)}"
+								  pattern="yyyy年M月dd日 "></fmt:formatDate></span>
+			<img src="/static/images/right.png" border="none" style="width: 50px" onclick="checkProviderTime(0)">
+		</div>
+	</li>
+</ul>
+<form:form id="searchForm" modelAttribute="newCmClub" action="${ctx}/new/user/agency/cmSpClubTrackList/" method="post"
+		   class="breadcrumb form-search">
+	<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+	<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+	<input id="providerTime" name="providerTime" type="hidden" value="<fmt:formatDate value="${newCmClub.providerTime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
+	<div class="flex-wrap">
+		<div class="item">
+			<label>机构ID:</label>
+			<form:input path="clubID"  onkeyup="onlynum(this)"  htmlEscape="false"
+						maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>机构名称:</label>
+			<form:input path="name" htmlEscape="false" maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>联系人:</label>
+			<form:input path="linkMan" htmlEscape="false" maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>手机号:</label>
+			<form:input path="bindMobile" htmlEscape="false" maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>协销:</label>
+			<form:select path="spID" class="input-medium">
+				<form:option value="" label="全部"/>
+				<form:options items="${spNameList}" itemLabel="name" itemValue="serviceProviderID" htmlEscape="false"/>
+			</form:select>
+		</div>
+		<div class="item">
+			<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
+		</div>
+	</div>
+</form:form>
+<sys:message content="${message}"/>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+	<thead>
+	<tr>
+		<th>机构ID</th>
+		<th>机构名称</th>
+		<th>协销</th>
+		<th>分配时间</th>
+		<th>联系人</th>
+		<th>手机号</th>
+		<th>机构级别</th>
+		<th>状态</th>
+		<th>注册时间</th>
+		<th>上次登录时间</th>
+		<th>操作</th>
+	</tr>
+	</thead>
+	<tbody>
+	<c:forEach items="${page.list}" var="newCmClubList">
+		<tr>
+			<td>${newCmClubList.clubID}</td>
+			<td>
+				<a href="${ctx}/new/user/agency/clubPortrait?clubID=${newCmClubList.clubID}&clubName=${newCmClubList.name}&dateType=0&type=4">${newCmClubList.name}</a>
+			</td>
+			<td>
+					${newCmClubList.spName}
+			</td>
+			<td><fmt:formatDate value="${newCmClubList.providerTime}"
+								pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate></td>
+			<td>${newCmClubList.userName}</td>
+			<td>${newCmClubList.bindMobile}</td>
+
+			<td>
+				<c:if test="${newCmClubList.userIdentity eq 4}">
+					个人机构
+					<c:if test="${newCmClubList.svipUserFlag eq 1}">
+						<font color="red">(超级会员)</font>
+					</c:if>
+					<c:if test="${newCmClubList.svipUserFlag ne 1}">
+						<font color="black">(普通会员)</font>
+					</c:if>
+				</c:if>
+				<c:if test="${newCmClubList.userIdentity eq 2}">
+					资质机构
+					<c:if test="${newCmClubList.svipUserFlag eq 1}">
+						<font color="red">(超级会员)</font>
+					</c:if>
+					<c:if test="${empty newCmClubList.medicalPracticeLicenseImg and newCmClubList.svipUserFlag ne 1}">
+						<font color="red">(高级会员)</font>
+					</c:if>
+					<c:if test="${!empty newCmClubList.medicalPracticeLicenseImg and newCmClubList.svipUserFlag ne 1}">
+						<font color="red">(医美会员)</font>
+					</c:if>
+				</c:if>
+			</td>
+			<td>
+				<c:choose>
+					<c:when test="${newCmClubList.status eq 90}">
+						<font color="green">已上线</font>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 91}">
+						<font color="red">已下线</font>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 92}">
+						<a href="JavaScript:;" onclick="return alertx('不通过原因:${newCmClubList.auditNote}')"
+						   style="text-decoration:underline;"><font color="red">审核未通过</font></a>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 93}">
+						<font color="#BF826C">已确认</font>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 94}">
+						<font color="red">已冻结</font>
+					</c:when>
+					<c:otherwise>
+						${fns:getDictLabel(newCmClubList.status, 'club_status', newCmClubList.status)}
+					</c:otherwise>
+				</c:choose>
+			</td>
+			<td>
+				<fmt:formatDate value="${newCmClubList.registerTime}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
+			</td>
+			<td>
+				<fmt:formatDate value="${newCmClubList.loginTime}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
+			</td>
+			<td>
+				<a href="${ctx}/new/user/agency/regist?clubId=${newCmClubList.clubID}&clubName=${newCmClubList.name}">咨询记录</a>
+				<a href="${ctx}/new/user/agency/spLogs?clubID=${newCmClubList.clubID}">协销更换记录</a>
+			</td>
+		</tr>
+	</c:forEach>
+	</tbody>
+</table>
+<div class="pagination">${page}</div>
+<script>
+</script>
+</body>
+</html>
+

+ 2 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmSpForm.jsp

@@ -59,6 +59,8 @@
 		<li class="active"><a href="${ctx}/new/user/cmSp/cmSpForm?id=${cmSp.id}"><shiro:hasPermission name="user:newCmClub:edit">${not empty cmSp.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission name="user:newCmClub:edit">查看</shiro:lacksPermission>协销人员</a></li>
 		<li class="active"><a href="${ctx}/new/user/cmSp/cmSpForm?id=${cmSp.id}"><shiro:hasPermission name="user:newCmClub:edit">${not empty cmSp.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission name="user:newCmClub:edit">查看</shiro:lacksPermission>协销人员</a></li>
 		<li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
 		<li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
 		<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
 		<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+		<li><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+
 	</ul><br/>
 	</ul><br/>
 	<form id="inputForm" onsubmit="return false" action="##" method="post" class="form-horizontal">
 	<form id="inputForm" onsubmit="return false" action="##" method="post" class="form-horizontal">
 		<div class="control-group">
 		<div class="control-group">

+ 2 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmSpList.jsp

@@ -34,6 +34,8 @@
 	<shiro:hasPermission name="user:newCmClub:edit"><li><a href="${ctx}/new/user/cmSp/cmSpForm">添加协销人员</a></li></shiro:hasPermission>
 	<shiro:hasPermission name="user:newCmClub:edit"><li><a href="${ctx}/new/user/cmSp/cmSpForm">添加协销人员</a></li></shiro:hasPermission>
 	<li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
 	<li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
 	<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
 	<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+	<li><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+
 </ul>
 </ul>
 <form:form id="searchForm" modelAttribute="newCmSp" action="${ctx}/new/user/cmSp/cmSpList/" method="post" class="breadcrumb form-search">
 <form:form id="searchForm" modelAttribute="newCmSp" action="${ctx}/new/user/cmSp/cmSpList/" method="post" class="breadcrumb form-search">
 	<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 	<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>

+ 246 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmSpLivelyClubFrom.jsp

@@ -0,0 +1,246 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: Administrator
+  Date: 2020/4/12
+  Time: 12:01
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+	<title>机构活跃分析管理</title>
+	<meta name="decorator" content="default"/>
+	<style type="text/css">
+		.table th {
+			text-align: center;
+		}
+
+		.table td {
+			text-align: center;
+		}
+
+		.livelyProportion {
+			background: #f5f5f5;
+			height: 150px;
+			display: flex;
+			list-style: none;
+
+		}
+
+		.livelyProportion > li {
+			flex: 1;
+			text-align: center;
+			margin: auto 0
+		}
+
+		.livelyBorder {
+			color: red;
+			border-bottom: red 5px solid;
+		}
+
+	</style>
+	<script type="text/javascript">
+		$(document).ready(function () {
+			if (${newCmClub.startLoginTime ne ''}) {
+				$("#livelyBorder>li:eq(0)").attr("class", "livelyBorder")
+			} else {
+				$("#livelyBorder>li:eq(1)").attr("class", "livelyBorder")
+			}
+			$("#livelyBorder>li").click(function (item) {
+				var dateTime = new Date();
+				$("#livelyBorder>li").attr("class", "")
+				if ($(this).index() == 0) {
+					$("#startLoginTime").attr("value", formatDate(dateTime.setMonth(dateTime.getMonth() - 6)))
+					$("#endLoginTime").attr("value", "")
+					$(this).attr("class", "livelyBorder")
+				} else {
+					$("#startLoginTime").attr("value", "")
+					$("#endLoginTime").attr("value", formatDate(dateTime.setMonth(dateTime.getMonth() - 6)))
+					$(this).attr("class", "livelyBorder")
+				}
+				$("#searchForm").submit()
+			})
+		});
+
+		function formatDate(date) {
+			//date为时间戳
+			var date = new Date(date);
+			var Y = date.getFullYear() + '-';
+			var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
+			var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
+			var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
+			var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
+			var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
+			return Y + M + D + " " + h + m + s;
+		}
+
+		function page(n, s) {
+			$("#pageNo").val(n);
+			$("#pageSize").val(s);
+			$("#searchForm").submit();
+			return false;
+		}
+
+	</script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+	<li><a href="${ctx}/new/user/cmSp/cmSpList/">协销人员列表</a></li>
+	<shiro:hasPermission name="user:newCmClub:edit">
+		<li><a href="${ctx}/new/user/cmSp/cmSpForm">添加协销人员</a></li>
+	</shiro:hasPermission>
+	<li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
+	<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+	<li><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+	<li class="active"><a href="${ctx}/new/user/cmSp/cmSpLivelyClubFrom?spID=${spId}">查看详情</a></li>
+</ul>
+
+<ul class="breadcrumb livelyProportion">
+	<li>
+		<h4>活跃机构</h4>
+		<br>
+		<p>(6个月内有登录商城等行为)</p>
+		<h2>${livelyClub}</h2>
+	</li>
+	<li>
+		<h4>不活跃机构</h4>
+		<br>
+		<p>(6个月内未登录商城等行为)</p>
+		<h2>${nolivelyClub}</h2>
+	</li>
+	<li>
+		<h4>活跃机构占比</h4>
+		<br>
+		<h2>${livelyClubProportion}%</h2>
+	</li>
+	<li>
+		<h4>不活跃机构占比</h4>
+		<br>
+		<h2>${nolivelyClubProportion}%</h2>
+	</li>
+</ul>
+<form:form id="searchForm" modelAttribute="newCmClub" action="${ctx}/new/user/cmSp/cmSpLivelyClubFrom/" method="post"
+		   class="breadcrumb form-search">
+	<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+	<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+	<div class="flex-wrap">
+		<form:hidden path="spID"/>
+		<form:hidden path="startLoginTime"/>
+		<form:hidden path="endLoginTime"/>
+		<div class="item">
+			<label>机构ID:</label>
+			<form:input path="clubID" onkeyup="this.value=value.replace(/[^\d]/g,'')" htmlEscape="false"
+						maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>机构名称:</label>
+			<form:input path="name" htmlEscape="false" maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>联系人:</label>
+			<form:input path="linkMan" htmlEscape="false" maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<label>手机号:</label>
+			<form:input path="bindMobile" htmlEscape="false" maxlength="50" class="input-medium"/>
+		</div>
+		<div class="item">
+			<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
+		</div>
+	</div>
+
+</form:form>
+<sys:message content="${message}"/>
+<div>
+	<ul id="livelyBorder" class="livelyProportion" style="height: 40px;width: 200px;background: white">
+		<li>活跃机构</li>
+		<li>不活跃机构</li>
+	</ul>
+</div>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+	<thead>
+	<tr>
+		<th>机构ID</th>
+		<th>机构名称</th>
+		<th>联系人</th>
+		<th>手机号</th>
+		<th>机构级别</th>
+		<th>状态</th>
+		<th>注册时间</th>
+		<th>上次登录时间</th>
+	</tr>
+	</thead>
+	<tbody>
+	<c:forEach items="${page.list}" var="newCmClubList">
+		<tr>
+			<td>${newCmClubList.clubID}</td>
+			<td>
+				<a href="${ctx}/new/user/agency/clubPortrait?clubID=${newCmClubList.clubID}&clubName=${newCmClubList.name}&dateType=0&type=4">${newCmClubList.name}</a>
+			</td>
+			<td>${newCmClubList.userName}</td>
+			<td>${newCmClubList.bindMobile}</td>
+
+			<td>
+				<c:if test="${newCmClubList.userIdentity eq 4}">
+					个人机构
+					<c:if test="${newCmClubList.svipUserFlag eq 1}">
+						<font color="red">(超级会员)</font>
+					</c:if>
+					<c:if test="${newCmClubList.svipUserFlag ne 1}">
+						<font color="black">(普通会员)</font>
+					</c:if>
+				</c:if>
+				<c:if test="${newCmClubList.userIdentity eq 2}">
+					资质机构
+					<c:if test="${newCmClubList.svipUserFlag eq 1}">
+						<font color="red">(超级会员)</font>
+					</c:if>
+					<c:if test="${empty newCmClubList.medicalPracticeLicenseImg and newCmClubList.svipUserFlag ne 1}">
+						<font color="red">(高级会员)</font>
+					</c:if>
+					<c:if test="${!empty newCmClubList.medicalPracticeLicenseImg and newCmClubList.svipUserFlag ne 1}">
+						<font color="red">(医美会员)</font>
+					</c:if>
+				</c:if>
+			</td>
+			<td>
+				<c:choose>
+					<c:when test="${newCmClubList.status eq 90}">
+						<font color="green">已上线</font>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 91}">
+						<font color="red">已下线</font>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 92}">
+						<a href="JavaScript:;" onclick="return alertx('不通过原因:${newCmClubList.auditNote}')"
+						   style="text-decoration:underline;"><font color="red">审核未通过</font></a>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 93}">
+						<font color="#BF826C">已确认</font>
+					</c:when>
+					<c:when test="${newCmClubList.status eq 94}">
+						<font color="red">已冻结</font>
+					</c:when>
+					<c:otherwise>
+						${fns:getDictLabel(newCmClubList.status, 'club_status', newCmClubList.status)}
+					</c:otherwise>
+				</c:choose>
+			</td>
+			<td>
+				<fmt:formatDate value="${newCmClubList.registerTime}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
+			</td>
+			<td>
+				<fmt:formatDate value="${newCmClubList.loginTime}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
+			</td>
+		</tr>
+	</c:forEach>
+	</tbody>
+</table>
+<div class="pagination">${page}</div>
+<script>
+</script>
+</body>
+</html>
+

+ 139 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmSpLivelyClubList.jsp

@@ -0,0 +1,139 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: Administrator
+  Date: 2020/4/12
+  Time: 12:01
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+	<title>机构活跃分析管理</title>
+	<meta name="decorator" content="default"/>
+	<style type="text/css">
+		.table th {
+			text-align: center;
+		}
+
+		.table td {
+			text-align: center;
+		}
+
+		.livelyProportion {
+			background: #f5f5f5;
+			height: 150px;
+			display: flex;
+			list-style: none;
+
+		}
+		.livelyProportion>li {
+			flex: 1;
+			text-align: center;
+			margin:  auto 0
+		}
+	</style>
+	<script type="text/javascript">
+		$(document).ready(function () {
+
+		});
+
+		function page(n, s) {
+			$("#pageNo").val(n);
+			$("#pageSize").val(s);
+			$("#searchForm").submit();
+			return false;
+		}
+	</script>
+</head>
+<body>
+<ul class="nav nav-tabs">
+	<li><a href="${ctx}/new/user/cmSp/cmSpList/">协销人员列表</a></li>
+	<shiro:hasPermission name="user:newCmClub:edit">
+		<li><a href="${ctx}/new/user/cmSp/cmSpForm">添加协销人员</a></li>
+	</shiro:hasPermission>
+	<li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
+	<li><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+	<li class="active"><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+</ul>
+
+<ul class="breadcrumb livelyProportion" >
+	<li>
+		<h4>活跃机构</h4>
+		<br>
+		<p>(6个月内有登录商城等行为)</p>
+		<h2>${livelyClub}</h2>
+	</li>
+	<li>
+		<h4>不活跃机构</h4>
+		<br>
+		<p>(6个月内未登录商城等行为)</p>
+		<h2>${nolivelyClub}</h2>
+	</li>
+	<li>
+		<h4>活跃机构占比</h4>
+		<br>
+		<h2>${livelyClubProportion}%</h2>
+	</li>
+	<li>
+		<h4>不活跃机构占比</h4>
+		<br>
+		<h2>${nolivelyClubProportion}%</h2>
+	</li>
+</ul>
+<form:form id="searchForm" modelAttribute="newCmSp" action="${ctx}/new/user/cmSp/cmSpLivelyClubList/" method="post"
+		   class="breadcrumb form-search">
+	<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+	<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+	<div class="ul-form">
+			<%--		<label>协销ID:</label>--%>
+			<%--			<form:input path="serviceProviderID" htmlEscape="false" maxlength="20" class="input-medium"/>--%>
+		<label>协销姓名:</label>
+		<form:input path="linkMan" htmlEscape="false" maxlength="20" class="input-medium"/>
+		<label>手机号:</label>
+		<form:input path="contractMobile" htmlEscape="false" maxlength="20" class="input-medium"/>
+		&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
+		<div class="clearfix"></div>
+	</div>
+</form:form>
+<sys:message content="${message}"/>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+	<thead>
+	<tr>
+		<th>协销ID</th>
+		<th>协销姓名</th>
+		<th>手机号</th>
+		<th>创建时间</th>
+		<th>活跃机构</th>
+		<th>不活跃机构</th>
+		<th>活跃机构占比</th>
+		<th>不活跃机构占比</th>
+		<th>操作</th>
+	</tr>
+	</thead>
+	<tbody>
+	<c:forEach items="${page.list}" var="newCmSp">
+		<tr>
+			<td>${newCmSp.serviceProviderID}</td>
+			<td>${newCmSp.linkMan}</td>
+			<td>${newCmSp.contractMobile}</td>
+			<td>${newCmSp.addTime}</td>
+			<td>${newCmSp.livelyClub}</td>
+			<td>${newCmSp.nolivelyClub}</td>
+			<td>${newCmSp.livelyClubProportion}%</td>
+			<td>${newCmSp.nolivelyClubProportion}%</td>
+			<td>
+				<a href="${ctx}/new/user/cmSp/cmSpLivelyClubFrom?spID=${newCmSp.serviceProviderID}">查看详情</a>
+			</td>
+		</tr>
+	</c:forEach>
+	</tbody>
+</table>
+<div class="pagination">${page}</div>
+<script>
+
+</script>
+</body>
+</html>
+

+ 3 - 1
src/main/webapp/WEB-INF/views/modules/userNew/cmSpTeamList.jsp

@@ -28,6 +28,8 @@
     </shiro:hasPermission>
     </shiro:hasPermission>
     <li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
     <li><a href="${ctx}/serviceteam/cmServiceteamRole/">协销小组</a></li>
     <li class="active"><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
     <li class="active"><a href="${ctx}/new/user/cmSp/leader/">协销总管理员</a></li>
+    <li><a href="${ctx}/new/user/cmSp/cmSpLivelyClubList/">机构活跃分析</a></li>
+
 </ul>
 </ul>
 <br/>
 <br/>
 <form:form id="inputForm" modelAttribute="newCmSp" action="${ctx}/new/user/cmSp/leader/save" method="post"
 <form:form id="inputForm" modelAttribute="newCmSp" action="${ctx}/new/user/cmSp/leader/save" method="post"
@@ -58,4 +60,4 @@
 </form:form>
 </form:form>
 </body>
 </body>
 
 
-</html>
+</html>

BIN
src/main/webapp/static/images/left.png


BIN
src/main/webapp/static/images/right.png


+ 5 - 2
src/test/java/com/caimei/info/InfoTest.java

@@ -7,6 +7,7 @@ import com.caimei.modules.landing.mapper.CmBrandLandingMapper;
 import com.caimei.modules.order.entity.NewShopOrder;
 import com.caimei.modules.order.entity.NewShopOrder;
 import com.caimei.modules.order.service.NewShopOrderService;
 import com.caimei.modules.order.service.NewShopOrderService;
 import com.caimei.modules.product.dao.CmOrganizeProductInfoMapper;
 import com.caimei.modules.product.dao.CmOrganizeProductInfoMapper;
+import com.caimei.modules.sys.utils.SMSUtils;
 import org.junit.Test;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 
 
@@ -41,8 +42,10 @@ public class InfoTest extends SpringTransactionalContextTests {
 
 
 	@Test
 	@Test
 	public void test(){
 	public void test(){
-		NewShopOrder cmShopOrderByShopOrderID = newShopOrderService.getCmShopOrderByShopOrderID("29352");
-		System.out.println(cmShopOrderByShopOrderID);
+//		SMSUtils.sendSms(4, "17708413951", "【采美365】系统已为你分配机构客户,请及时跟进。机构名称【" + "newCmClub.getName()" + "】,联系人【" + "newCmClub.getLinkMan()" + "】,手机号【" + "15600000000" + "】,上一任销售【" + "etName()" + "】。");
+
+//		NewShopOrder cmShopOrderByShopOrderID = newShopOrderService.getCmShopOrderByShopOrderID("29352");
+//		System.out.println(cmShopOrderByShopOrderID);
 
 
 //		CmBrandLanding cmBrandLanding = new CmBrandLanding();
 //		CmBrandLanding cmBrandLanding = new CmBrandLanding();
 //		cmBrandLanding.setType("not=1,2");
 //		cmBrandLanding.setType("not=1,2");