From f52e63a9380623b3dbefa59b26e5188f3ee0887e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=9D=9E=E5=87=A1?= Date: Mon, 13 Apr 2026 09:27:52 +0000 Subject: [PATCH] Merge #92 into master from cc_20250922_closeStore_w MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新管家闭店接口错误信息返回 * cc_20250922_closeStore_w: (81 commits squashed) - feat:闭店流程init - feat:闭店流程接口 - feat:闭店 - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w - fix:闭店材料模块 - fix:账号关闭流程 - feat:闭店审批流程(未测);字典表 - fix:闭店审批流程完善 - Merge branch 'master' into cc_20250922_closeStore_w - fix:闭店流程流转补充 - feat:闭店退款 - fix:字典表接口 - Merge branch 'master' into cc_20250922_closeStore_w - fix:闭店原因接口新增闭店发起方式字段 - fix:修改审批记录返回数据类型 feat:新增退款流程跳过 - fix - fix:新增字段 - feat:新增闭店退款提交人列表接口 - fix:闭店初始化数据来源修改;小程序闭店材料详情新增模板url字段 - fix:新增接口返回字段 - fix:闭店管理、审批待办类别所属品牌筛选改为多选 - fix:闭店管理列表新增完成阶段数量字段 - feat:新增第三方闭店申请接口 - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w # Conflicts: # coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java # coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java # coolstore-partner-common/src/main/java/com/cool/store/utils/BeanUtil.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 - fix:自动发起闭店申请定时任务 - feat:火码账号关闭 - fix:闭店流程修改 - Merge branch 'master' into cc_20250922_closeStore_w # 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-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java - fix:删除云流水发起闭店接口 - fix:取消闭店申请入参修改 - fix:闭店申请列表赋值异常问题 - fix:闭店审批通过异常 - fix:普通方法参数校验 - fix:账号关闭时校验阶段状态 - fix:初始化 - fix:字段新增 - fix:接口补充 - fix - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w # 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-common/src/main/java/com/cool/store/enums/RocketMqGroupEnum.java # coolstore-partner-common/src/main/java/com/cool/store/enums/RocketMqTagEnum.java # coolstore-partner-web/src/main/java/com/cool/store/controller/webb/OpenApiController.java # coolstore-partner-web/src/main/java/com/cool/store/controller/webc/TestController.java - Merge branch 'refs/heads/master' into cc_20250922_closeStore_w # Conflicts: # coolstore-partner-common/src/main/java/com/cool/store/common/InsertGroup.java # coolstore-partner-common/src/main/java/com/cool/store/common/UpdateGroup.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/dao/dict/SysDictColumnDAO.java # coolstore-partner-dao/src/main/java/com/cool/store/mapper/StoreMapper.java # coolstore-partner-dao/src/main/java/com/cool/store/mapper/dict/SysDictColumnMapper.java # coolstore-partner-dao/src/main/resources/mapper/StoreMapper.xml # coolstore-partner-dao/src/main/resources/mapper/dict/SysDictColumnMapper.xml # coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DictManagerController.java # coolstore-partner-web/src/main/java/com/cool/store/job/XxlJobHandler.java - fix:闭店流程修改 - fix:闭店流程修改 - fix:修改三方付款状态接口 - fix:闭店申请测试接口 - fix:退款供应商接口补充 - 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:闭店支行测试环境mock - fix:redis报错修复 - fix:新管家关店原因字段补充 - fix:新增字段 - fix:字段补充 - fix:小程序新增接口根据闭店申请id获取闭店申请简单信息 - fix:小程序退款信息列表修改 - fix:闭店审批允许管理员审批 - 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 'refs/heads/master' into cc_20250922_closeStore_w - fix:闭店定时任务过滤闭店状态补充 - Merge branch 'master' into cc_20250922_closeStore_w - fix:闭店材料新增字段 - fix - fix:小程序闭店材料详情新增字段 - fix:闭店流程流转校验除授权书外是否已邮寄 - fix:营帐通JWT生成 - fix:营帐通JWT改为post - fix:修改secret - fix:配置 - fix:闭店新管家接口错误信息返回 - Merge branch 'master' into cc_20250922_closeStore_w - Merge branch 'cc_20260412_jwt_ge' into cc_20250922_closeStore_w Signed-off-by: 王非凡 Merged-by: 正新 CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/92 --- .../store/request/YztTokenGenRequest.java | 21 +++++++++ .../oppty/OpportunityApiResponse.java | 3 ++ .../service/impl/ThirdXgjServiceImpl.java | 3 +- .../controller/webc/ThirdTokenController.java | 47 +++++++++++++++++++ .../main/resources/application-ab.properties | 1 + .../resources/application-local.properties | 1 + .../resources/application-online.properties | 1 + .../resources/application-test.properties | 1 + 8 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/request/YztTokenGenRequest.java create mode 100644 coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdTokenController.java diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/YztTokenGenRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/YztTokenGenRequest.java new file mode 100644 index 000000000..bf553b80a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/YztTokenGenRequest.java @@ -0,0 +1,21 @@ +package com.cool.store.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + *

+ * 营帐通token生成Request + *

