From ef369b3a2f4bec3435be8cae95252340294ee044 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 28 六月 2024 16:59:15 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   79 ++++++++++++++++++++++++---------------
 1 files changed, 49 insertions(+), 30 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 321887e..57e507d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -62,6 +62,7 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -124,6 +125,7 @@
     private SystemUserMapper systemUserMapper;
 
     @Autowired
+    @Lazy
     private SmsEmailService smsEmailService;
 
     @Value("${debug_model}")
@@ -378,6 +380,7 @@
         if(model ==null ||Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ュ憳宸ヤ俊鎭笉瀛樺湪锛岃鍒锋柊椤甸潰閲嶈瘯锛�");
         }
+        member.setSex(model.getSex());//榛樿鏄師鏉ョ殑鎬у埆
         if (StringUtils.isNotBlank(member.getPhone())  ){
             if ( !PhoneUtil.isPhone(member.getPhone())) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鐢佃瘽鍙风爜鏍煎紡鏈夎");
@@ -455,11 +458,12 @@
             systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
                             .set(SystemUser::getUpdateUser,member.getLoginUserInfo().getId())
                             .set(SystemUser::getUpdateTime,new Date())
-                            .set(StringUtils.isNotBlank(model.getFaceImg()),SystemUser::getAvatar,member.getFaceImg())
-                            .set(StringUtils.isNotBlank(model.getPhone()),SystemUser::getMobile,member.getPhone())
-                            .set(StringUtils.isNotBlank(model.getName()),SystemUser::getRealname,member.getName())
-                            .set(model.getCompanyId() !=null,SystemUser::getCompanyId,member.getCompanyId())
-                            .set(StringUtils.isNotBlank(model.getCode()),SystemUser::getEmpNo,member.getCode())
+                            .set(StringUtils.isNotBlank(member.getFaceImg()),SystemUser::getAvatar,member.getFaceImg())
+                            .set(StringUtils.isNotBlank(member.getPhone()),SystemUser::getMobile,member.getPhone())
+                            .set(StringUtils.isNotBlank(member.getPhone()),SystemUser::getUsername,member.getPhone())
+                            .set(StringUtils.isNotBlank(member.getName()),SystemUser::getRealname,member.getName())
+                            .set(member.getCompanyId() !=null,SystemUser::getCompanyId,member.getCompanyId())
+                            .set(StringUtils.isNotBlank(member.getCode()),SystemUser::getEmpNo,member.getCode())
                     .eq(SystemUser::getMemberId,model.getId()));
         }
         if(Constants.equalsInteger(model.getCompanyType(),Constants.ZERO)
@@ -541,6 +545,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public void deleteById(Integer id,LoginUserInfo loginUserInfo) {
         Member member=new Member();
         member.setId(id);
@@ -550,6 +555,17 @@
         member.setHkStatus(Constants.ZERO);
         member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
         memberMapper.updateById(member);
+
+        //鍒櫎绯荤粺鐧婚檰璐︽埛
+        SystemUser user = new SystemUser();
+        user.setMemberId(id);
+        systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getMemberId,id)
+                .set(SystemUser::getDeleted,Boolean.TRUE)
+                .set(SystemUser::getUpdateUser,member.getEditor())
+                .set(SystemUser::getUpdateTime,member.getEditDate())
+        );
+
         saveUserActionBiz(member,loginUserInfo,Constants.UserActionType.DELETE,userActionJoinMapper,JSONObject.toJSONString(member));
     }
 
@@ -596,7 +612,7 @@
                 //濡傛灉鍛樺伐淇℃伅涓嶅悎娉曠洿鎺ヨ烦杩�
                continue;
             }
