From bf8d85d5f83c2036fb4239d764d33e99c1b62bd3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 31 五月 2024 14:53:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  126 +++++++++++++++++++++++++++--------------
 1 files changed, 82 insertions(+), 44 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 f394837..7f6b533 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
@@ -52,6 +52,8 @@
 import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
 import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
+import com.doumee.service.system.SystemLoginService;
+import com.doumee.service.system.SystemUserService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.RandomStringUtils;
@@ -167,6 +169,7 @@
         user.setSalt(salt);
         // 鍒涘缓鐢ㄦ埛璁板綍
         user.setType(insert.getType());
+        user.setAvatar(insert.getFaceImg());
         user.setUsername(insert.getPhone());
         user.setEmpNo(insert.getCode());
         user.setRealname(insert.getName());
@@ -202,6 +205,7 @@
         insert.setCanVisit(Constants.ZERO);//榛樿涓嶅彲璁块棶
         insert.setAuthStatus(Constants.ZERO);
         insert.setName(member.getName());
+        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
         insert.setHkStatus(Constants.ONE);
         insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//鏍规嵁韬唤璇佸彿鑾峰彇鎬у埆
         insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
@@ -443,11 +447,15 @@
             member.setHkOrgId(company.getHkId());
             isNeedUpdateUser = true;
         }
+        if(StringUtils.isNotBlank(model.getFaceImg())){
+            isNeedUpdateUser=true;
+        }
         if(isNeedUpdateUser){
             //鏇存柊绯荤粺鐢ㄦ埛璐﹀彿淇℃伅
             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())
@@ -472,6 +480,10 @@
         }
         member.setHkId(model.getHkId());
         member.setFaceId(model.getFaceId());//浜鸿劯缂栫爜
+        if(StringUtils.equals(model.getFaceImg(),member.getFaceImg())){
+            //濡傛灉浜鸿劯娌″彉鍖�
+            member.setFaceImg(null);
+        }
         return model;
     }
 
@@ -529,9 +541,7 @@
     }
 
     @Override
-    public void deleteById(Integer id,LoginUserInfo user) {
-        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
+    public void deleteById(Integer id,LoginUserInfo loginUserInfo) {
         Member member=new Member();
         member.setId(id);
         member.setIsdeleted(Constants.ZERO);
@@ -565,7 +575,7 @@
         }else{
             if( ! (Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO)
                     ||Constants.equalsInteger(memberRole.getTimeType(),Constants.TWO)
-                    || (Constants.equalsObject(memberRole.getTimeType(),Constants.ONE)
+                    || (Constants.equalsInteger(memberRole.getTimeType(),Constants.ONE)
                     && memberRole.getStartTime() !=null && memberRole.getEndTime() != null ))){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST);
             }
@@ -576,7 +586,7 @@
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈夋晥鏈熸埅姝㈡棩鏈熶笉鑳藉皬浜庡紑濮嬫椂闂达紒");
             }
         }
-        if(Constants.equalsObject(memberRole.getTimeType(),Constants.ZERO) ){
+        if(Constants.equalsInteger(memberRole.getTimeType(),Constants.ZERO) ){
            memberRole.setStartTime(null);
            memberRole.setEndTime(null);
         }
@@ -586,12 +596,12 @@
                 //濡傛灉鍛樺伐淇℃伅涓嶅悎娉曠洿鎺ヨ烦杩�
                continue;
             }
+            if(StringUtils.isNotBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戠殑浜鸿劯淇℃伅涓嶆弧瓒虫巿鏉冩潯浠讹紝璇疯繑鍥炲畬鍠勫悗鍐嶈繘琛岃鎿嶄綔锛�");
+            }
             member.setStartTime(memberRole.getStartTime());
             member.setEndTime(memberRole.getEndTime());
             Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper);
-            if(ischange == 0){
-                return;//鏈彂鐜版潈闄愬彉鍖栵紝鐩存帴杩斿洖
-            }
             if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�");
             }
