Merge #71 into master from cc_20260318_wishlist

feat:订单待确认 审批流去掉

* cc_20260318_wishlist: (22 commits squashed)

  - feat:心愿单接口

  - feat:心愿单接口

  - feat:心愿单接口

  - feat:心愿单接口 查询当前门店铺位绑定的心愿单

  - feat:心愿单接口 状态

  - feat:心愿单接口 状态

  - feat:心愿单接口 状态

  - feat:心愿单接口 状态

  - Merge branch 'master' into cc_20260318_wishlist

  - feat:代码merge 错误处理

  - feat:新增storeType

  - feat:查询逻辑调整

  - feat:新增use_ai 赛选

  - feat:新增use_ai 赛选

  - feat:新增use_ai 赛选

  - feat:心愿单状态筛选

  - feat:查询当前门店铺位绑定的心愿单 mini

  - feat:bug修复

  - feat:类型调整

  - feat:名称

  - feat:订单待确认 审批流去掉

  - feat:订单待确认 审批流去掉

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

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/71
This commit is contained in:
正新
2026-03-23 11:51:20 +00:00
parent d50a31d044
commit a13ba2175c
38 changed files with 908 additions and 242 deletions

View File

@@ -176,4 +176,40 @@ public class PointInfoDO {
@Column(name = "protection_distance")
private Integer protectionDistance;
/**
* 位置描述 字典表
*/
@Column(name = "location_desc_code")
private String locationDescCode;
/**
* 是否用于正新AI店(1是0否)
*/
@Column(name = "use_ai")
private Integer useAi;
/**
* 门内净深(m)
*/
@Column(name = "door_inner_depth")
private java.math.BigDecimal doorInnerDepth;
/**
* 门内净宽(m)
*/
@Column(name = "door_inner_width")
private java.math.BigDecimal doorInnerWidth;
/**
* 门内净高(m)
*/
@Column(name = "door_inner_height")
private java.math.BigDecimal doorInnerHeight;
/**
* 其他说明
*/
@Column(name = "other_desc")
private String otherDesc;
}

View File

@@ -30,18 +30,18 @@ public class StoreWishlistDO {
@Column(name = "store_type_id")
private Long storeTypeId;
@Column(name = "option_id")
private Long optionId;
@Column(name = "quantity")
private BigDecimal quantity;
@Column(name = "total_amount")
private BigDecimal totalAmount;
@Column(name = "version_no")
private String versionNo;
@Column(name = "wishlist_status")
private Integer wishlistStatus;
@Column(name = "point_id")
private Long pointId;
@Column(name = "deleted")
private Integer deleted;
@@ -50,4 +50,6 @@ public class StoreWishlistDO {
@Column(name = "update_time")
private Date updateTime;
private String remark;
}

View File

@@ -0,0 +1,44 @@
package com.cool.store.entity.order;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zxjp_store_wishlist_option")
public class StoreWishlistOptionDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "wishlist_id")
private Long wishlistId;
@Column(name = "option_id")
private Long optionId;
@Column(name = "quantity")
private BigDecimal quantity;
@Column(name = "deleted")
private Integer deleted;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
}

View File