-            if(StringUtils.isNotBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
+            if(StringUtils.isBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戠殑浜鸿劯淇℃伅涓嶆弧瓒虫巿鏉冩潯浠讹紝璇疯繑鍥炲畬鍠勫悗鍐嶈繘琛岃鎿嶄綔锛�");
             }
             member.setStartTime(memberRole.getStartTime());
@@ -788,8 +804,8 @@
         }
         for (Integer id:ids) {
             Member member = memberMapper.selectById(id);
-            if(!Objects.isNull(member)&&member.getStatus()==Constants.ZERO){
-                member.setStatus(Constants.TWO);
+            if(!Objects.isNull(member)&&member.getStatus()!=Constants.TWO){
+                member.setStatus(Constants.TWO);//鎭㈠姝e父鐘舵��
                 member.setEditor(loginUserInfo.getId());
                 member.setEditDate(new Date());
                 member.setAuthStatus(Constants.ZERO);//鏈巿鏉�
@@ -799,7 +815,6 @@
                 member.setEditor(loginUserInfo.getId());
                 //鍒犻櫎鍛樺伐闂ㄧ鏉冮檺
                 cancelAllMemberEmpower(member,memberRoleMapper,empowerMapper);
-
                 if(Constants.equalsInteger(type,Constants.ONE)){
                     saveUserActionBiz(member,loginUserInfo,Constants.UserActionType.FREEZE,userActionJoinMapper,JSONObject.toJSONString(member));
                 }
@@ -823,8 +838,8 @@
         }
         for (Integer id:ids) {
             Member member = memberMapper.selectById(id);
-            if(!Objects.isNull(member)&&member.getStatus()==Constants.ZERO){
-                member.setStatus(Constants.ONE);//鎭㈠姝e父鐘舵��
+            if(!Objects.isNull(member)&&member.getStatus()==Constants.TWO){
+                member.setStatus(Constants.ZERO);//鎭㈠姝e父鐘舵��
                 member.setEditor(loginUserInfo.getId());
                 member.setEditDate(new Date());
                 member.setAuthStatus(Constants.ZERO);//鏈巿鏉�
@@ -920,7 +935,7 @@
         userAction.setType(type.getKey());
         userAction.setContent(content);
         String info = type.getInfo();
-        userAction.setRemark(info.replace("${param1}",user!=null?user.getRealname():"绯荤粺").replace("${param2}", com.doumee.core.utils.DateUtil.getPlusTime2(updateMember.getEditDate())));
+        userAction.setRemark(info.replace("${param1}",user!=null?user.getRealname():"绯荤粺").replace("${param2}", com.doumee.core.utils.DateUtil.getPlusTime2(updateMember.getEditDate()!=null?updateMember.getEditDate():new Date())));
         userAction.setMemberId(updateMember.getId()+"");
         userActionMapper.insert(userAction);
     }
@@ -1086,6 +1101,9 @@
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
         queryWrapper.selectAll(Member.class)
                 .selectAs(Company::getName,Member::getCompanyName) ;
+        if(StringUtils.isNotBlank(member.getName())){
+            queryWrapper.like(Member::getName,member.getName());
+        }
 
         if(null != member.getType()) {
             queryWrapper.eq(Member::getType,member.getType());
@@ -1095,11 +1113,11 @@
         }
         queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
         List<Member> list =  memberJoinMapper.selectJoinList(Member.class,queryWrapper);
-        if(list!=null){
-            for(Member m : list){
-                m.setName(StringUtils.defaultString(m.getName(),"")+"-"+StringUtils.defaultString(m.getCompanyName(),""));
-            }
-        }
+//        if(list!=null){
+//            for(Member m : list){
+//                m.setName(StringUtils.defaultString(m.getName(),"")+"-"+StringUtils.defaultString(m.getCompanyName(),""));
+//            }
+//        }
         return  list;
     }
     @Override
@@ -1109,7 +1127,7 @@
         queryWrapper.selectAll(Member.class)
                 .selectAs(Company::getName,Member::getCompanyName)
                 .eq(Member::getType,Constants.TWO)
-                .exists("select d.id from car_driver b where b.isdeleted=0 and b.member_id=t.id");
+                .exists("select b.id from car_driver b where b.isdeleted=0 and b.member_id=t.id");
 
         if(null != member.getType()) {
             queryWrapper.eq(Member::getType,member.getType());
@@ -1141,7 +1159,6 @@
         if(pageWrap.getModel().getType() != null){
             if(pageWrap.getModel().getType().equals(Constants.memberType.visitor)){
                 queryWrapper.select(" * , (select v.COMPANY_NAME  from visits v where v.MEMBER_ID =  member.id and v.STATUS = 2   order by v.CREATE_DATE desc limit 1 ) as companyName  , " +
-                        " (select v.STARTTIME  from visits v where v.MEMBER_ID =  member.id and v.STATUS = 2   order by v.CREATE_DATE desc limit 1 )  as lastVisitDate , " +
                         " (select count(1) from visits v where v.MEMBER_ID =  member.id and v.STATUS = 2 ) as visitTimes  ");
             }
         }
@@ -1452,12 +1469,11 @@
     public PageData<Member> findUnusualPage(PageWrap<MemberQuery> pageWrap) {
         IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
+        int actiontype =Constants.equalsInteger(pageWrap.getModel().getType(),Constants.ONE)?Constants.UserActionType.BLACKLIST.getKey():Constants.UserActionType.FREEZE.getKey();
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
         queryWrapper.selectAll(Member.class)
-                .selectAs(Company::getName,Member::getCompanyName)
-                .select(" (select ua.CREATE_DATE from user_action ua where ua.MEMBER_ID=t.id and ua.ISDELETED=0  order by ua.CREATE_DATE desc  limit 1) as optTime")
-                .select(" (select s.REALNAME from user_action uac left join system_user s on uac.CREATOR = s.ID    where uac.MEMBER_ID=t.id and uac.ISDELETED=0 order by uac.CREATE_DATE desc  limit 1) as creatorName")
-                .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE desc  limit 1) as visitsLastDate")
+                .selectAs(Company::getCompanyNamePath,Member::getCompanyName)
+                .select(" (select ua.remark from user_action ua where ua.MEMBER_ID=t.id and ua.ISDELETED=0 and ua.type="+actiontype+"  order by ua.CREATE_DATE desc  limit 1) as optRemark")
                 .eq(Member::getIsdeleted,Constants.ZERO);
                 queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCreaterId()),Member::getEditor,pageWrap.getModel().getCreaterId());
                 queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Member::getType,pageWrap.getModel().getType());
@@ -1610,11 +1626,11 @@
         String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
         String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code)
                 .replace("APPID", appId).replace("SECRET", appSecret);