@@ -944,10 +954,10 @@
        if(model ==null) {
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝浜哄憳淇℃伅涓嶅瓨鍦紒");
        }
-        if(!Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
+        if(!Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍙湁閽堝绂昏亴浜哄憳鍙繘琛岃鎿嶄綔锛�");
        }
-        if(Constants.equalsObject(model.getHkStatus(),Constants.ONE)){
+        if(Constants.equalsInteger(model.getHkStatus(),Constants.ONE)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヤ汉鍛樺凡琚垹闄わ紒");
        }
         if(StringUtils.isBlank(model.getHkId())){
@@ -962,7 +972,7 @@
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝浜哄憳淇℃伅涓嶅瓨鍦紒");
         }
        if(model.getCompanyId()!=null) {
-           if(Constants.equalsObject(member.getHeadStatus(),Constants.ONE)){
+           if(Constants.equalsInteger(member.getHeadStatus(),Constants.ONE)){
                //濡傛灉鏄彇娑堜富绠�
                companyMapper.update(null,new UpdateWrapper<Company>().lambda()
                        .eq(Company::getId,model.getCompanyId())
@@ -1076,6 +1086,33 @@
         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());
+        }
+        if(null != member.getCompanyId()) {
+            queryWrapper.eq(Member::getCompanyId,member.getCompanyId());
+        }
+        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(),""));
+            }
+        }
+        return  list;
+    }
+    @Override
+    public List<Member> findDriveList(Member member) {
+        MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+        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");
 
         if(null != member.getType()) {
             queryWrapper.eq(Member::getType,member.getType());
@@ -1311,7 +1348,7 @@
 //                .eq(Member::getStatus,Constants.Status.ENABLE.getValue())
 //                .eq(Member::getType,Constants.memberType.internal)
                 .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus())
-                .orderByDesc(!Constants.equalsObject(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getCreateDate)
+                .orderByDesc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getCreateDate)
                 .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate);
         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
             queryWrapper.eq( StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId());
@@ -1581,6 +1618,7 @@
         if(!Objects.isNull(tokenJson.get("access_token"))){
             openId = tokenJson.getString("openid");
         }
+//        String openId = "12345";
         WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
         wxAuthorizeVO.setOpenid(openId);
         //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
@@ -1607,11 +1645,11 @@
             String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
                     systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
             member.setPrefixUrl(prefixUrl);
-            JwtPayLoad payLoad = new JwtPayLoad(Integer.toString(member.getId()));
-            String token = JwtTokenUtil.generateToken(payLoad);
-            //瀛樺偍token鑷硆edis
-            RedisUtil.addObject(redisTemplate,Constants.RedisKeys.INTERNAL_TOKEN+"_"+member.getId(),token,Constants.RedisKeys.EXPIRE_TIME);
-            wxAuthorizeVO.setToken(token);
+//            JwtPayLoad payLoad = new JwtPayLoad(Integer.toString(member.getId()));
+//            String token = JwtTokenUtil.generateToken(payLoad);
+//            //瀛樺偍token鑷硆edis
+//            RedisUtil.addObject(redisTemplate,Constants.RedisKeys.INTERNAL_TOKEN+"_"+member.getId(),token,Constants.RedisKeys.EXPIRE_TIME);
+//            wxAuthorizeVO.setToken(token);
             wxAuthorizeVO.setMember(member);
         }
         return wxAuthorizeVO;
@@ -1621,30 +1659,27 @@
 
 
     @Override
-    public MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO){
-        Integer validType = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.BEVISITED_USER_VALID).getCode());
-        if(Objects.isNull(checkVisitedDTO)||StringUtils.isBlank(checkVisitedDTO.getMobile())||(validType.equals(Constants.ONE)&&StringUtils.isBlank(checkVisitedDTO.getName()))){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
-                .eq(Member::getPhone,checkVisitedDTO.getMobile())
-                .eq(validType.equals(Constants.ONE),Member::getName,checkVisitedDTO.getName())
+    public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){
+        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)
-//                .eq(Member::getStatus,Constants.ZERO)
+                .eq(Member::getStatus,Constants.ZERO)
                 .eq(Member::getCanVisit,Constants.ONE)
