Merge #96 into master from cc_20250922_closeStore_w

闭店火码账号关闭优化;十二分积分流水导出

* cc_20250922_closeStore_w: (100 commits squashed)

  - fix:支行列表接口

  - fix:错误信息修改

  - Merge branch 'master' into cc_20250922_closeStore_w
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-model/src/main/java/com/cool/store/request/close/refund/CloseStoreRefundAddRequest.java
    #	coolstore-partner-model/src/main/java/com/cool/store/request/xgj/XgjPartnerAccountRequest.java
    #	coolstore-partner-model/src/main/java/com/cool/store/request/xgj/XgjSavePartnerRequest.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/close/CloseStoreRefundService.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/close/impl/CloseStoreRefundServiceImpl.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/CloseStoreRefundController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java
    #	coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java

  - fix:闭店材料详情接口新增字段

  - fix:闭店材料修改单个材料时,去除审批状态

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

  - fix:闭店材料详情接口新增模板链接字段

  - fix:闭店材料详情新增材料状态转义字段

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

  - fix:新管家应退实退金额字段修改

  - fix:启用禁用规则合并

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

  - fix:惩处规则列表新增描述字段

  - fix:闭店支行测试环境mock

  - fix:新增用户管辖门店列表接口

  - fix:门店列表接口新增门店积分字段

  - fix:查询问题修复;新增草稿状态

  - fix:申请单审批补充审批人字段

  - fix:修改门店积分限制0-12

  - fix:积分流水接口修复;申请单查询接口添加日期筛选

  - fix:redis报错修复

  - fix:惩处单查询提供惩处待处理、惩处已处理状态筛选

  - fix:新管家关店原因字段补充

  - fix:惩处单复议申请查询异常修复

  - fix:小程序惩处单详情接口字段补充

  - fix:查询字段补充

  - fix

  - fix:转义

  - fix

  - fix:新增撤销复议申请单接口

  - fix:补充字段

  - fix:补充字段

  - fix:新增门店分数接口

  - fix:申请单新增筛选条件

  - fix:门店积分接口返回参数修改

  - fix:小程序规则分页查询接口改为Post

  - fix:问题修复

  - fix:十二分导入

  - fix:导入状态部分失败改为失败

  - fix:字段补充

  - fix:异步下Excel导入图片临时文件被清理的问题

  - fix:扣分申请导入图片路径修改并使用CDN

  - fix:导入图片上传oss文件类型修改为图片

  - fix:批量审批

  - fix:批量审批新增备注字段

  - fix:字段补充

  - Merge branch 'master' into cc_2021104_twelve_points
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/StoreDao.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java
    #	coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml
    #	coolstore-partner-web/src/main/java/com/cool/store/controller/webb/PCStoreController.java

  - fix:新增字段

  - fix:字段补充

  - fix:小程序新增接口根据闭店申请id获取闭店申请简单信息

  - fix:小程序退款信息列表修改

  - fix:闭店审批允许管理员审批

  - fix:字典项新增排序、编辑删除权限、关联字典项

  - Merge branch 'master' into cc_2021104_twelve_points

  - fix:十二分值-扣分列表申请复议截止日期格式

  - fix:去除appealEndDate格式校验

  - Merge remote-tracking branch 'origin/cc_20260128_dict_update' into cc_20260205_twelve_points_v2

  - fix:阶段名称修改

  - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/close/CloseStoreSubStageStatusEnum.java

  - fix:闭店记录列表补充审批id;仅在营门店允许发起闭店

  - fix:提交新管家字段取值逻辑修改

  - Merge branch 'cc_20260128_dict_update' into cc_2021104_twelve_points

  - fix:字典回显包含已删除字典项

  - Merge branch 'master' into cc_2021104_twelve_points

  - Merge remote-tracking branch 'origin/cc_20260205_twelve_points_v2' into cc_2021104_twelve_points

  - fix:去除惩处单审批阶段;复议申请单证明图片非必填

  - fix:复议拒绝后惩处单直接生效

  - fix:扣分申请单证明图片改为非必填

  - fix

  - fix:字段转义

  - fix:惩处待处理包含带生效数据

  - fix:字段转义

  - fix:警告单金额和积分初始化为0

  - fix

  - fix:小程序接口字段转义

  - Merge branch 'master' into cc_2021104_twelve_points

  - fix:十二分审批记录展示待审批人

  - fix

  - fix:惩处单复议申请逾期检查改为延时队列

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

  - fix:闭店定时任务过滤闭店状态补充

  - Merge branch 'refs/heads/master' into cc_2021104_twelve_points
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java

  - Merge branch 'master' into cc_20250922_closeStore_w

  - fix:闭店材料新增字段

  - fix

  - fix:小程序闭店材料详情新增字段

  - fix:闭店流程流转校验除授权书外是否已邮寄

  - fix:营帐通JWT生成

  - fix:营帐通JWT改为post

  - fix:修改secret

  - fix:配置

  - Merge branch 'master' into cc_2021104_twelve_points

  - fix:十二分流水导出;流水新增规则描述字段

  - fix

  - fix:闭店新管家接口错误信息返回

  - Merge branch 'master' into cc_20250922_closeStore_w

  - Merge branch 'cc_20260412_jwt_ge' into cc_20250922_closeStore_w

  - Merge branch 'master' into cc_20250922_closeStore_w

  - fix:闭店火码关闭账号不存在时忽略

  - Merge branch 'cc_2021104_twelve_points' into cc_20250922_closeStore_w

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/96
This commit is contained in:
王非凡
2026-04-14 09:55:15 +00:00
committed by 正新
parent 1bbb6f7097
commit 2b4ff26428
15 changed files with 244 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ import com.cool.store.entity.ImportTaskDO;
import com.cool.store.request.AllPointPageRequest;
import com.cool.store.request.FranchiseReportRequest;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.PointPageRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
@@ -52,4 +53,11 @@ public interface ExportRealizeService {
* @param importTaskDO 导出任务
*/
void exportOrderDeviceDetail(Long orderId, ImportTaskDO importTaskDO);
/**
* 十二分制积分流水导出
* @param request 查询Request
* @param importTaskDO 导出任务
*/
void exportTpScoreJournal(TpScoreJournalQueryRequest request, ImportTaskDO importTaskDO);
}

