Merge #144 into master from cc_20260520_unify_merge

0520需求汇总

* cc_20260520_unify_merge: (22 commits squashed)

  - fix:正新鸡排信发自动开通改造

  - fix:环境配置

  - fix

  - fix:信发门店设备信息接口入参修改

  - fix:信发门店设备信息接口入参修改

  - fix:新增根据门店id查询设备接口

  - fix

  - fix:限制设备数量

  - fix:问题修复

  - fix:网点信息获取转义;网点/设备创建异常抛出

  - fix:更新开业报备流程完成日期、首次在营业状态时间

  - fix

  - fix:云流水&新管家账号关闭接口传入闭店原因;新增闭店原因违约闭店

  - fix:闭店信息新增字段

  - Merge branch 'master' into cc_20260518_store_date

  - fix:开店流程完成状态判断排除食安阶段

  - fix

  - fix

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

  - Merge branch 'cc_20260518_store_date' into cc_20260520_unify_merge

  - Merge branch 'cc_20260520_close_store_optimize' into cc_20260520_unify_merge

  - Merge remote-tracking branch 'origin/cc_20260518_close_reason' into cc_20260520_unify_merge

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/144
This commit is contained in:
王非凡
2026-05-20 08:44:35 +00:00
committed by 正新
parent b89e8c9352
commit 3e227cc5fb
38 changed files with 876 additions and 30 deletions

View File

@@ -0,0 +1,65 @@
package com.cool.store.dto.huoma;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 创建网点请求DTO
* @Author wangff
* @Date 2026/05/14
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CreatePointDTO {
/**
* 营业时间,第一个是开始时间,第二个是结束时间
*/
private List<String> openTime;
/**
* 联系人
*/
private String contactName;
/**
* 网店号(商户唯一)- 必填
*/
private String code;
/**
* 网点名(同组织下唯一)- 必填
*/
private String name;
/**
* 联系电话
*/
private String contactNumber;
/**
* 地址
*/
private String address;
/**
* 备注
*/
private String remark;
/**
* 所属组织ID - 必填
*/
private Integer classifyId;
public CreatePointDTO(String code, String name) {
this.code = code;
this.name = name;
this.classifyId = 18360;
}
}

View File

@@ -0,0 +1,70 @@
package com.cool.store.dto.huoma;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* 创建网点响应DTO
* @Author wangff
* @Date 2026/05/14
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CreatePointResponseDTO {
/**
* 网点ID
*/
private Integer id;
/**
* 网点号
*/
private String code;
/**
* 点名
*/
private String name;
/**
* 地址
*/
private String address;
/**
* 营业时间
*/
private String openTime;
/**
* 联系人
*/
private String contactName;
/**
* 联系电话
*/
private String contactNumber;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Long createTime;
/**
* 商户ID
*/
private Integer sellerId;
/**
* 是否删除
*/
private Boolean isDeleted;
}

View File

