From bd6229ebd9cb543a22944ecb1142fad92b675dce Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 13 十月 2025 14:26:25 +0800
Subject: [PATCH] bug 修复

---
 server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java |  411 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 359 insertions(+), 52 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
index c017ad6..fd591be 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -1,20 +1,44 @@
 package com.doumee.service.business.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.wx.SendWxMessage;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.constants.Constants;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.CategoryMapper;
 import com.doumee.dao.business.IdentityInfoMapper;
+import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.model.IdentityInfo;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.dto.AuditDTO;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.AliSmsService;
 import com.doumee.service.business.IdentityInfoService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.annotations.ApiModelProperty;
+import me.chanjar.weixin.common.error.WxErrorException;
+import nonapi.io.github.classgraph.json.Id;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 浼氬憳韬唤璁よ瘉淇℃伅琛⊿ervice瀹炵幇
@@ -26,10 +50,65 @@
 
     @Autowired
     private IdentityInfoMapper identityInfoMapper;
+    @Autowired
+    private MemberMapper memberMapper;
+    @Autowired
+    private AliSmsService aliSmsService;
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private CategoryMapper categoryMapper;
 
     @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer create(IdentityInfo identityInfo) {
-        identityInfoMapper.insert(identityInfo);
+        if(Objects.isNull(identityInfo)
+            || Objects.isNull(identityInfo.getType())
+            || Objects.isNull(identityInfo.getMemberId())
+            || Objects.isNull(identityInfo.getAuthType())
+                || StringUtils.isEmpty(identityInfo.getLinkName())
+                || StringUtils.isEmpty(identityInfo.getTelephone())
+                || StringUtils.isEmpty(identityInfo.getLocation())
+                || StringUtils.isEmpty(identityInfo.getImg1())
+                || Objects.isNull(identityInfo.getLat())
+                || Objects.isNull(identityInfo.getLgt())
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ONE) && StringUtils.isEmpty(identityInfo.getCompanyName()))
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ZERO) && StringUtils.isEmpty(identityInfo.getImg2()))
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ONE) && Constants.equalsInteger(identityInfo.getType(),Constants.ONE) && StringUtils.isEmpty(identityInfo.getImg2()))
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ONE) && Constants.equalsInteger(identityInfo.getType(),Constants.TWO) && (StringUtils.isEmpty(identityInfo.getImg2())||StringUtils.isEmpty(identityInfo.getImg3())))
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+            IdentityInfo model = identityInfoMapper.selectOne(new QueryWrapper<IdentityInfo>().lambda()
+                    .eq(IdentityInfo::getMemberId,identityInfo.getMemberId())
+                    .eq(IdentityInfo::getType,identityInfo.getType())
+                    .last("limit 1")
+            );
+            if(Objects.nonNull(model)){
+                identityInfo.setId(model.getId());
+                this.updateById(identityInfo);
+                return identityInfo.getId();
+            }
+
+
+            //鏌ヨ鐢ㄦ埛鏄惁宸插瓨鍦ㄥ綋鍓嶈韩浠�
+            if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda()
+                    .eq(IdentityInfo::getDeleted,Constants.ZERO)
+                    .eq(IdentityInfo::getMemberId,identityInfo.getMemberId())
+                    .eq(IdentityInfo::getType,identityInfo.getType()))>Constants.ZERO){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸插瓨鍦ㄨ韬唤璇峰埛鏂版煡鐪嬶紒");
+            };
+            identityInfo.setDeleted(Constants.ZERO);
+            identityInfo.setCreateTime(new Date());
+            identityInfo.setUpdateTime(identityInfo.getCreateTime());
+            identityInfo.setAuditStatus(Constants.ONE);
+            identityInfoMapper.insert(identityInfo);
+
+            memberMapper.update(new UpdateWrapper<Member>().lambda()
+                    .set(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO),Member::getWorkerIdentity,Constants.ONE)
+                    .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity,Constants.ONE)
+                    .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity,Constants.ONE)
+                    .eq(Member::getId,identityInfo.getMemberId()));
         return identityInfo.getId();
     }
 