View File

@@ -6,6 +6,7 @@ import com.cool.store.dto.pre.fry.ApplyManagementQueryDTO;
import com.cool.store.enums.FileTypeEnum;
import com.cool.store.request.*;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
@@ -85,4 +86,12 @@ public interface ExportService {
* @return 记录总数
*/
Long exportOrderDeviceDetail(Long orderId, LoginUserInfo user);
/**
* 十二分制积分流水导出
* @param request 查询Request
* @param user 当前用户
* @return 记录总数
*/
Long exportTpScoreJournal(TpScoreJournalQueryRequest request, LoginUserInfo user);
}

View File

@@ -1,11 +1,12 @@
package com.cool.store.service.impl;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.date.DateUtil;
import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*;
import com.cool.store.dto.*;
import com.cool.store.dto.tp.TpScoreJournalExportDTO;
import com.cool.store.dto.pre.fry.ApplyManagementDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
@@ -15,6 +16,7 @@ import com.cool.store.mapper.*;
import com.cool.store.request.AllPointPageRequest;
import com.cool.store.request.FranchiseReportRequest;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.PointPageRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
@@ -22,8 +24,10 @@ import com.cool.store.response.BranchShopResponse;
import com.cool.store.response.FranchiseReportResponse;
import com.cool.store.response.ShopReportResponse;
import com.cool.store.service.*;
import com.cool.store.service.dict.impl.DictService;
import com.cool.store.service.order.MiniStoreOrderService;
import com.cool.store.service.order.impl.MiniStoreOrderServiceImpl;
import com.cool.store.service.tp.TpScoreJournalService;
import com.cool.store.service.visit.VisitRecordService;
import com.cool.store.service.visit.VisitRecordService;
import com.cool.store.utils.BeanUtil;
@@ -36,6 +40,7 @@ import com.cool.store.utils.poi.StringUtils;
import com.cool.store.vo.order.OrderDeviceDetailExportVO;
import com.cool.store.vo.order.OrderDeviceDetailVO;
import com.cool.store.vo.order.PCStoreOrderListVO;
import com.cool.store.vo.tp.TpScoreJournalVO;
import com.cool.store.vo.visit.VisitRecordListVO;
import com.cool.store.vo.point.PointExportVO;
import com.cool.store.vo.point.PointPageVO;
@@ -130,6 +135,10 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
private PointService pointService;
@Resource
private PointFinancialDataDAO pointFinancialDataDAO;
@Resource
private TpScoreJournalService tpScoreJournalService;
@Resource
private DictService dictService;
@Override
@Async
@@ -904,5 +913,36 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
throw new RuntimeException(e);
}
}
@Override
@Async("generalThreadPool")
public void exportTpScoreJournal(TpScoreJournalQueryRequest request, ImportTaskDO importTaskDO) {
String url = "";
try {
url = easyExcelUtil.exportExcelInBatches(TpScoreJournalExportDTO.class,
(pageNum, pageSize) -> {
request.setPageNum(pageNum);
request.setPageSize(pageSize);
List<TpScoreJournalVO> list = tpScoreJournalService.getPage(request).getList();
List<TpScoreJournalExportDTO> result = CollStreamUtil.toList(list, v -> {
TpScoreJournalExportDTO dto = BeanUtil.toBean(v, TpScoreJournalExportDTO.class);
dto.setOccurDate(DateUtil.format(v.getOccurDate(), "yyyy-MM-dd"));
return dto;
});
dictService.fillDictField(result);
return result;
},
FileTypeEnum.TP_SCORE_JOURNAL_EXPORT.getDesc(),
FileTypeEnum.TP_SCORE_JOURNAL_EXPORT.getDesc());
importTaskDO.setStatus(ImportStatusEnum.success.getCode());
} catch (Exception e) {
log.error("十二分制积分流水导出失败", e);
importTaskDO.setStatus(ImportStatusEnum.fail.getCode());
} finally {
importTaskDO.setFileUrl(url);
importTaskMapper.update(eid, importTaskDO);
redisUtilPool.delKey(RedisConstant.TP_SCORE_JOURNAL_EXPORT_LOCK);
}
}
}