@@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Objects;
@Data
@@ -255,6 +256,24 @@ public class AddPointDetailRequest {
@ApiModelProperty("保护距离")
private Integer protectionDistance;
@ApiModelProperty("位置描述 字典表")
private String locationDescCode;
@ApiModelProperty("是否用于正新AI店(1是0否)")
private Integer useAi;
@ApiModelProperty("门内净深(m)")
private BigDecimal doorInnerDepth;
@ApiModelProperty("门内净宽(m)")
private BigDecimal doorInnerWidth;
@ApiModelProperty("门内净高(m)")
private BigDecimal doorInnerHeight;
@ApiModelProperty("其他说明")
private String otherDesc;
public static PointDetailInfoDO convertDO(AddPointDetailRequest request) {
PointDetailInfoDO result = new PointDetailInfoDO();
result.setBusinessStatus(request.getBusinessStatus());
@@ -323,6 +342,12 @@ public class AddPointDetailRequest {
result.setDistrict(request.getDistrict());
result.setTownship(request.getTownship());
result.setProtectionDistance(request.getProtectionDistance());
result.setLocationDescCode(request.getLocationDescCode());
result.setUseAi(request.getUseAi());
result.setDoorInnerDepth(request.getDoorInnerDepth());
result.setDoorInnerWidth(request.getDoorInnerWidth());
result.setDoorInnerHeight(request.getDoorInnerHeight());
result.setOtherDesc(request.getOtherDesc());
if(StringUtils.isAnyBlank(result.getProvince(),result.getCity(), result.getDistrict(), result.getTownship())){
GeoMapUtil.AddressInfo addressInfo = GeoMapUtil.reverseGeoCoding(result.getLatitude(), result.getLongitude());
if(Objects.nonNull(addressInfo)){

View File

@@ -23,12 +23,17 @@ public class RecommendPointPageRequest extends PageBasicInfo {
@ApiModelProperty(value = "拓展专员", hidden = true)
private String developmentManager;
@ApiModelProperty(value = "线索ID", hidden = true)
private Long lineId;
@ApiModelProperty(value = "铺位状态列表", hidden = true)
private List<Integer> pointStatusList;
@ApiModelProperty(value = "铺位名称 模糊搜索")
private String pointName;
private Integer useAi;
public List<Integer> getPointStatusList() {
List<Integer> pointStatusList = new ArrayList<>();
if (pointStatus != null) {

View File

@@ -89,6 +89,12 @@ public class UpdatePointDetailRequest extends AddPointDetailRequest {
result.setDistrict(request.getDistrict());
result.setTownship(request.getTownship());
result.setProtectionDistance(request.getProtectionDistance());
result.setLocationDescCode(request.getLocationDescCode());
result.setUseAi(request.getUseAi());
result.setDoorInnerDepth(request.getDoorInnerDepth());
result.setDoorInnerWidth(request.getDoorInnerWidth());
result.setDoorInnerHeight(request.getDoorInnerHeight());
result.setOtherDesc(request.getOtherDesc());
if(StringUtils.isAnyBlank(result.getProvince(),result.getCity(), result.getDistrict(), result.getTownship())){
GeoMapUtil.AddressInfo addressInfo = GeoMapUtil.reverseGeoCoding(result.getLatitude(), result.getLongitude());
if(Objects.nonNull(addressInfo)){

View File

@@ -15,12 +15,9 @@ import javax.validation.constraints.NotNull;
@Data
public class MiniStoreWishlistDelRequest {
@ApiModelProperty("店型ID")
@ApiModelProperty("心愿单ID")
@NotNull
private Long storeTypeId;
private Long wishlistId;
@ApiModelProperty("版本号")
@NotBlank
private String versionNo;
}

View File

@@ -10,8 +10,8 @@ import java.util.List;
@Data
public class MiniStoreWishlistSaveRequest {
@ApiModelProperty("版本号")
private String versionNo;
@ApiModelProperty("心愿单ID-修改")
private Long wishlistId;
@ApiModelProperty(value = "店型ID", required = true)
@NotNull(message = "店型ID不能为空")

View File

@@ -15,5 +15,6 @@ public class WishAllListRequest extends PageBasicInfo {
private Long storeTypeId;
private Integer wishlistStatus;
}

View File

@@ -0,0 +1,21 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Auther zx_szh
* @Date 2026/3/19 10:22
* @Version 1.0
*/
@Data
public class WishlistAuditRequest {
@ApiModelProperty("心愿单ID")
private Long wishlistId;
@ApiModelProperty("1-通过 0-拒绝")
private Integer auditStatus;
@ApiModelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,23 @@
package com.cool.store.request.order;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Auther zx_szh
* @Date 2026/3/18 16:08
* @Version 1.0
*/
@Data
public class WishlistBindPointRequest {
@ApiModelProperty("点位ID")
@NotNull
private Long pointId;
@ApiModelProperty("心愿单ID")
@NotNull
private Long wishlistId;
}

View File

@@ -43,6 +43,8 @@ public class MiniStoreOrderDetailVO {
@ApiModelProperty("门店类型")
private Integer storeType;
private String storeTypeName;
@ApiModelProperty("下单时间")
private Date createTime;

View File

@@ -21,6 +21,16 @@ public class MiniStoreWishlistDetailVO {
@ApiModelProperty("总金额")
private BigDecimal totalAmount;
private Long pointId;
private Long shopId;
private Integer storeType;
private Long id;
private Integer wishlistStatus;
private Date createTime;
private String partnerName;

View File

@@ -12,9 +12,18 @@ import java.util.List;
@Data
public class MiniStoreWishlistListVO {
@ApiModelProperty("心愿单ID")
private Long wishlistId;
@ApiModelProperty("店型ID")
private Long storeTypeId;
private Long pointId;
private Long shopId;
private Integer wishlistStatus;
private Long lineId;
private String partnerName;

View File

@@ -284,6 +284,24 @@ public class PointDetailVO {
@ApiModelProperty("保护距离")
private Integer protectionDistance;
@ApiModelProperty("位置描述 字典表")
private String locationDescCode;
@ApiModelProperty("是否用于正新AI店(1是0否)")
private Integer useAi;
@ApiModelProperty("门内净深(m)")
private java.math.BigDecimal doorInnerDepth;
@ApiModelProperty("门内净宽(m)")
private java.math.BigDecimal doorInnerWidth;
@ApiModelProperty("门内净高(m)")
private java.math.BigDecimal doorInnerHeight;
@ApiModelProperty("其他说明")
private String otherDesc;
public static PointDetailVO convertVO(PointInfoDO pointInfo, PointDetailInfoDO pointDetailInfo) {
PointDetailVO result = new PointDetailVO();
result.setPointId(pointInfo.getId());
@@ -371,6 +389,12 @@ public class PointDetailVO {
result.setDistrictCode(pointInfo.getDistrictCode());
result.setLocation(pointInfo.getPointLocation());
result.setProtectionDistance(pointInfo.getProtectionDistance());
result.setLocationDescCode(pointInfo.getLocationDescCode());
result.setUseAi(pointInfo.getUseAi());
result.setDoorInnerDepth(pointInfo.getDoorInnerDepth());
result.setDoorInnerWidth(pointInfo.getDoorInnerWidth());
result.setDoorInnerHeight(pointInfo.getDoorInnerHeight());
result.setOtherDesc(pointInfo.getOtherDesc());
return result;
}