@@ -53,8 +132,75 @@
     }
 
     @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public void updateById(IdentityInfo identityInfo) {
+        if(Objects.isNull(identityInfo)
+                || Objects.isNull(identityInfo.getId())
+                || Objects.isNull(identityInfo.getType())
+                || Objects.isNull(identityInfo.getMemberId())
+                || Objects.isNull(identityInfo.getAuthType())
+                || StringUtils.isEmpty(identityInfo.getLinkName())
+                || StringUtils.isEmpty(identityInfo.getTelephone())
+                || StringUtils.isEmpty(identityInfo.getLocation())
+                || StringUtils.isEmpty(identityInfo.getImg1())
+                || Objects.isNull(identityInfo.getLat())
+                || Objects.isNull(identityInfo.getLgt())
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ONE) && StringUtils.isEmpty(identityInfo.getCompanyName()))
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ZERO) && StringUtils.isEmpty(identityInfo.getImg2()))
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ONE) && Constants.equalsInteger(identityInfo.getType(),Constants.ONE) && StringUtils.isEmpty(identityInfo.getImg2()))
+                || (Constants.equalsInteger(identityInfo.getAuthType(),Constants.ONE) && Constants.equalsInteger(identityInfo.getType(),Constants.TWO) && (StringUtils.isEmpty(identityInfo.getImg2())||StringUtils.isEmpty(identityInfo.getImg3())))
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        IdentityInfo model = identityInfoMapper.selectById(identityInfo.getId());
+        if (Objects.isNull(model)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!Constants.equalsInteger(model.getMemberId(),identityInfo.getMemberId())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勬暟鎹棤娉曡繘琛岃鎿嶄綔");
+        }
+        if(!Constants.equalsInteger(model.getAuditStatus(),Constants.THREE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+        }
+        identityInfo.setAuditRemark("");
+        identityInfo.setUpdateTime(new Date());
+        identityInfo.setAuditStatus(Constants.ONE);
         identityInfoMapper.updateById(identityInfo);
+        memberMapper.update(new UpdateWrapper<Member>().lambda()
+                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO),Member::getWorkerIdentity,Constants.ONE)
+                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity,Constants.ONE)
+                .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity,Constants.ONE)
+                .eq(Member::getId,identityInfo.getMemberId()));
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public void updateLocation(IdentityInfo identityInfo) {
+        if(Objects.isNull(identityInfo)
+                || Objects.isNull(identityInfo.getId())
+                || Objects.isNull(identityInfo.getMemberId())
+                || StringUtils.isEmpty(identityInfo.getLocation())
+                || Objects.isNull(identityInfo.getLat())
+                || Objects.isNull(identityInfo.getLgt())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        IdentityInfo model = identityInfoMapper.selectById(identityInfo.getId());
+        if (Objects.isNull(model)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!Constants.equalsInteger(model.getMemberId(),identityInfo.getMemberId())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勬暟鎹棤娉曡繘琛岃鎿嶄綔");
+        }
+        if(!Constants.equalsInteger(model.getAuditStatus(),Constants.TWO)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐘舵�佹棤娉曡繘琛岃鎿嶄綔");
+        }
+        model.setLocation(identityInfo.getLocation());
+        model.setLat(identityInfo.getLat());
+        model.setLgt(identityInfo.getLgt());
+        model.setUpdateTime(new Date());
+        identityInfoMapper.updateById(model);
     }
 
     @Override
@@ -69,8 +215,53 @@
 
     @Override
     public IdentityInfo findById(Integer id) {
-        return identityInfoMapper.selectById(id);
+        IdentityInfo model = identityInfoMapper.selectById(id);
+        String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INENTITY_FILES).getCode();
+        model.setImgList(new ArrayList<>());
+        if(StringUtils.isNotBlank(model.getImg1())){
+            model.getImgList().add(path + model.getImg1());
+        }
+        if(StringUtils.isNotBlank(model.getImg2())){
+            model.getImgList().add(path + model.getImg2());
+        }
+        if(StringUtils.isNotBlank(model.getImg3())) {
+            model.getImgList().add(path + model.getImg3());
+        }
+        if(StringUtils.isNotBlank(model.getImg4())){
+            model.getImgList().add(path + model.getImg4());
+        }
+        return model;
     }
