From c12488135afc5fb66ab46d6c584f72dae837ec71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Thu, 8 May 2025 10:13:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=8A=A0=E7=9B=9F=E5=90=88=E5=90=8C?= =?UTF-8?q?=E9=98=B6=E6=AE=B5=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/MessageEnum.java | 1 + .../enums/point/ShopSubStageStatusEnum.java | 2 +- .../store/request/AuditApproveRequest.java | 22 +++ .../store/request/OperationLogRequest.java | 26 +++ .../store/service/SignFranchiseService.java | 17 ++ .../store/service/UserAuthMappingService.java | 8 + .../store/service/impl/DeskServiceImpl.java | 2 +- .../impl/SignFranchiseServiceImpl.java | 171 ++++++++++++++---- .../impl/UserAuthMappingServiceImpl.java | 15 ++ .../webb/OperationLogController.java | 34 ++++ .../webb/PCSignFranchiseController.java | 7 + 11 files changed, 269 insertions(+), 36 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/AuditApproveRequest.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/OperationLogRequest.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OperationLogController.java diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java index 4a7ea9225..2a4362b0d 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/MessageEnum.java @@ -42,6 +42,7 @@ public enum MessageEnum { MESSAGE_17("您收到一份证照信息审核申请,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), MESSAGE_18("您有一个门店已缴纳加盟费/保证金,请审核", " 门店名称:${storeName}\n 加盟商姓名:${partnerUsername}\n 加盟商手机号码:${partnerMobile}\n"), MESSAGE_19("您有一个门店待提交加盟合同,请查收", "门店名称:${storeName}\n加盟商姓名:${partnerUsername}\n加盟商手机号码:${partnerMobile}\n"), + MESSAGE_19_1("您有一个门店加盟合同待审核,请查收", "门店名称:${storeName}\n加盟商姓名:${partnerUsername}\n加盟商手机号码:${partnerMobile}\n"), MESSAGE_20("您有一个门店的加盟合同审核未通过,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), MESSAGE_21("您有一个门店待提交培训人员,请查收", "加盟商姓名:${partnerUsername}\n手机号码:${partnerMobile}"), MESSAGE_22("您收到一位员工由您带教,请查收", "员工姓名:【${userName}】,员工手机号码:【${mobile}】,登记时间:【${registerTime}】"), diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java index a41de9b7e..0ea9a4e2e 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/point/ShopSubStageStatusEnum.java @@ -47,7 +47,7 @@ public enum ShopSubStageStatusEnum { SHOP_SUB_STAGE_STATUS_80(ShopSubStageEnum.SHOP_STAGE_8, 800, "待提交", Boolean.FALSE), SHOP_SUB_STAGE_STATUS_83(ShopSubStageEnum.SHOP_STAGE_8, 830, "审核中", Boolean.FALSE), SHOP_SUB_STAGE_STATUS_84(ShopSubStageEnum.SHOP_STAGE_8, 840, "已签约", Boolean.TRUE), - SHOP_SUB_STAGE_STATUS_85(ShopSubStageEnum.SHOP_STAGE_8, 850, "退回", Boolean.FALSE), + SHOP_SUB_STAGE_STATUS_85(ShopSubStageEnum.SHOP_STAGE_8, 850, "审核失败", Boolean.FALSE), //发票回传 SHOP_SUB_STAGE_STATUS_85_1(ShopSubStageEnum.SHOP_STAGE_8_5, 880, "待提交", Boolean.FALSE), diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/AuditApproveRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditApproveRequest.java new file mode 100644 index 000000000..21b7d2c41 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/AuditApproveRequest.java @@ -0,0 +1,22 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author suzhuhong + * @Date 2025/5/7 15:01 + * @Version 1.0 + */ +@Data +public class AuditApproveRequest { + + @ApiModelProperty("审核结果 1:成功 0:失败") + private Integer auditResult; + + @ApiModelProperty("通过/失败原因") + private String cause = ""; + + private Long shopId; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/OperationLogRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/OperationLogRequest.java new file mode 100644 index 000000000..b97c451c2 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/OperationLogRequest.java @@ -0,0 +1,26 @@ +package com.cool.store.request; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + + +/** + * @Author suzhuhong + * @Date 2025/5/7 17:25 + * @Version 1.0 + */ +@Data +public class OperationLogRequest { + + @ApiModelProperty("门店ID") + @NotNull(message = "门店ID不能为空") + private Long shopId; + + @ApiModelProperty("子阶段状态") + @NotNull(message = "子阶段状态不能为空") + private List subStageStatusList; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java index 002744945..cff97e9ec 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/SignFranchiseService.java @@ -2,6 +2,8 @@ package com.cool.store.service; import com.cool.store.context.LoginUserInfo; import com.cool.store.request.AddSignFranchiseRequest; +import com.cool.store.request.AuditApproveRequest; +import com.cool.store.request.AuditResultRequest; import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; @@ -14,9 +16,24 @@ public interface SignFranchiseService { */ ResponseResult submitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user); + /** + * 驳回之后从新提交数据 + * @param request + * @param user + * @return + */ + Boolean reSubmitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user); + AddSignFranchiseResponse getSignFranchise(Long shopId); + /** + * 分部内勤审核 + * @param request + * @return + */ + Boolean auditApprove(AuditApproveRequest request, LoginUserInfo user); + /** * 加盟合同退回后重新缴费 * @param shopId diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java index 60f8d71d1..36d92203e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java @@ -62,6 +62,14 @@ public interface UserAuthMappingService { List getAllUserByRoleEnumAndRegionId(UserRoleEnum userRoleEnum, Long regionId); + /** + * 获取有区域权限和职位的人 + * @param userRoleEnumList + * @param regionId + * @return + */ + List getUserIdByRoleEnumAndRegionId(List userRoleEnumList, Long regionId); + /** * 获取有区域权限和职位 所有人 * diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java index a03b492ff..a2945a4f4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java @@ -262,7 +262,7 @@ public class DeskServiceImpl implements DeskService { @Override public PageInfo signingOfFranchiseContractPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { PageInfo pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_8, - Arrays.asList(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_80.getShopSubStageStatus(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85.getShopSubStageStatus()), Boolean.TRUE); + Arrays.asList(SHOP_SUB_STAGE_STATUS_80.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_85.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_83.getShopSubStageStatus()), Boolean.TRUE); List list = pageInfo.getList(); if (CollectionUtils.isEmpty(list)) { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index ca2f1e226..1996eb010 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -4,10 +4,7 @@ import cn.hutool.core.convert.Convert; import com.alibaba.fastjson.JSONObject; import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; -import com.cool.store.dao.EnterpriseUserRoleDao; -import com.cool.store.dao.OrderSysInfoDAO; -import com.cool.store.dao.QualificationsInfoDAO; -import com.cool.store.dao.ShopStageInfoDAO; +import com.cool.store.dao.*; import com.cool.store.entity.*; import com.cool.store.enums.*; import com.cool.store.enums.point.ShopSubStageEnum; @@ -15,14 +12,12 @@ import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; import com.cool.store.request.AddSignFranchiseRequest; +import com.cool.store.request.AuditApproveRequest; import com.cool.store.request.AuditResultRequest; import com.cool.store.request.FranchiseAgreementRequest; import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.ResponseResult; -import com.cool.store.service.CoolStoreStartFlowService; -import com.cool.store.service.PreparationService; -import com.cool.store.service.SignFranchiseService; -import com.cool.store.service.UserAuthMappingService; +import com.cool.store.service.*; import com.cool.store.utils.GeoMapUtil; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.poi.DateUtils; @@ -31,6 +26,7 @@ import com.cool.store.utils.poi.constant.Constants; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -40,6 +36,8 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import static com.cool.store.enums.UserRoleEnum.*; + @Service @Slf4j public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService { @@ -103,6 +101,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu @Resource private OrderSysInfoDAO orderSysInfoDAO; + @Resource + OperationLogService operationLogService; + @Resource + OperationLogDAO operationLogDAO; @Override @@ -176,35 +178,23 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); if (Objects.isNull(request.getId())) { signFranchiseMapper.insertSelective(signFranchiseDO); - //更新状态为加盟商 - LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); - //暂时去掉 - lineInfoDO.setJoinStatus(CommonConstants.TWO); - lineInfoMapper.insertOrUpdate(lineInfoDO); - //todo 提交之后先直接到已签约 正常是待审核 - shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84); - //初始化数据 - preparationService.contractAndBuildStoreCompletion(request.getShopId()); - commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); + shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); + //发送通知 + List auditFranchiseFeeUsers = userAuthMappingService.getUserIdByRoleEnumAndRegionId(Arrays.asList(BRANCH_OFFICE, REGION_OFFICE), shopInfoDO.getRegionId()); + List auditFranchiseFeeUserList = auditFranchiseFeeUsers.stream().distinct().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()); + LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); HashMap map = new HashMap<>(); - map.put("partnerUsername", lineInfoDO.getUsername()); - map.put("partnerMobile", lineInfoDO.getMobile()); + map.put("partnerUsername", lineInfo.getUsername()); + map.put("partnerMobile", lineInfo.getMobile()); map.put("storeName", shopInfoDO.getShopName()); - List userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId()); - List finances = new ArrayList<>(); - if (Objects.nonNull(userDOList)) { - finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList())); - } - List liGuiNeiQinList = enterpriseUserRoleDao.selectUserIdsByRoleIdList(Arrays.asList(UserRoleEnum.CONSTRUCTION_CUSTOMER.getCode())); - commonService.sendQWMessage(liGuiNeiQinList, - MessageEnum.MESSAGE_57, - map); -// commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()), -// MessageEnum.MESSAGE_35, -// map); - commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()), - MessageEnum.MESSAGE_26, + commonService.sendQWMessage(auditFranchiseFeeUserList, + MessageEnum.MESSAGE_19_1, map); + operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_80, user.getUserId(), user.getName(), + OperationTypeEnum.OPERATION_TYPE_0, "加盟签约合同提交", OperationStatusEnum.PROCESSED); + operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, + user.getUserId(), auditFranchiseFeeUsers, + OperationTypeEnum.OPERATION_TYPE_1, "加盟签约合同审批", OperationStatusEnum.NOT_PROCESSED); } else { signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); @@ -244,6 +234,42 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu } + @Override + public Boolean reSubmitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user) { + log.info("reSubmitSignFranchise request:{}", JSONObject.toJSONString(request)); + if (Objects.isNull(request)) { + throw new ServiceException(ErrorCodeEnum.PARAMS_VALIDATE_ERROR); + } + if (Objects.isNull(request.getShopId())) { + throw new ServiceException(ErrorCodeEnum.SHOP_ID_NOT_EXIST); + } + ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); + SignFranchiseDO signFranchiseDO = request.toSignFranchiseDO(); + //修改信息 + signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); + //修改阶段状态 + shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83); + //发送通知 + List userIds = userAuthMappingService.getUserIdByRoleEnumAndRegionId(Arrays.asList(BRANCH_OFFICE, REGION_OFFICE), shopInfoDO.getRegionId()); + List auditFranchiseFeeUserList = userIds.stream().distinct().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()); + LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); + HashMap map = new HashMap<>(); + map.put("partnerUsername", lineInfo.getUsername()); + map.put("partnerMobile", lineInfo.getMobile()); + map.put("storeName", shopInfoDO.getShopName()); + commonService.sendQWMessage(auditFranchiseFeeUserList, + MessageEnum.MESSAGE_19_1, + map); + //新增审批记录 + operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_80, user.getUserId(), user.getName(), + OperationTypeEnum.OPERATION_TYPE_0, "加盟签约合同重新提交提交", OperationStatusEnum.PROCESSED); + operationLogService.addOperationLog(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, + user.getUserId(), userIds, + OperationTypeEnum.OPERATION_TYPE_1, "加盟签约合同审批", OperationStatusEnum.NOT_PROCESSED); + + return Boolean.TRUE; + } + @Override public AddSignFranchiseResponse getSignFranchise(Long shopId) { @@ -267,6 +293,83 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu return response; } + @Override + public Boolean auditApprove(AuditApproveRequest request, LoginUserInfo user) { + log.info("SignFranchiseServiceImpl auditApprove request:{}", JSONObject.toJSONString(request)); + Long shopId = request.getShopId(); + ShopSubStageStatusEnum shopSubStageStatusEnum = null; + if (request.getAuditResult() == 1) { + shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84; + } else if (request.getAuditResult() == 0) { + shopSubStageStatusEnum = ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_85; + } + ShopAuditInfoDO shopAuditInfoDO = new ShopAuditInfoDO(); + shopAuditInfoDO.setShopId(shopId); + shopAuditInfoDO.setAuditType(AuditTypeEnum.SIGN_FRANCHISE.getCode()); + shopAuditInfoDO.setSubmittedUserId(user.getUserId()); + shopAuditInfoDO.setSubmittedUserName(user.getName()); + //驳回 + if (Constants.ZERO_INTEGER.equals(request.getAuditResult())) { + shopAuditInfoDO.setResultType(Constants.ONE_INTEGER); + shopAuditInfoDO.setRejectReason(request.getCause()); + Map requestMap = new HashMap<>(); + ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId); + LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); + Set auditFranchiseFeeUsers = new HashSet<>(); + List branchUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JOIN_OFFICE, shopInfoDO.getRegionId()); + if (Objects.nonNull(branchUser)) { + Set branchUserIds = branchUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet()); + auditFranchiseFeeUsers.addAll(branchUserIds); + } + List regionUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(REGION_OFFICE, shopInfoDO.getRegionId()); + if (Objects.nonNull(regionUser)) { + Set regionUserIds = regionUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet()); + auditFranchiseFeeUsers.addAll(regionUserIds); + } + requestMap.put("storeName", shopInfoDO.getShopName()); + requestMap.put("partnerName", lineInfo.getUsername()); + requestMap.put("partnerMobile", lineInfo.getMobile()); + requestMap.put("lineId", String.valueOf(lineInfo.getId())); + requestMap.put("shopId", String.valueOf(shopInfoDO.getId())); + commonService.sendMessage(new ArrayList<>(auditFranchiseFeeUsers), MessageEnum.MESSAGE_20, requestMap); + } else if (Constants.ONE_INTEGER.equals(request.getAuditResult())) { + shopAuditInfoDO.setResultType(Constants.ZERO_INTEGER); + shopAuditInfoDO.setPassReason(request.getCause()); + ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); + //更新状态为加盟商 + LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); + //暂时去掉 + lineInfoDO.setJoinStatus(CommonConstants.TWO); + lineInfoMapper.insertOrUpdate(lineInfoDO); + //初始化数据 + preparationService.contractAndBuildStoreCompletion(request.getShopId()); + commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT); + HashMap map = new HashMap<>(); + map.put("partnerUsername", lineInfoDO.getUsername()); + map.put("partnerMobile", lineInfoDO.getMobile()); + map.put("storeName", shopInfoDO.getShopName()); + List userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId()); + List finances = new ArrayList<>(); + if (Objects.nonNull(userDOList)) { + finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList())); + } + List liGuiNeiQinList = enterpriseUserRoleDao.selectUserIdsByRoleIdList(Arrays.asList(UserRoleEnum.CONSTRUCTION_CUSTOMER.getCode())); + commonService.sendQWMessage(liGuiNeiQinList, + MessageEnum.MESSAGE_57, + map); + commonService.sendQWMessage(Collections.singletonList(shopInfoDO.getInvestmentManager()), + MessageEnum.MESSAGE_26, + map); + } + shopAuditInfoMapper.insertSelective(shopAuditInfoDO); + Long auditId = shopAuditInfoDO.getId(); + shopStageInfoDAO.updateShopStageAndAuditInfo(shopId, shopSubStageStatusEnum, auditId); + //审批记录表记录 + List operationLogs = operationLogDAO.getBySubStageStatusEnumAndsStatus(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83, OperationTypeEnum.OPERATION_TYPE_1.getCode()); + operationLogService.batchUpdateProcessed(operationLogs, auditId, user.getUserId(), request.getCause()); + return true; + } + public AddSignFranchiseResponse from(SignFranchiseDO signFranchiseDO, Long shopId) { AddSignFranchiseResponse addSignFranchiseResponse = new AddSignFranchiseResponse(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java index cca76a2d5..18a1a656d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java @@ -215,6 +215,21 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService { return null; } + @Override + public List getUserIdByRoleEnumAndRegionId(List userRoleEnumList, Long regionId) { + Set userIds = new HashSet<>(); + if (CollectionUtils.isEmpty(userRoleEnumList)||regionId==null){ + return new ArrayList<>(userIds); + } + userRoleEnumList.stream().forEach(x->{ + List allUserByRoleEnumAndRegionId = getAllUserByRoleEnumAndRegionId(x, regionId); + if (Objects.nonNull(allUserByRoleEnumAndRegionId)) { + userIds.addAll(allUserByRoleEnumAndRegionId); + } + }); + return new ArrayList<>(userIds); + } + @Override public List getUserByRoleEnumAndRegionIdList(UserRoleEnum userRoleEnum, Long regionId) { // 查找有区域权限的人 diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OperationLogController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OperationLogController.java new file mode 100644 index 000000000..924149671 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OperationLogController.java @@ -0,0 +1,34 @@ +package com.cool.store.controller.webb; + +import com.cool.store.request.OperationLogRequest; +import com.cool.store.response.AuditInfoResponse; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.OperationLogService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author suzhuhong + * @Date 2025/5/7 17:23 + * @Version 1.0 + */ +@RestController +@RequestMapping("pc/operation") +@Api(tags = "审批记录") +public class OperationLogController { + + @Resource + OperationLogService operationLogService; + @PostMapping("/commonAuditInfo") + @ApiOperation("获取审批流") + public ResponseResult> auditInfo(@RequestBody @Validated OperationLogRequest request){ + return ResponseResult.success(operationLogService.getAuditInfo(request.getShopId(), request.getSubStageStatusList())); + } + + +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java index f142042ae..ac0da4351 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCSignFranchiseController.java @@ -28,6 +28,13 @@ public class PCSignFranchiseController { return signFranchiseService.submitSignFranchise(request,user); } + @ApiOperation("加盟合同签约审核") + @PostMapping("/audit/result") + public ResponseResult auditSignFranchise(@RequestBody @Validated AddSignFranchiseRequest request) { + LoginUserInfo user = CurrentUserHolder.getUser(); + return signFranchiseService.submitSignFranchise(request,user); + } + @ApiOperation("获取默认值") @GetMapping("/default/get") public ResponseResult getSignFranchise(@RequestParam("shopId") Long shopId) {