Merge #149 into master from cc_20260408_close_up_v2

fix:歇业管理优化

* cc_20260408_close_up_v2: (37 commits squashed)

  - fix:歇业管理(部分)

  - fix:歇业管理(部分)

  - fix:审批逻辑修改;拒绝审批实现

  - fix:恢复开业申请及审批

  - fix:主流程补充

  - fix:主流程补充

  - fix:字段补充及逻辑修改

  - fix:字段补充

  - fix

  - fix:平台处理新增字段

  - fix

  - Merge remote-tracking branch 'origin/cc_20260408_close_up' into cc_20260408_close_up

  - fix:歇业营业发送短信

  - fix:排序

  - fix:详情接口新增加盟商手机号字段;申请单日期和已有申请单存在交集时申请失败

  - fix:申请单详情接口新增品牌字段

  - fix:新增列表筛选条件;审批单状态校验

  - Merge branch 'master' into cc_20260408_close_up
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java

  - fix:歇业对接三方平台

  - fix:歇业对接三方平台

  - fix:日志

  - fix:歇业后自动恢复营业;抖音自动歇业三方对接

  - fix:歇业后自动恢复营业;抖音自动歇业三方对接

  - fix:火码平台账号处理状态初始化为已处理

  - Merge remote-tracking branch 'origin/cc_20260408_close_up' into cc_20260408_close_up

  - fix:歇业管理逻辑修改

  - Merge branch 'cc_20260511_close_up_modify' into cc_20260408_close_up
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/closeup/CloseUpPlatformEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/closeup/CloseUpPlatformDAO.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/closeup/CloseUpPlatformMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-dao/src/main/resources/mapper/closeup/CloseUpApplyFormMapper.xml
    #	coolstore-partner-dao/src/main/resources/mapper/closeup/CloseUpPlatformMapper.xml
    #	coolstore-partner-model/src/main/java/com/cool/store/entity/closeup/CloseUpApplyFormDO.java
    #	coolstore-partner-model/src/main/java/com/cool/store/entity/closeup/CloseUpPlatformDO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/mq/consumer/ConsumerClient.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/CloseUpService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/impl/CloseUpServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCTestController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java
    #	coolstore-partner-web/src/main/resources/application-ab.properties
    #	coolstore-partner-web/src/main/resources/application-local.properties
    #	coolstore-partner-web/src/main/resources/application-online.properties
    #	coolstore-partner-web/src/main/resources/application-test.properties

  - fix:合并冲突

  - Merge branch 'master' into cc_20260408_close_up

  - fix:火码歇业时机修改

  - fix

  - fix:平台关闭开启处理自动发起三方调用

  - Merge branch 'master' into cc_20260408_close_up_v2
    
    # Conflicts:
    #	coolstore-partner-service/src/main/java/com/cool/store/service/closeup/impl/CloseUpServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - fix:平台关闭开启时调用三方平台接口

  - fix:修复自动关闭三方平台状态更新失败的问题

  - Merge branch 'refs/heads/master' into cc_20260408_close_up_v2

  - fix:修复三方门店歇业失败时POS待办不更新的问题

Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/149
This commit is contained in:
王非凡
2026-05-26 09:21:02 +00:00
committed by 正新
parent ce882e5d87
commit 567ff3536f
11 changed files with 163 additions and 43 deletions

View File