+
+
+    @Override
+    public IdentityInfo findByMemberType(Integer type,Integer memberId){
+        IdentityInfo model = identityInfoMapper.selectOne(new QueryWrapper<IdentityInfo>().lambda()
+                .eq(IdentityInfo::getMemberId,memberId).eq(IdentityInfo::getType,type));
+        if(Objects.nonNull(model)){
+            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INENTITY_FILES).getCode();
+            model.setImgList(new ArrayList<>());
+            if(StringUtils.isNotBlank(model.getImg1())){
+                model.getImgList().add(path + model.getImg1());
+            }
+            if(StringUtils.isNotBlank(model.getImg2())){
+                model.getImgList().add(path + model.getImg2());
+            }
+            if(StringUtils.isNotBlank(model.getImg3())) {
+                model.getImgList().add(path + model.getImg3());
+            }
+            if(StringUtils.isNotBlank(model.getImg4())){
+                model.getImgList().add(path + model.getImg4());
+            }
+        }else{
+            model = new IdentityInfo();
+        }
+        return model;
+    }
+
+
 
     @Override
     public IdentityInfo findOne(IdentityInfo identityInfo) {
@@ -85,99 +276,154 @@
     }
   
     @Override
+    public List<IdentityInfo> findMemberList(IdentityInfo identityInfo) {
+        if(identityInfo.getMemberId() == null){
+            return  new ArrayList<>();
+        }
+        Member member = memberMapper.selectById(identityInfo.getMemberId());
+        if(identityInfo == null || Constants.equalsInteger(member.getDeleted(),Constants.ONE)){
+            return  new ArrayList<>();
+        }
+        List<IdentityInfo> list = new ArrayList<>();
+
+        String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
+                +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INENTITY_FILES).getCode();
+        //绫诲瀷:0=鐢ㄥ伐韬唤锛�1=璐ц繍韬唤锛�2=渚涢韬唤锛�
+        if(!Constants.equalsInteger(member.getWorkerIdentity(),Constants.ZERO)){//鐢ㄥ伐韬唤
+            addMemberModelByType(member.getId(),Constants.ZERO,list,path);
+        }
+        if(!Constants.equalsInteger(member.getDriverIdentity(),Constants.ZERO)){//璐ц繍韬唤
+            addMemberModelByType(member.getId(),Constants.ONE,list,path);
+        }
+        if(!Constants.equalsInteger(member.getChefIdentity(),Constants.ZERO)){//渚涢寰堢矇
+            addMemberModelByType(member.getId(),Constants.TWO,list,path);
+        }
+
+        return list;
+    }
+
+    private void addMemberModelByType(Integer id,Integer type, List<IdentityInfo> list,String path) {
+        MPJLambdaWrapper<IdentityInfo> wrapper = new MPJLambdaWrapper<IdentityInfo>()
+                .selectAll(IdentityInfo.class)
+                .selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
+                .leftJoin(SystemUser.class,SystemUser::getId,IdentityInfo::getUpdateUser)
+                .orderByDesc(IdentityInfo::getCreateTime )//鍙栨渶鏂颁竴鏉�
+                .eq(IdentityInfo::getMemberId,id)
+                .eq(IdentityInfo::getType,type)
+                .eq(IdentityInfo::getDeleted,Constants.ZERO)
+                .last("limit 1");
+         IdentityInfo model = identityInfoMapper.selectJoinOne(IdentityInfo.class,wrapper);
+         if(model !=null){
+            initModelImage(model,path);
+             list.add(model);
+         }
+    }
+
+    @Override
     public PageData<IdentityInfo> findPage(PageWrap<IdentityInfo> pageWrap) {
         IPage<IdentityInfo> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<IdentityInfo> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<IdentityInfo> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setDeleted(Constants.ZERO);
+        queryWrapper.selectAll(IdentityInfo.class)
+                .selectAs(Member::getNickName,IdentityInfo::getMemberName)
+                .selectAs(Member::getOpenid,IdentityInfo::getOpenid)
+                .selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
+                .leftJoin(Member.class,Member::getId,IdentityInfo::getMemberId)
+                .leftJoin(SystemUser.class,SystemUser::getId,IdentityInfo::getUpdateUser);
         if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getId, pageWrap.getModel().getId());
+            queryWrapper.eq(IdentityInfo::getId, pageWrap.getModel().getId());
         }
         if (pageWrap.getModel().getDeleted() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getDeleted, pageWrap.getModel().getDeleted());
+            queryWrapper.eq(IdentityInfo::getDeleted, pageWrap.getModel().getDeleted());
         }
         if (pageWrap.getModel().getCreateUser() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getCreateUser, pageWrap.getModel().getCreateUser());