View File

@@ -24,12 +24,14 @@ import com.cool.store.mapper.ImportTaskMapper;
import com.cool.store.mapper.PointInfoMapper;
import com.cool.store.request.*;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.response.BranchShopResponse;
import com.cool.store.response.FranchiseReportResponse;
import com.cool.store.response.ShopReportResponse;
import com.cool.store.service.*;
import com.cool.store.service.tp.TpScoreJournalService;
import com.cool.store.utils.RedisUtilPool;
import com.cool.store.utils.easyExcel.EasyExcelUtil;
import com.cool.store.utils.poi.DateUtils;
@@ -89,6 +91,8 @@ public class ExportServiceImpl implements ExportService {
private RedisUtilPool redisUtilPool;
@Resource
private PointService pointService;
@Resource
private TpScoreJournalService tpScoreJournalService;
@@ -349,5 +353,32 @@ public class ExportServiceImpl implements ExportService {
return 1L;
}
@Override
public Long exportTpScoreJournal(TpScoreJournalQueryRequest request, LoginUserInfo user) {
Long count = tpScoreJournalService.count(request);
if (count.intValue() > CommonConstants.MAX_EXPORT_SIZE_PRO) {
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_100000);
}
if (Long.valueOf(0).equals(count)) {
log.error("导出数据为空");
return 0L;
}
boolean lock = redisUtilPool.setNxExpire(RedisConstant.TP_SCORE_JOURNAL_EXPORT_LOCK, RedisConstant.TP_SCORE_JOURNAL_EXPORT_LOCK, 30 * 60 * 1000);
if (!lock) {
throw new ServiceException(ErrorCodeEnum.EXPORT_TASK_LIMIT);
}
ImportTaskDO importTaskDO = new ImportTaskDO();
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
importTaskDO.setFileName(FileTypeEnum.TP_SCORE_JOURNAL_EXPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
importTaskDO.setIsImport(Boolean.FALSE);
importTaskDO.setFileType(FileTypeEnum.TP_SCORE_JOURNAL_EXPORT.getFileType());
importTaskDO.setCreateUserId(user.getUserId());
importTaskDO.setCreateTime(new Date().getTime());
importTaskDO.setCreateName(user.getName());
importTaskMapper.insert(eid, importTaskDO);
exportRealizeService.exportTpScoreJournal(request, importTaskDO);
return count;
}
}

View File

@@ -90,7 +90,14 @@ public class ThirdHuoMaServiceImpl implements HuoMaService {
@Override
public Boolean accountClose(AccountCloseRequest requestBody) {
String apiUrl = url + "/dzgV1/shop/setShopEnableSwitch";
executeApiCall(apiUrl, requestBody, List.class);
try {
executeApiCall(apiUrl, requestBody, List.class);
} catch (ServiceException e) {
if (e.getMessage().equals("第三方服务异常->系统未找到对应的店铺编码")) {
return true;
}
throw e;
}
return true;
}

View File

@@ -20,4 +20,11 @@ public interface TpScoreJournalService {
* @return 积分流水VO列表
*/
PageInfo<TpScoreJournalVO> getPage(TpScoreJournalQueryRequest request);
/**
* 统计数量
* @param request 积分流水查询Request
* @return 数量
*/
Long count(TpScoreJournalQueryRequest request);
}

View File

@@ -552,8 +552,9 @@ public class TpApplyServiceImpl implements TpApplyService {
if (Objects.isNull(storeDO)) {
throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND);
}
TpRuleDO tpRuleDO = tpRuleDAO.getById(formDO.getRuleId());
// 添加积分流水
tpScoreJournalDAO.insertSelective(new TpScoreJournalDO(storeDO, formDO, occurScore, occurBeforeScore, occurAfterScore));
tpScoreJournalDAO.insertSelective(new TpScoreJournalDO(storeDO, formDO, occurScore, occurBeforeScore, occurAfterScore, tpRuleDO.getRemark()));
}
}
}

View File

@@ -33,4 +33,9 @@ public class TpScoreJournalServiceImpl implements TpScoreJournalService {
PageInfo<TpScoreJournalDO> page = new PageInfo<>(list);
return BeanUtil.toPage(page, TpScoreJournalVO.class);
}
@Override
public Long count(TpScoreJournalQueryRequest request) {
return tpScoreJournalDAO.count(request);
}
}