Merge #47 into master from cc_20250922_closeStore_w

闭店

* cc_20250922_closeStore_w: (67 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:提交新管家字段取值逻辑修改

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/47
This commit is contained in:
王非凡
2026-03-03 10:48:32 +00:00
committed by 正新
parent 0da8efbeaa
commit f006fea2c2
25 changed files with 394 additions and 82 deletions

View File

@@ -2,7 +2,9 @@ package com.cool.store.dto.xgj;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
@@ -14,6 +16,8 @@ import lombok.Data;
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@AllArgsConstructor
@NoArgsConstructor
public class XgjBranchBankDTO {
@ApiModelProperty("银行名称")
private String matchBankName;

View File

@@ -0,0 +1,33 @@
package com.cool.store.request.close.refund;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* <p>
* 闭店退款供应商账户Request
* </p>
*
* @author wangff
* @since 2025/12/11
*/
@Data
public class CloseStorePartnerAccountRequest {
@ApiModelProperty("账户名称")
@NotBlank(message = "账户名称不能为空")
private String accountName;
@ApiModelProperty("银行账号")
@NotBlank(message = "银行账号不能为空")
private String accountNumber;
@ApiModelProperty("开户银行,全称")
@NotBlank(message = "开户银行不能为空")
private String bankName;
@ApiModelProperty("开户支行号")
@NotBlank(message = "开户支行号不能为空")
private String bankBranchNo;
}

View File

@@ -0,0 +1,41 @@
package com.cool.store.request.close.refund;
import cn.hutool.core.bean.BeanUtil;
import com.cool.store.common.PageBasicInfo;
import com.cool.store.request.xgj.XgjPartnerQueryRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* <p>
* 闭店退款供应商查询Request
* </p>
*
* @author wangff
* @since 2025/12/11
*/
@Data
public class CloseStorePartnerQueryRequest extends PageBasicInfo {
@ApiModelProperty("查询开始(创建/更新)时间戳(包含、秒级)")
private Long startTime;
@ApiModelProperty("查询结束时间戳")
private Long endTime;
@ApiModelProperty("往来单位编码")
private List<String> bizCodes;
@ApiModelProperty("分类的业务编码")
private String parentBizCode;
@ApiModelProperty("往来单位编码/名字")
private String keyword;
public XgjPartnerQueryRequest convertXgj() {
XgjPartnerQueryRequest request = BeanUtil.toBean(this, XgjPartnerQueryRequest.class);
request.setPageNo(this.getPageNum());
return request;
}
}

View File

@@ -0,0 +1,52 @@
package com.cool.store.request.close.refund;
import com.cool.store.request.xgj.XgjSavePartnerRequest;
import com.cool.store.utils.BeanUtil;
import com.cool.store.utils.UUIDUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
* <p>
* 闭店退款供应商同步Request
* </p>
*
* @author wangff
* @since 2025/12/11
*/
@Data
public class CloseStorePartnerRequest {
@ApiModelProperty("供应商名称")
@NotBlank(message = "供应商名称不能为空")
private String name;
@ApiModelProperty("所属分类,测试环境填‘测试供应商分类’")
@NotBlank(message = "供应商名称不能为空")
private String parentName;
@ApiModelProperty("所属分类编码测试环境CGYS")
@NotBlank(message = "供应商名称不能为空")
private String parentBizCode;
@ApiModelProperty("往来关系")
private String partnerType;
@ApiModelProperty("往来性质")
private String partnerProperty;
@ApiModelProperty("往来单位账户列表")
@NotEmpty(message = "往来单位账户列表不能为空")
@Valid
private List<CloseStorePartnerAccountRequest> accounts;
public XgjSavePartnerRequest convertXgj() {
XgjSavePartnerRequest request = BeanUtil.toBean(this, XgjSavePartnerRequest.class);
request.setBusinessCode(UUIDUtils.get32UUID());
return request;
}
}

View File

@@ -1,8 +1,9 @@
package com.cool.store.request.close.refund;
import com.cool.store.annotation.DictField;
import com.cool.store.dto.close.CloseStoreMkUserDTO;
import com.cool.store.entity.CloseStoreRefundInfoDO;
import com.cool.store.entity.StoreDO;
import com.cool.store.enums.master.StoreCloseNatureEnum;
import com.cool.store.enums.master.StoreCloseReasonEnum;
import com.cool.store.request.xgj.XgjReimburseFeeRequest;
import com.cool.store.request.xgj.XgjReimburseRequest;
@@ -12,7 +13,6 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.Date;
@@ -39,6 +39,10 @@ public class CloseStoreRefundAddRequest {
@NotBlank(message = "公司抬头")
private String invoiceTitle;
@ApiModelProperty(value = "公司抬头", hidden = true)
@DictField(sourceField = "invoiceTitle")
private String legalEntity;
@ApiModelProperty("提交人每刻工号")
private String submitterId;
@@ -53,6 +57,10 @@ public class CloseStoreRefundAddRequest {
@NotBlank(message = "退款类型不能为空")
private String refundType;
@ApiModelProperty(value = "退款类型", hidden = true)
@DictField(sourceField = "refundType")
private String cf175;
@ApiModelProperty("其他说明")
private String remark;
@@ -110,13 +118,14 @@ public class CloseStoreRefundAddRequest {
public XgjReimburseRequest convertToXgjRequest(CloseStoreMkUserDTO mkUserDTO, Integer closeReason, StoreDO storeDO) {
StoreCloseReasonEnum closeReasonEnum = StoreCloseReasonEnum.getByCode(closeReason);
return XgjReimburseRequest.builder()
.legalEntity(invoiceTitle)
.legalEntity(legalEntity)
.coverUser(mkUserDTO.getJobnumber())
.reimburseName(refundReason)
.cf175(refundType)
.cf175(cf175)
.cf176(refundProject)
.cf333(closeReasonEnum.getCloseNature().getDesc())
.cf334(closeReasonEnum.getDesc())
.cf334(StoreCloseNatureEnum.REQUIRE_CLOSE.equals(closeReasonEnum.getCloseNature()) ? closeReasonEnum.getDesc() : "")
.cf335(StoreCloseNatureEnum.ONESELF_CLOSE.equals(closeReasonEnum.getCloseNature()) ? closeReasonEnum.getDesc() : "")
.cf177(storeDO.getStoreNum())
.cf178(storeDO.getStoreName())
.comments(remark)
@@ -130,8 +139,8 @@ public class CloseStoreRefundAddRequest {
.expenseList(Collections.singletonList(
XgjReimburseFeeRequest.builder()
.expenseTypeCode(expenseTypeCode)
.consumeAmount(expectedAmount)
.refundAmount(actualAmount)
.consumeAmount(actualAmount)
.refundAmount(expectedAmount)
.deductionAmount(deductAmount)
.consumeTime(CoolDateUtils.DateFormat(expenseApplyTime, "yyyy-MM-dd HH:mm:ss"))
.build()

View File

@@ -25,6 +25,6 @@ public class XgjPartnerAccountRequest {
@ApiModelProperty("开户支行号")
private String bankBranchNo;
@ApiModelProperty("账户类型")
private String accountType;
@ApiModelProperty("账户类型固定BANK")
private String accountType = "BANK";
}

View File

@@ -24,10 +24,10 @@ public class XgjReimburseFeeRequest {
@ApiModelProperty(value = "费用类型编码", required = true)
private String expenseTypeCode;
@ApiModelProperty(value = "退金额", required = true)
@ApiModelProperty(value = "退金额", required = true)
private BigDecimal consumeAmount;
@ApiModelProperty(value = "退金额", required = true)
@ApiModelProperty(value = "退金额", required = true)
private BigDecimal refundAmount;
@ApiModelProperty(value = "扣款金额", required = true)

View File

@@ -22,10 +22,10 @@ public class XgjSavePartnerRequest {
@ApiModelProperty("往来单位编码")
private String businessCode;
@ApiModelProperty("所属分类")
@ApiModelProperty("所属分类,测试环境填‘测试供应商分类’")
private String parentName;
@ApiModelProperty("所属分类编码")
@ApiModelProperty("所属分类编码测试环境CGYS")
private String parentBizCode;
@ApiModelProperty("往来关系")

View File

@@ -42,4 +42,7 @@ public class CloseStoreFileDetailMiniVO {
@ApiModelProperty("督导审批意见")
private String remark;
@ApiModelProperty("阶段状态")
private Integer shopSubStageStatus;
}

View File

@@ -19,6 +19,9 @@ public class CloseStoreFileDetailVO {
@ApiModelProperty("闭店申请id")
private Long closeStoreId;
@ApiModelProperty("闭店申请单号")
private String closeStoreNo;
@ApiModelProperty("邮件单号")
private String mailNumber;
@@ -51,4 +54,7 @@ public class CloseStoreFileDetailVO {
@ApiModelProperty("督导审批意见")
private String remark;
@ApiModelProperty("阶段状态")
private Integer shopSubStageStatus;
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.vo.close.file;
import com.cool.store.enums.close.FileStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -31,9 +32,19 @@ public class CloseStoreFileInfoVO {
@ApiModelProperty("材料状态 0-未上传 1-合格 2-不合格 3-已上传 4-审批中 5-已修改")
private Integer fileStatus;
@ApiModelProperty("材料状态")
private String fileStatusName;
@ApiModelProperty("审批意见")
private String approveOpinion;
@ApiModelProperty("模板链接")
private String templateUrl;
@ApiModelProperty("图片列表")
private String urls;
public String getFileStatusName() {
return FileStatusEnum.getDescByStatus(this.fileStatus);
}
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.vo.close.refund;
import com.cool.store.enums.close.RefundPayStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -19,27 +20,25 @@ public class CloseStoreRefundSimpleVO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("退款类型(闭店子阶段code)")
private Integer type;
@ApiModelProperty("闭店申请id")
private Long closeStoreId;
@ApiModelProperty("退款申请单号")
private String refundNo;
@ApiModelProperty("每刻退款单号")
private String refundOrderNo;
@ApiModelProperty("退款项目")
private String refundProject;
@ApiModelProperty("退款状态")
private String refundStatus;
@ApiModelProperty("退款状态名称")
private String refundStatusName;
@ApiModelProperty("退款时间")
private Date refundTime;
@ApiModelProperty("退金额")
private BigDecimal expectedAmount;
@ApiModelProperty("退金额")
private BigDecimal actualAmount;
public String getRefundStatusName() {
return RefundPayStatusEnum.getDescByStatus(this.refundStatus);
}
}

View File

@@ -18,6 +18,9 @@ public class CloseStoreSimpleVO {
@ApiModelProperty("门店id")
private String storeId;
@ApiModelProperty("闭店申请单号")
private String closeStoreNo;
@ApiModelProperty("门店名称")
private String storeName;