+            queryWrapper.eq(IdentityInfo::getCreateUser, pageWrap.getModel().getCreateUser());
         }
         if (pageWrap.getModel().getCreateTime() != null) {
-            queryWrapper.lambda().ge(IdentityInfo::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
-            queryWrapper.lambda().le(IdentityInfo::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
+            queryWrapper.ge(IdentityInfo::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
+            queryWrapper.le(IdentityInfo::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
         }
         if (pageWrap.getModel().getUpdateUser() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getUpdateUser, pageWrap.getModel().getUpdateUser());
+            queryWrapper.eq(IdentityInfo::getUpdateUser, pageWrap.getModel().getUpdateUser());
         }
         if (pageWrap.getModel().getUpdateTime() != null) {
-            queryWrapper.lambda().ge(IdentityInfo::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
-            queryWrapper.lambda().le(IdentityInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
+            queryWrapper.ge(IdentityInfo::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
+            queryWrapper.le(IdentityInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
         }
         if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getRemark, pageWrap.getModel().getRemark());
+            queryWrapper.like(IdentityInfo::getRemark, pageWrap.getModel().getRemark());
         }
         if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getType, pageWrap.getModel().getType());
+            queryWrapper.eq(IdentityInfo::getType, pageWrap.getModel().getType());
         }
         if (pageWrap.getModel().getMemberId() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getMemberId, pageWrap.getModel().getMemberId());
+            queryWrapper.eq(IdentityInfo::getMemberId, pageWrap.getModel().getMemberId());
         }
         if (pageWrap.getModel().getAuthType() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getAuthType, pageWrap.getModel().getAuthType());
+            queryWrapper.eq(IdentityInfo::getAuthType, pageWrap.getModel().getAuthType());
         }
         if (pageWrap.getModel().getLinkName() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName());
+            queryWrapper.like(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName());
         }
         if (pageWrap.getModel().getTelephone() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone());
+            queryWrapper.like(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone());
         }
         if (pageWrap.getModel().getLocation() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getLocation, pageWrap.getModel().getLocation());
+            queryWrapper.like(IdentityInfo::getLocation, pageWrap.getModel().getLocation());
         }
         if (pageWrap.getModel().getCompanyName() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName());
+            queryWrapper.like(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName());
         }
         if (pageWrap.getModel().getLat() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getLat, pageWrap.getModel().getLat());
+            queryWrapper.eq(IdentityInfo::getLat, pageWrap.getModel().getLat());
         }
         if (pageWrap.getModel().getLgt() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getLgt, pageWrap.getModel().getLgt());
-        }
-        if (pageWrap.getModel().getIdentityFront() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getIdentityFront, pageWrap.getModel().getIdentityFront());
-        }
-        if (pageWrap.getModel().getIdentityBack() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getIdentityBack, pageWrap.getModel().getIdentityBack());
-        }
-        if (pageWrap.getModel().getBusinessLicense() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getBusinessLicense, pageWrap.getModel().getBusinessLicense());
-        }
-        if (pageWrap.getModel().getOtherFile() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getOtherFile, pageWrap.getModel().getOtherFile());
-        }
-        if (pageWrap.getModel().getTransportFile() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getTransportFile, pageWrap.getModel().getTransportFile());
-        }
-        if (pageWrap.getModel().getFoodBusinessFile() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getFoodBusinessFile, pageWrap.getModel().getFoodBusinessFile());
-        }
-        if (pageWrap.getModel().getHealthFile() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getHealthFile, pageWrap.getModel().getHealthFile());
+            queryWrapper.eq(IdentityInfo::getLgt, pageWrap.getModel().getLgt());
         }
         if (pageWrap.getModel().getAuditStatus() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getAuditStatus, pageWrap.getModel().getAuditStatus());
+            queryWrapper.eq(IdentityInfo::getAuditStatus, pageWrap.getModel().getAuditStatus());
         }
         if (pageWrap.getModel().getAuditTime() != null) {
-            queryWrapper.lambda().ge(IdentityInfo::getAuditTime, Utils.Date.getStart(pageWrap.getModel().getAuditTime()));
-            queryWrapper.lambda().le(IdentityInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime()));
+            queryWrapper.ge(IdentityInfo::getAuditTime, Utils.Date.getStart(pageWrap.getModel().getAuditTime()));
+            queryWrapper.le(IdentityInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime()));
         }
         if (pageWrap.getModel().getAuditRemark() != null) {
-            queryWrapper.lambda().eq(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark());
+            queryWrapper.like(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark());
         }
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
+        queryWrapper.orderByAsc(IdentityInfo::getAuditStatus );
+        queryWrapper.orderByDesc(IdentityInfo::getCreateTime );
+        PageData<IdentityInfo> result = PageData.from(identityInfoMapper.selectJoinPage(page,IdentityInfo.class, queryWrapper));
+        if(result!=null && result.getRecords()!=null){
+            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
+                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INENTITY_FILES).getCode();
+            for (IdentityInfo model :result.getRecords()){
+                initModelImage(model,path);
             }
         }
