From 0544913da2cca58f690f5f12966c214ff08eda7e Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 15 九月 2025 13:57:45 +0800
Subject: [PATCH] 111
---
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java | 250 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 198 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 f127c72..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
@@ -2,18 +2,23 @@
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;
@@ -21,9 +26,13 @@
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;
@@ -44,14 +53,19 @@
@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) {
if(Objects.isNull(identityInfo)
- || Objects.isNull(identityInfo.getType())
- || Objects.isNull(identityInfo.getMemberId())
- || Objects.isNull(identityInfo.getAuthType())
+ || Objects.isNull(identityInfo.getType())
+ || Objects.isNull(identityInfo.getMemberId())
+ || Objects.isNull(identityInfo.getAuthType())
|| StringUtils.isEmpty(identityInfo.getLinkName())
|| StringUtils.isEmpty(identityInfo.getTelephone())
|| StringUtils.isEmpty(identityInfo.getLocation())
@@ -65,14 +79,36 @@
){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- //鏌ヨ鐢ㄦ埛鏄惁宸插瓨鍦ㄥ綋鍓嶈韩浠�
- if(identityInfoMapper.selectCount(new QueryWrapper<IdentityInfo>().lambda().eq(IdentityInfo::getMemberId,identityInfo.getMemberId())
- .eq(IdentityInfo::getType,identityInfo.getType()))>Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸插瓨鍦ㄨ韬唤璇峰埛鏂版煡鐪嬶紒");
- };
- identityInfo.setCreateTime(new Date());
- identityInfo.setAuditStatus(Constants.ZERO);
- identityInfoMapper.insert(identityInfo);
+ 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();
}
@@ -96,6 +132,7 @@
}
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public void updateById(IdentityInfo identityInfo) {
if(Objects.isNull(identityInfo)
|| Objects.isNull(identityInfo.getId())
@@ -125,12 +162,20 @@
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())
@@ -170,24 +215,50 @@
@Override
public IdentityInfo findById(Integer id) {
- IdentityInfo identityInfo = identityInfoMapper.selectById(id);
- //缂哄け鍓嶇紑
- identityInfo.setPrefix("");
- return identityInfo;
+ 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 identityInfo = identityInfoMapper.selectOne(new QueryWrapper<IdentityInfo>().lambda()
+ IdentityInfo model = identityInfoMapper.selectOne(new QueryWrapper<IdentityInfo>().lambda()
.eq(IdentityInfo::getMemberId,memberId).eq(IdentityInfo::getType,type));
- if(Objects.nonNull(identityInfo)){
- //缂哄け鍓嶇紑
- identityInfo.setPrefix("");
+ 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{
- identityInfo = new IdentityInfo();
+ model = new IdentityInfo();
}
- return identityInfo;
+ return model;
}
@@ -233,7 +304,8 @@
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)
+ .selectAll(IdentityInfo.class)
+ .selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
.leftJoin(SystemUser.class,SystemUser::getId,IdentityInfo::getUpdateUser)
.orderByDesc(IdentityInfo::getCreateTime )//鍙栨渶鏂颁竴鏉�
.eq(IdentityInfo::getMemberId,id)
@@ -242,23 +314,7 @@
.last("limit 1");
IdentityInfo model = identityInfoMapper.selectJoinOne(IdentityInfo.class,wrapper);
if(model !=null){
- 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());
- }
+ initModelImage(model,path);
list.add(model);
}
}
@@ -269,7 +325,11 @@
MPJLambdaWrapper<IdentityInfo> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
pageWrap.getModel().setDeleted(Constants.ZERO);
- queryWrapper.selectAll(IdentityInfo.class).selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
+ 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.eq(IdentityInfo::getId, pageWrap.getModel().getId());
@@ -292,7 +352,7 @@
queryWrapper.le(IdentityInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
}
if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.eq(IdentityInfo::getRemark, pageWrap.getModel().getRemark());
+ queryWrapper.like(IdentityInfo::getRemark, pageWrap.getModel().getRemark());
}
if (pageWrap.getModel().getType() != null) {
queryWrapper.eq(IdentityInfo::getType, pageWrap.getModel().getType());
@@ -304,16 +364,16 @@
queryWrapper.eq(IdentityInfo::getAuthType, pageWrap.getModel().getAuthType());
}
if (pageWrap.getModel().getLinkName() != null) {
- queryWrapper.eq(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName());
+ queryWrapper.like(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName());
}
if (pageWrap.getModel().getTelephone() != null) {
- queryWrapper.eq(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone());
+ queryWrapper.like(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone());
}
if (pageWrap.getModel().getLocation() != null) {
- queryWrapper.eq(IdentityInfo::getLocation, pageWrap.getModel().getLocation());
+ queryWrapper.like(IdentityInfo::getLocation, pageWrap.getModel().getLocation());
}
if (pageWrap.getModel().getCompanyName() != null) {
- queryWrapper.eq(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName());
+ queryWrapper.like(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName());
}
if (pageWrap.getModel().getLat() != null) {
queryWrapper.eq(IdentityInfo::getLat, pageWrap.getModel().getLat());
@@ -329,16 +389,41 @@
queryWrapper.le(IdentityInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime()));
}
if (pageWrap.getModel().getAuditRemark() != null) {
- queryWrapper.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.selectJoinPage(page,IdentityInfo.class, 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
@@ -346,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