@@ -5,6 +5,7 @@ import com.cool.store.request.closeup.*;
import com.cool.store.response.AuditInfoResponse;
import com.cool.store.vo.closeup.CloseUpApplyFormSimpleVO;
import com.cool.store.vo.closeup.CloseUpApplyFormVO;
import com.cool.store.vo.closeup.CloseUpPlatformStatusVO;
import com.cool.store.vo.closeup.CloseUpPlatformVO;
import com.github.pagehelper.PageInfo;
@@ -84,7 +85,7 @@ public interface CloseUpService {
/**
* 平台关闭开启处理
*/
Boolean handlePlatform(CloseUpPlatformHandleRequest request);
CloseUpPlatformStatusVO handlePlatform(CloseUpPlatformHandleRequest request);
/**
* 根据任务id查询平台状态

View File

@@ -28,13 +28,13 @@ import com.cool.store.request.closeup.*;
import com.cool.store.response.AuditInfoResponse;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.service.closeup.CloseUpService;
import com.cool.store.service.closeup.PlatformAutoStrategy;
import com.cool.store.service.closeup.PlatformHttpClientRest;
import com.cool.store.service.sms.AliyunSmsService;
import com.cool.store.utils.BeanUtil;
import com.cool.store.vo.PartnerUserInfoVO;
import com.cool.store.vo.closeup.CloseUpApplyFormSimpleVO;
import com.cool.store.vo.closeup.CloseUpApplyFormVO;
import com.cool.store.vo.closeup.CloseUpPlatformStatusVO;
import com.cool.store.vo.closeup.CloseUpPlatformVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -402,7 +402,7 @@ public class CloseUpServiceImpl implements CloseUpService {
@Override
public List<CloseUpPlatformVO> getPlatformListByApplyId(Long applyId) {
List<CloseUpPlatformDO> list = platformDAO.getList(applyId, null, null, null);
List<CloseUpPlatformDO> list = platformDAO.getList(applyId, null, null, null, null);
return BeanUtil.toList(list, CloseUpPlatformVO.class);
}
@@ -494,37 +494,37 @@ public class CloseUpServiceImpl implements CloseUpService {
* 自动开启关闭各平台
*/
public void autoPlatform(String storeId, Integer applyType, List<CloseUpPlatformDO> list) {
try {
StoreDO storeDO = storeDao.getByStoreId(storeId);
if (Objects.isNull(storeDO)) {
return;
}
int platformCode = 0;
List<CloseUpPlatformDO> unClosePlatformList = list.stream()
.filter(platformDO -> platformDO.getStatus().equals(0)
&& platformDO.getType().equals(1)
&& !(new Date()).before(platformDO.getTaskStartDate()))
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(unClosePlatformList)) {
log.info("未处理的自动关闭平台为空");
return;
}
StoreDO storeDO = storeDao.getByStoreId(storeId);
if (Objects.isNull(storeDO)) {
return;
}
int platformCode = 0;
List<CloseUpPlatformDO> unClosePlatformList = list.stream()
.filter(platformDO -> platformDO.getStatus().equals(0)
&& platformDO.getType().equals(1)
&& !(new Date()).before(platformDO.getTaskStartDate()))
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(unClosePlatformList)) {
log.info("未处理的自动关闭平台为空");
return;
}
List<CloseUpPlatformDO> updatePlatformList = new ArrayList<>();
// 歇业平台
for (CloseUpPlatformDO v : unClosePlatformList) {
Integer ongoingPlatformCode = CloseUpPlatformEnum.getPlatformCodeByCode(v.getCode());
if (Objects.nonNull(ongoingPlatformCode)) {
platformCode = platformCode | ongoingPlatformCode;
} else {
CloseUpPlatformDO updatePlatform = CloseUpPlatformDO.builder().id(v.getId()).status(1).build();
updatePlatformList.add(updatePlatform);
}
}
if (platformCode == 0) {
log.info("未处理的自动关闭平台为空platformCode=0");
return;
List<CloseUpPlatformDO> updatePlatformList = new ArrayList<>();
// 歇业平台
for (CloseUpPlatformDO v : unClosePlatformList) {
Integer ongoingPlatformCode = CloseUpPlatformEnum.getPlatformCodeByCode(v.getCode());
if (Objects.nonNull(ongoingPlatformCode)) {
platformCode = platformCode | ongoingPlatformCode;
} else {
CloseUpPlatformDO updatePlatform = CloseUpPlatformDO.builder().id(v.getId()).status(1).build();
updatePlatformList.add(updatePlatform);
}
}
if (platformCode == 0) {
log.info("未处理的自动关闭平台为空platformCode=0");
return;
}
try {
PlatformStatusDTO platformStatusDTO = platformHttpClientRest.platformCloseUp(storeDO.getStoreNum(), String.valueOf(platformCode), applyType);
if (Objects.nonNull(platformStatusDTO) && CollectionUtils.isNotEmpty(platformStatusDTO.getPlatformResults())) {
Map<String, PlatformStatusDTO.PlatformUpdateResult> map = CollStreamUtil.toMap(platformStatusDTO.getPlatformResults(), PlatformStatusDTO.PlatformUpdateResult::getPlatformCode, v -> v);
@@ -546,10 +546,10 @@ public class CloseUpServiceImpl implements CloseUpService {
}
}
}
platformDAO.updateStatusAndTaskId(updatePlatformList);
} catch (Exception e) {
log.info("平台自动歇业/营业失败", e);
}
platformDAO.updateStatusAndTaskIdExcludeTaskStatus(updatePlatformList);
}
/**
@@ -564,9 +564,49 @@ public class CloseUpServiceImpl implements CloseUpService {
}
@Override
public Boolean handlePlatform(CloseUpPlatformHandleRequest request) {
platformDAO.updateStatusByIds(Collections.singletonList(request.getId()), request.getStatus());
return true;
public CloseUpPlatformStatusVO handlePlatform(CloseUpPlatformHandleRequest request) {
CloseUpPlatformDO platformDO = platformDAO.getById(request.getId());
if (Objects.isNull(platformDO)) {
throw new ServiceException(ErrorCodeEnum.CLOSE_UP_PLATFORM_DATE_NOT_EXIST);
}
if (!platformDO.getTaskStatus().equals(0)) {
throw new ServiceException(ErrorCodeEnum.CLOSE_UP_PLATFORM_STATUS_MODIFYING);
}
CloseUpApplyFormDO formDO = applyFormDAO.getById(platformDO.getApplyId());
if (Objects.isNull(formDO)) {
throw new ServiceException(ErrorCodeEnum.CLOSE_UP_FORM_NOT_EXIST);
}
StoreDO storeDO = storeDao.getEffectiveByStoreId(formDO.getStoreId());
if (Objects.isNull(storeDO)) {
throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
}
Integer platformCode = CloseUpPlatformEnum.getPlatformCodeByCode(platformDO.getCode());
if (platformDO.getType().equals(1) && Objects.nonNull(platformCode)) {
PlatformStatusDTO platformStatusDTO = platformHttpClientRest.platformCloseUp(storeDO.getStoreNum(), String.valueOf(platformCode), request.getStatus() ^ 1);
if (Objects.nonNull(platformStatusDTO)) {
if (CollectionUtils.isNotEmpty(platformStatusDTO.getPlatformResults())) {
PlatformStatusDTO.PlatformUpdateResult result = platformStatusDTO.getPlatformResults().get(0);
if (Boolean.TRUE.equals(result.getSuccess())) {
boolean isDy = result.getPlatformCode().equals("8");
CloseUpPlatformDO updatePlatform = CloseUpPlatformDO.builder()
.id(platformDO.getId())
.status(isDy ? platformDO.getStatus() : request.getStatus())
.taskId(isDy ? result.getTaskId() : null)
.taskStatus(isDy ? request.getStatus() + 1 : 0)
.build();
platformDAO.updateStatusAndTaskId(Collections.singletonList(updatePlatform));
return new CloseUpPlatformStatusVO(isDy ? 1 : 2);
} else {
throw new ServiceException(ErrorCodeEnum.CLOSE_UP_PLATFORM_STATUS_UPDATE_ERROR, result.getMessage());
}
}
}
throw new ServiceException(ErrorCodeEnum.CLOSE_UP_PLATFORM_STATUS_UPDATE_ERROR, "系统异常");
} else {
// 手动关闭直接修改状态
platformDAO.updateStatusByIds(Collections.singletonList(request.getId()), request.getStatus(), 0);
return new CloseUpPlatformStatusVO(2);
}
}
@Override
@@ -591,7 +631,7 @@ public class CloseUpServiceImpl implements CloseUpService {
}
PlatformAsyncStatusDTO result = platformHttpClientRest.queryPlatformStatusByTaskId(storeDO.getStoreNum(), String.valueOf(platformCode), Long.valueOf(platformDO.getTaskId()));
if (Objects.nonNull(result) && result.getStatus().equals("50")) {
platformDAO.updateStatusByIds(Collections.singletonList(platformDO.getId()), 1);
platformDAO.updateStatusByIds(Collections.singletonList(platformDO.getId()), platformDO.getTaskStatus() - 1, 0);
}
}
@@ -667,7 +707,7 @@ public class CloseUpServiceImpl implements CloseUpService {
}
if (autoPlatform) {
// 自动开关平台
List<CloseUpPlatformDO> platformList = platformDAO.getList(formDO.getId(), 0, 1, null);
List<CloseUpPlatformDO> platformList = platformDAO.getList(formDO.getId(), 0, 1, null, null);
autoPlatform(storeId, applyType, platformList);
}
if (StringUtils.isNotBlank(storeDO.getTelephone())) {