-        return PageData.from(identityInfoMapper.selectPage(page, queryWrapper));
+
+        return result;
+
+    }
+
+    private void initModelImage(IdentityInfo model, String path) {
+        model.setImgList(new ArrayList<>());
+        if(StringUtils.isNotBlank(model.getImg1())){
+            model.setImg1(path+model.getImg1());
+            model.getImgList().add(model.getImg1());
+        }
+        if(StringUtils.isNotBlank(model.getImg2())){
+            model.setImg2(path+model.getImg2());
+            model.getImgList().add(model.getImg2());
+        }
+        if(StringUtils.isNotBlank(model.getImg3())) {
+            model.setImg3(path + model.getImg3());
+            model.getImgList().add(model.getImg3());
+        }
+        if(StringUtils.isNotBlank(model.getImg4())){
+            model.setImg4(path+model.getImg4());
+            model.getImgList().add(model.getImg4());
+        }
     }
 
     @Override
@@ -185,4 +431,65 @@
         QueryWrapper<IdentityInfo> wrapper = new QueryWrapper<>(identityInfo);
         return identityInfoMapper.selectCount(wrapper);
     }
+
+
+    @Autowired
+    private SendWxMessage sendWxMessage;
+
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public void audit(AuditDTO auditDTO){
+        if(Objects.isNull(auditDTO)
+            || Objects.isNull(auditDTO.getId())
+            || Objects.isNull(auditDTO.getAuditStatus())
+            ||  auditDTO.getAuditStatus()<2
+            ||  auditDTO.getAuditStatus()>3){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        IdentityInfo identityInfo = identityInfoMapper.selectById(auditDTO.getId());
+        if(Objects.isNull(identityInfo)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!Constants.equalsInteger(identityInfo.getAuditStatus(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸插鎵癸紝璇峰嬁閲嶅鎿嶄綔");
+        }
+        Member member = memberMapper.selectById(identityInfo.getMemberId());
+        if(Objects.isNull(member)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        identityInfo.setAuditStatus(auditDTO.getAuditStatus());
+        identityInfo.setAuditRemark(auditDTO.getAuditRemark());
+        identityInfo.setAuditTime(new Date());
+        Date date = new Date();
+        identityInfoMapper.update(new UpdateWrapper<IdentityInfo>().lambda()
+                .set(IdentityInfo::getAuditStatus, auditDTO.getAuditStatus() )
+                .set(StringUtils.isNotBlank(auditDTO.getAuditRemark()),IdentityInfo::getAuditRemark,auditDTO.getAuditRemark())
+                .set(IdentityInfo::getAuditTime,date)
+                .set(IdentityInfo::getUpdateUser,user.getId())
+                .set(IdentityInfo::getUpdateTime,date)
+                .eq(IdentityInfo::getId,identityInfo.getId())
+        );
+
+        memberMapper.update(new UpdateWrapper<Member>().lambda()
+                .set(Member::getUpdateUser,user.getId())
+                .set(Member::getUpdateTime,date)
+                .set(Constants.equalsInteger(auditDTO.getAuditStatus(),Constants.ZERO),Member::getAutoReceiveStatus,Constants.ONE)
+                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ZERO),Member::getWorkerIdentity, auditDTO.getAuditStatus() )
+                .set(Constants.equalsInteger(identityInfo.getType(),Constants.ONE),Member::getDriverIdentity , auditDTO.getAuditStatus() )
+                .set(Constants.equalsInteger(identityInfo.getType(),Constants.TWO),Member::getChefIdentity , auditDTO.getAuditStatus() )
+                .eq(Member::getId,identityInfo.getMemberId())
+        );
+
+        //鍙戦�佸井淇¢�氱煡
+        if(StringUtils.isNotBlank(member.getOpenid())){
+            sendWxMessage.identityInfoMessage(member.getOpenid(),identityInfo);
+        }
+
+        //鐭俊閫氱煡
+        aliSmsService.businessSendSms(Constants.smsContent.authentication.getKey(),
+                member.getTelephone(),null,null,
+                identityInfo,categoryMapper);
+
+    }
 }

--
Gitblit v1.9.3