-                .eq(Member::getType,Constants.memberType.internal)
-                .last(" limit 1 ")
+                .eq(Member::getType,Constants.memberType.internal) 
         );
-        MemberVO memberVO = new MemberVO();
-        if(!Objects.isNull(member)){
-            if(!member.getStatus().equals(Constants.ZERO)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"琚浜鸿处鍙峰紓甯革紝璇风‘璁ゅ悗鍐嶈瘯");
+        List<MemberVO> memberVOList = new ArrayList<>();
+        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
+            for (Member member:memberList) {
+                MemberVO memberVO = new MemberVO();
+                BeanUtils.copyProperties(member,memberVO);
+                memberVOList.add(memberVO);
             }
-            BeanUtils.copyProperties(member,memberVO);
-        }else{
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璇锋牳瀹炶璁夸汉淇℃伅!");
         }
-        return memberVO;
+        return memberVOList;
     }
 
 
@@ -1688,6 +1723,7 @@
 
     @Override
     public WxAuthorizeVO accountLogin(AccountLoginDTO accountLoginDTO){
+        System.out.println(DESUtil.decrypt(Constants.EDS_PWD,"eIaPD5AR5DBuTBE9MW14QRG07IDKXCdh"));
         if(accountLoginDTO.getAccount().length()!=18
             //&&!IdcardUtil.isValidCard(accountLoginDTO.getAccount())
         ){
@@ -1830,17 +1866,20 @@
     private void dealHkUserBizBatch(List<Member> newList) {
         List<String> hkIds = new ArrayList<>();
         try {
-            memberMapper.insertBatchSomeColumn(newList);
-            List<SystemUser> userList = new ArrayList<>();
             for(Member insert: newList){
                 if(dealHkUserBiz(insert)){
                     //鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
-                    if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
-                        //濡傛灉鏄唴閮ㄧ粍缁囦汉鍛橈紝鏂板绯荤粺鐧婚檰璐﹀彿
-                        userList.add(createSystemUser(insert));
-                    }
                 }else{
                     throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅銆�"+insert.getName()+"銆戝悓姝ュ畨闃插钩鍙板け璐ワ紝璇风◢鍚庨噸璇曪紒");
+                }
+            }
+            memberMapper.insertBatchSomeColumn(newList);
+            List<SystemUser> userList = new ArrayList<>();
+            for(Member insert: newList){
+                //鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
+                if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
+                    //濡傛灉鏄唴閮ㄧ粍缁囦汉鍛橈紝鏂板绯荤粺鐧婚檰璐﹀彿
+                    userList.add(createSystemUser(insert));
                 }
             }
             if(userList.size()>0){
@@ -1852,7 +1891,6 @@
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯锛�");
         }
     }
-
     private Member checkModelParam(MemberImport model, List<Member> newList
             ,int index
             ,LoginUserInfo loginUserInfo
@@ -1883,7 +1921,7 @@
         if(company == null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岀粍缁囧悕绉般��"+model.getCompanyName()+"銆戜笉瀛樺湪锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
-        if(companyType != null && !Constants.equalsObject(companyType,company.getType())){
+        if(companyType != null && !Constants.equalsInteger(companyType,company.getType())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+(index+3)+"琛岀粍缁囧悕绉般��"+model.getCompanyName()+"銆戠被鍨嬩笉姝g‘锛岃妫�鏌ヨ〃鏍煎唴瀹癸紒");
         }
         String candNo = DESUtil.encrypt(Constants.EDS_PWD, model.getIdcardNo());

--
Gitblit v1.9.3