feat:加盟合同阶段处理
This commit is contained in:
@@ -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}】"),
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取有区域权限和职位 所有人
|
* 获取有区域权限和职位 所有人
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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) {
|
||||||
// 查找有区域权限的人
|
// 查找有区域权限的人
|
||||||
|
|||||||
@@ -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()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user