+ * + * @author wangff + * @since 2026/4/12 + */ +@Data +public class YztTokenGenRequest { + @ApiModelProperty("门店编码") + @NotBlank(message = "门店编码不能为空") + private String storeNum; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityApiResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityApiResponse.java index f91202d63..4dafb70c4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityApiResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityApiResponse.java @@ -15,4 +15,7 @@ public class OpportunityApiResponse { private int code; private Boolean success; private T data; + + private String retMsg; + private int retCode; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdXgjServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdXgjServiceImpl.java index 74b3a7404..20fbe54c5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdXgjServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdXgjServiceImpl.java @@ -124,7 +124,8 @@ public class ThirdXgjServiceImpl implements ThirdXgjService { OpportunityApiResponse apiResponse = objectMapper.readValue(responseBody, javaType); if (apiResponse.getCode() != 200) { - throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR,apiResponse.getMsg()); + String msg = StringUtils.isNotBlank(apiResponse.getRetMsg()) ? apiResponse.getRetMsg() : apiResponse.getMsg(); + throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, msg); } return apiResponse.getData(); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdTokenController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdTokenController.java new file mode 100644 index 000000000..dc6da67d0 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdTokenController.java @@ -0,0 +1,47 @@ +package com.cool.store.controller.webc; + +import cn.hutool.jwt.JWTUtil; +import com.cool.store.request.YztTokenGenRequest; +import com.cool.store.response.ResponseResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.Map; + +/** + *

+ * 三方验签 + *

+ * + * @author wangff + * @since 2026/4/12 + */ +@Slf4j +@RestController +@RequestMapping("/mini/third/token") +@Api(tags = "三方验签") +public class ThirdTokenController { + + private static final long EXPIRE_SECONDS = 3600; + + @Value("${third.party.appKey}") + private String appKey; + @Value("${third.party.secret}") + private String secret; + + @PostMapping("/generate") + @ApiOperation("营帐通JWT") + public ResponseResult generateToken(@RequestBody @Validated YztTokenGenRequest request) { + Map payload = new HashMap<>(); + payload.put("platform", "crm"); + payload.put("storeSn", request.getStoreNum()); + payload.put("appKey", appKey); + payload.put("exp", System.currentTimeMillis() / 1000 + EXPIRE_SECONDS); + return ResponseResult.success(JWTUtil.createToken(payload, secret.getBytes())); + } +} diff --git a/coolstore-partner-web/src/main/resources/application-ab.properties b/coolstore-partner-web/src/main/resources/application-ab.properties index 68483f4b8..2f9923b52 100644 --- a/coolstore-partner-web/src/main/resources/application-ab.properties +++ b/coolstore-partner-web/src/main/resources/application-ab.properties @@ -101,6 +101,7 @@ qywx.task.notice.url2=https://tstore-h5.coolstore.cn/?corpId=%s&appType=%s#/noti #机会点地址 third.party.appKey=IGSAEQoakR2HEaYx third.party.appSecret=aPsA99K1obFeFm3m +third.party.secret=aPsA99K1obFeFm3m zx.opportunity.url=https://snp.wenmatech.com/ #大数据地址 diff --git a/coolstore-partner-web/src/main/resources/application-local.properties b/coolstore-partner-web/src/main/resources/application-local.properties index 80cdb3c42..0af9c2f38 100644 --- a/coolstore-partner-web/src/main/resources/application-local.properties +++ b/coolstore-partner-web/src/main/resources/application-local.properties @@ -98,6 +98,7 @@ qywx.task.notice.url2=https://tstore-h5.coolstore.cn/?corpId=%s&appType=%s#/noti #机会点地址 third.party.appKey=IGSAEQoakR2HEaYx third.party.appSecret=aPsA99K1obFeFm3m +third.party.secret=aPsA99K1obFeFm3m zx.opportunity.url=https://snp.wenmatech.com/ #大数据地址 diff --git a/coolstore-partner-web/src/main/resources/application-online.properties b/coolstore-partner-web/src/main/resources/application-online.properties index a58dce769..07cdb9d71 100644 --- a/coolstore-partner-web/src/main/resources/application-online.properties +++ b/coolstore-partner-web/src/main/resources/application-online.properties @@ -115,6 +115,7 @@ yls.api.auth.secret=3b56198f096d4009072c927c96fbc8b6 #机会点地址 已确定 third.party.appKey=IGSAEQoakR2HEaYx third.party.appSecret=aPsA99K1obFeFm3m +third.party.secret=aPsA99K1obFeFm3m zx.opportunity.url=https://snp.wenmatech.com/ #大数据地址 已确定 diff --git a/coolstore-partner-web/src/main/resources/application-test.properties b/coolstore-partner-web/src/main/resources/application-test.properties index c03c114eb..7b7de0c7f 100644 --- a/coolstore-partner-web/src/main/resources/application-test.properties +++ b/coolstore-partner-web/src/main/resources/application-test.properties @@ -99,6 +99,7 @@ qywx.task.notice.url2=https://tstore-h5.coolstore.cn/?corpId=%s&appType=%s#/noti #机会点地址 third.party.appKey=IGSAEQoakR2HEaYx third.party.appSecret=aPsA99K1obFeFm3m +third.party.secret=aPsA99K1obFeFm3m zx.opportunity.url=https://snp.wenmatech.com/ #大数据地址