feat:加盟合同阶段处理

This commit is contained in:
苏竹红
2025-05-08 10:13:27 +08:00
parent 64ccf21ee1
commit c12488135a
11 changed files with 269 additions and 36 deletions

View File

@@ -42,6 +42,7 @@ public enum MessageEnum {
MESSAGE_17("您收到一份证照信息审核申请,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"), MESSAGE_17("您收到一份证照信息审核申请,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_18("您有一个门店已缴纳加盟费/保证金,请审核", " 门店名称:${storeName}\n 加盟商姓名:${partnerUsername}\n 加盟商手机号码:${partnerMobile}\n"), MESSAGE_18("您有一个门店已缴纳加盟费/保证金,请审核", " 门店名称:${storeName}\n 加盟商姓名:${partnerUsername}\n 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_19("您有一个门店待提交加盟合同,请查收", "门店名称:${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_20("您有一个门店的加盟合同审核未通过,请查收", "##### 门店名称:${storeName}\n##### 加盟商姓名:${partnerUsername}\n##### 加盟商手机号码:${partnerMobile}\n"),
MESSAGE_21("您有一个门店待提交培训人员,请查收", "加盟商姓名:${partnerUsername}\n手机号码${partnerMobile}"), MESSAGE_21("您有一个门店待提交培训人员,请查收", "加盟商姓名:${partnerUsername}\n手机号码${partnerMobile}"),
MESSAGE_22("您收到一位员工由您带教,请查收", "员工姓名:【${userName}】,员工手机号码:【${mobile}】,登记时间:【${registerTime}】"), MESSAGE_22("您收到一位员工由您带教,请查收", "员工姓名:【${userName}】,员工手机号码:【${mobile}】,登记时间:【${registerTime}】"),

View File

@@ -47,7 +47,7 @@ public enum ShopSubStageStatusEnum {
SHOP_SUB_STAGE_STATUS_80(ShopSubStageEnum.SHOP_STAGE_8, 800, "待提交", Boolean.FALSE), 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_83(ShopSubStageEnum.SHOP_STAGE_8, 830, "审核中", Boolean.FALSE),
SHOP_SUB_STAGE_STATUS_84(ShopSubStageEnum.SHOP_STAGE_8, 840, "已签约", Boolean.TRUE), 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), SHOP_SUB_STAGE_STATUS_85_1(ShopSubStageEnum.SHOP_STAGE_8_5, 880, "待提交", Boolean.FALSE),

View File

@@ -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;
}

View File

@@ -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<Integer> subStageStatusList;
}

View File

@@ -2,6 +2,8 @@ package com.cool.store.service;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.request.AddSignFranchiseRequest; 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.AddSignFranchiseResponse;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
@@ -14,9 +16,24 @@ public interface SignFranchiseService {
*/ */
ResponseResult submitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user); ResponseResult submitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user);
/**
* 驳回之后从新提交数据
* @param request
* @param user
* @return
*/
Boolean reSubmitSignFranchise(AddSignFranchiseRequest request, LoginUserInfo user);
AddSignFranchiseResponse getSignFranchise(Long shopId); AddSignFranchiseResponse getSignFranchise(Long shopId);
/**
* 分部内勤审核
* @param request
* @return
*/
Boolean auditApprove(AuditApproveRequest request, LoginUserInfo user);
/** /**
* 加盟合同退回后重新缴费 * 加盟合同退回后重新缴费
* @param shopId * @param shopId

View File

@@ -62,6 +62,14 @@ public interface UserAuthMappingService {
List<EnterpriseUserDO> getAllUserByRoleEnumAndRegionId(UserRoleEnum userRoleEnum, Long regionId); List<EnterpriseUserDO> getAllUserByRoleEnumAndRegionId(UserRoleEnum userRoleEnum, Long regionId);
/**
* 获取有区域权限和职位的人
* @param userRoleEnumList
* @param regionId
* @return
*/
List<EnterpriseUserDO> getUserIdByRoleEnumAndRegionId(List<UserRoleEnum> userRoleEnumList, Long regionId);
/** /**
* 获取有区域权限和职位 所有人 * 获取有区域权限和职位 所有人
* *

View File

@@ -262,7 +262,7 @@ public class DeskServiceImpl implements DeskService {
@Override @Override
public PageInfo<PreparationCommonPendingVO> signingOfFranchiseContractPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) { public PageInfo<PreparationCommonPendingVO> signingOfFranchiseContractPendingList(Integer pageNum, Integer pageSize, LoginUserInfo user) {
PageInfo<PreparationCommonPendingVO> pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_8, PageInfo<PreparationCommonPendingVO> 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<PreparationCommonPendingVO> list = pageInfo.getList(); List<PreparationCommonPendingVO> list = pageInfo.getList();
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {

View File

@@ -4,10 +4,7 @@ import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.context.LoginUserInfo; import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.EnterpriseUserRoleDao; import com.cool.store.dao.*;
import com.cool.store.dao.OrderSysInfoDAO;
import com.cool.store.dao.QualificationsInfoDAO;
import com.cool.store.dao.ShopStageInfoDAO;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.*; import com.cool.store.enums.*;
import com.cool.store.enums.point.ShopSubStageEnum; 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.exception.ServiceException;
import com.cool.store.mapper.*; import com.cool.store.mapper.*;
import com.cool.store.request.AddSignFranchiseRequest; import com.cool.store.request.AddSignFranchiseRequest;
import com.cool.store.request.AuditApproveRequest;
import com.cool.store.request.AuditResultRequest; import com.cool.store.request.AuditResultRequest;
import com.cool.store.request.FranchiseAgreementRequest; import com.cool.store.request.FranchiseAgreementRequest;
import com.cool.store.response.AddSignFranchiseResponse; import com.cool.store.response.AddSignFranchiseResponse;
import com.cool.store.response.ResponseResult; import com.cool.store.response.ResponseResult;
import com.cool.store.service.CoolStoreStartFlowService; import com.cool.store.service.*;
import com.cool.store.service.PreparationService;
import com.cool.store.service.SignFranchiseService;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.utils.GeoMapUtil; import com.cool.store.utils.GeoMapUtil;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.poi.DateUtils; 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.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +36,8 @@ import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.cool.store.enums.UserRoleEnum.*;
@Service @Service
@Slf4j @Slf4j
public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService { public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResultService {
@@ -103,6 +101,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
@Resource @Resource
private OrderSysInfoDAO orderSysInfoDAO; private OrderSysInfoDAO orderSysInfoDAO;
@Resource
OperationLogService operationLogService;
@Resource
OperationLogDAO operationLogDAO;
@Override @Override
@@ -176,35 +178,23 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId()); ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(request.getShopId());
if (Objects.isNull(request.getId())) { if (Objects.isNull(request.getId())) {
signFranchiseMapper.insertSelective(signFranchiseDO); signFranchiseMapper.insertSelective(signFranchiseDO);
//更新状态为加盟商 shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_83);
LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(shopInfoDO.getLineId()); //发送通知
//暂时去掉 List<EnterpriseUserDO> auditFranchiseFeeUsers = userAuthMappingService.getUserIdByRoleEnumAndRegionId(Arrays.asList(BRANCH_OFFICE, REGION_OFFICE), shopInfoDO.getRegionId());
lineInfoDO.setJoinStatus(CommonConstants.TWO); List<String> auditFranchiseFeeUserList = auditFranchiseFeeUsers.stream().distinct().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
lineInfoMapper.insertOrUpdate(lineInfoDO); LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
//todo 提交之后先直接到已签约 正常是待审核
shopStageInfoDAO.updateShopStageInfo(request.getShopId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84);
//初始化数据
preparationService.contractAndBuildStoreCompletion(request.getShopId());
commonService.sendSms(lineInfoDO.getMobile(), SMSMsgEnum.SIGN_CONTRACT);
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("partnerUsername", lineInfoDO.getUsername()); map.put("partnerUsername", lineInfo.getUsername());
map.put("partnerMobile", lineInfoDO.getMobile()); map.put("partnerMobile", lineInfo.getMobile());
map.put("storeName", shopInfoDO.getShopName()); map.put("storeName", shopInfoDO.getShopName());
List<EnterpriseUserDO> userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId()); commonService.sendQWMessage(auditFranchiseFeeUserList,
List<String> finances = new ArrayList<>(); MessageEnum.MESSAGE_19_1,
if (Objects.nonNull(userDOList)) {
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
}
List<String> 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,
map); 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 { } else {
signFranchiseMapper.updateByPrimaryKeySelective(signFranchiseDO); 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<EnterpriseUserDO> userIds = userAuthMappingService.getUserIdByRoleEnumAndRegionId(Arrays.asList(BRANCH_OFFICE, REGION_OFFICE), shopInfoDO.getRegionId());
List<String> auditFranchiseFeeUserList = userIds.stream().distinct().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
HashMap<String, String> 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 @Override
public AddSignFranchiseResponse getSignFranchise(Long shopId) { public AddSignFranchiseResponse getSignFranchise(Long shopId) {
@@ -267,6 +293,83 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu
return response; 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<String, String> requestMap = new HashMap<>();
ShopInfoDO shopInfoDO = shopInfoMapper.selectByPrimaryKey(shopId);
LineInfoDO lineInfo = lineInfoMapper.getByLineId(shopInfoDO.getLineId());
Set<String> auditFranchiseFeeUsers = new HashSet<>();
List<EnterpriseUserDO> branchUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.JOIN_OFFICE, shopInfoDO.getRegionId());
if (Objects.nonNull(branchUser)) {
Set<String> branchUserIds = branchUser.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toSet());
auditFranchiseFeeUsers.addAll(branchUserIds);
}
List<EnterpriseUserDO> regionUser = userAuthMappingService.getAllUserByRoleEnumAndRegionId(REGION_OFFICE, shopInfoDO.getRegionId());
if (Objects.nonNull(regionUser)) {
Set<String> 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<String, String> map = new HashMap<>();
map.put("partnerUsername", lineInfoDO.getUsername());
map.put("partnerMobile", lineInfoDO.getMobile());
map.put("storeName", shopInfoDO.getShopName());
List<EnterpriseUserDO> userDOList = userAuthMappingService.getAllUserByRoleEnumAndRegionId(UserRoleEnum.FINANCE, shopInfoDO.getRegionId());
List<String> finances = new ArrayList<>();
if (Objects.nonNull(userDOList)) {
finances.addAll(userDOList.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()));
}
List<String> 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<OperationLogDO> 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, public AddSignFranchiseResponse from(SignFranchiseDO signFranchiseDO,
Long shopId) { Long shopId) {
AddSignFranchiseResponse addSignFranchiseResponse = new AddSignFranchiseResponse(); AddSignFranchiseResponse addSignFranchiseResponse = new AddSignFranchiseResponse();

View File

@@ -215,6 +215,21 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
return null; return null;
} }
@Override
public List<EnterpriseUserDO> getUserIdByRoleEnumAndRegionId(List<UserRoleEnum> userRoleEnumList, Long regionId) {
Set<EnterpriseUserDO> userIds = new HashSet<>();
if (CollectionUtils.isEmpty(userRoleEnumList)||regionId==null){
return new ArrayList<>(userIds);
}
userRoleEnumList.stream().forEach(x->{
List<EnterpriseUserDO> allUserByRoleEnumAndRegionId = getAllUserByRoleEnumAndRegionId(x, regionId);
if (Objects.nonNull(allUserByRoleEnumAndRegionId)) {
userIds.addAll(allUserByRoleEnumAndRegionId);
}
});
return new ArrayList<>(userIds);
}
@Override @Override
public List<EnterpriseUserDO> getUserByRoleEnumAndRegionIdList(UserRoleEnum userRoleEnum, Long regionId) { public List<EnterpriseUserDO> getUserByRoleEnumAndRegionIdList(UserRoleEnum userRoleEnum, Long regionId) {
// 查找有区域权限的人 // 查找有区域权限的人

View File

@@ -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<List<AuditInfoResponse>> auditInfo(@RequestBody @Validated OperationLogRequest request){
return ResponseResult.success(operationLogService.getAuditInfo(request.getShopId(), request.getSubStageStatusList()));
}
}

View File

@@ -28,6 +28,13 @@ public class PCSignFranchiseController {
return signFranchiseService.submitSignFranchise(request,user); return signFranchiseService.submitSignFranchise(request,user);
} }
@ApiOperation("加盟合同签约审核")
@PostMapping("/audit/result")
public ResponseResult<Boolean> auditSignFranchise(@RequestBody @Validated AddSignFranchiseRequest request) {
LoginUserInfo user = CurrentUserHolder.getUser();
return signFranchiseService.submitSignFranchise(request,user);
}
@ApiOperation("获取默认值") @ApiOperation("获取默认值")
@GetMapping("/default/get") @GetMapping("/default/get")
public ResponseResult<AddSignFranchiseResponse> getSignFranchise(@RequestParam("shopId") Long shopId) { public ResponseResult<AddSignFranchiseResponse> getSignFranchise(@RequestParam("shopId") Long shopId) {