-        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
-        String openId = null;
-        if(!Objects.isNull(tokenJson.get("access_token"))){
-            openId = tokenJson.getString("openid");
-        }
+//        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
+        String openId = code;
+//        if(!Objects.isNull(tokenJson.get("access_token"))){
+//            openId = tokenJson.getString("openid");
+//        }
 //        String openId = "12345";
         WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
         wxAuthorizeVO.setOpenid(openId);
@@ -1657,7 +1673,10 @@
 
     @Override
     public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){
-        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+        List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
+                .selectAll(Member.class)
+                        .selectAs(Company::getName,Member::getCompanyName)
+                .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                 .eq(StringUtils.isNotBlank(checkVisitedDTO.getMobile()),Member::getPhone,checkVisitedDTO.getMobile())
                 .eq(StringUtils.isNotBlank(checkVisitedDTO.getName()),Member::getName,checkVisitedDTO.getName())
                 .eq(Member::getIsdeleted,Constants.ZERO)
@@ -1998,7 +2017,7 @@
         Member member = new Member();
         member.setCreateDate(new Date());
         member.setIsdeleted(Constants.ZERO);
-        member.setType(Constants.TWO);
+        member.setType(Constants.THREE);
         member.setName(registerDriverDTO.getName());
         member.setPhone(registerDriverDTO.getPhone());
         member.setStatus(Constants.ZERO);

--
Gitblit v1.9.3