@@ -0,0 +1,128 @@
package com.cool.store.dto.huoma;
import lombok.Data;
import java.util.Collections;
import java.util.List;
/**
* 设备创建请求DTO
* @Author wangff
* @Date 2026/05/14
* @Version 1.0
*/
@Data
public class CreateTerminalDTO {
/**
* 网点ID - 必填
*/
private Integer pointId;
/**
* 分组ID集合 - 必填
*/
private List<Integer> tagIdList;
/**
* 设备名称 - 必填
*/
private String name;
/**
* 设备编号 - 必填
*/
private String code;
/**
* 管理信息 - 可选
*/
private String manageInfo;
/**
* 横竖屏 - 必填
* 1横屏2竖屏3横屏翻转4竖屏翻转
*/
private Integer screenPoint;
/**
* 屏幕类型 - 必填
* 默认值DEFAULT
*/
private String clientType;
/**
* 设备类型 - 必填
* 1普通屏2联屏
*/
private Integer type;
/**
* 联屏横个数 - 可选
*/
private Integer rowCount;
/**
* 联屏竖个数 - 可选
*/
private Integer colCount;
/**
* 联屏子设备 - 可选
* 位置由集合顺序决定
*/
private List<Integer> terminalIds;
/**
* 横长 - 联屏必传,普通屏在签到,激活的时候
*/
private Integer posX;
/**
* 纵长 - 联屏必传,普通屏在签到,激活的时候
*/
private Integer posY;
/**
* 说明 - 必填
*/
private String remark;
public static CreateTerminalDTO of(Integer pointId, String shopName, String shopCode, int seq, boolean isAdMachine) {
CreateTerminalDTO dto = new CreateTerminalDTO();
dto.setPointId(pointId);
dto.setTagIdList(Collections.emptyList());
dto.setName(buildDeviceName(shopName, seq, isAdMachine));
dto.setCode(shopCode + "_" + seq);
dto.setScreenPoint(1); // 默认横屏
dto.setClientType("DEFAULT");
dto.setType(1); // 普通屏
dto.setRemark("新店自动创建");
return dto;
}
public static CreateTerminalDTO of(Integer pointId, String name, String code) {
CreateTerminalDTO dto = new CreateTerminalDTO();
dto.setPointId(pointId);
dto.setTagIdList(Collections.emptyList());
dto.setName(name);
dto.setCode(code);
dto.setScreenPoint(1); // 默认横屏
dto.setClientType("DEFAULT");
dto.setType(1); // 普通屏
dto.setRemark("新店自动创建");
return dto;
}
/**
* 构建设备名称
* 电视机门店名称_序号
* 广告机门店名称_序号广告机
*/
public static String buildDeviceName(String shopName, int seq, boolean isAdMachine) {
if (isAdMachine) {
return shopName + "_" + seq + "(广告机)";
}
return shopName + "_" + seq;
}
}

View File

@@ -0,0 +1,55 @@
package com.cool.store.dto.huoma;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
/**
* 设备创建响应DTO
* @Author wangff
* @Date 2026/05/14
* @Version 1.0
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CreateTerminalResponseDTO {
/**
* 设备ID
*/
private Integer id;
/**
* 设备名称
*/
private String name;
/**
* 授权码(登陆密码、激活码)
*/
private String activateSn;
/**
* 网点ID
*/
private Integer pointId;
/**
* 网点号
*/
private String pointNo;
/**
* 网点名
*/
private String pointName;
/**
* 横边
*/
private Integer posX;
/**
* 竖边
*/
private Integer posY;
}

View File

@@ -0,0 +1,35 @@
package com.cool.store.dto.huoma;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* <p>
* 网点信息
* </p>
*
* @author wangff
* @since 2026/5/14
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class XinfaPointInfoDTO {
/**
* 网点id
*/
@JsonProperty("ID")
private Integer id;
/**
* 网点编号
*/
@JsonProperty("网点号")
private String code;
/**
* 网点名称
*/
@JsonProperty("网点名")
private String name;
}

View File

@@ -0,0 +1,33 @@
package com.cool.store.request.huoma;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* <p>
* 信发设备新建Request
* </p>
*
* @author wangff
* @since 2026/5/14
*/
@Data
public class XinfaTerminalCreateRequest {
@ApiModelProperty("门店id")
@NotBlank(message = "门店id不能为空")
private String storeId;
@ApiModelProperty("设备名称")
@NotBlank(message = "设备名称不能为空")
private String name;
@ApiModelProperty("设备编号")
@NotBlank(message = "设备编号不能为空")
private String code;
@ApiModelProperty("说明")
@NotBlank(message = "说明不能为空")
private String remark;
}

View File

@@ -22,4 +22,7 @@ public class XgjAccountCloseRequest {
@ApiModelProperty("关店时间yyyy-MM-dd HH:mm:ss")
private String closeTime;
@ApiModelProperty("开关订货原因")
private String switchOrderReason;
}

View File

@@ -3,6 +3,7 @@ package com.cool.store.vo.close.store;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@@ -48,6 +49,18 @@ public class CloseStoreSimpleVO {
@ApiModelProperty("总流程数量")
private Integer totalProcessNum;
@ApiModelProperty("闭店发起方式 1-主动发起 2-云流水发起")
private Integer closeType;
@ApiModelProperty("计划闭店时间")
private Date planCloseData;
@ApiModelProperty("闭店原因")
private Integer closeReason;
@ApiModelProperty("闭店原因说明")
private String reasonDescription;
@ApiModelProperty("闭店流程阶段信息")
private List<CloseStoreSubStageStatusVO> stageList;
}