diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 72ccb58c6..5f8f959b4 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -240,6 +240,7 @@ public enum ErrorCodeEnum { THIRD_API_ERROR(151001,"第三方服务异常->{0}",null), THIRD_API_SIGN_ERROR(151002,"签名失败->{0}",null), + THIRD_API_TIME_IS_NULL(151003,"单据⽇期不能为空",null), ; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSummaryRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSummaryRequest.java new file mode 100644 index 000000000..844586686 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/OrderSummaryRequest.java @@ -0,0 +1,24 @@ +package com.cool.store.request; + +import com.cool.store.request.huoma.ShopBasicInfoRequest; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/10:21 + * @Version 1.0 + * @注释: + */ +@Data +public class OrderSummaryRequest extends ShopBasicInfoRequest { + @ApiModelProperty(value = "开始时间 格式为年-月-日 2025-03-01") + @NotBlank(message = "开始时间不能为空") + private String start_date; + + @ApiModelProperty(value = "结束时间 格式为年-月-日 2025-03-01") + @NotBlank(message = "结束时间不能为空") + private String end_date; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/bigdata/ProfitDataRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/bigdata/ProfitDataRequest.java index 1cdd1c619..230c60a38 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/bigdata/ProfitDataRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/bigdata/ProfitDataRequest.java @@ -1,7 +1,11 @@ package com.cool.store.request.bigdata; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; + /** * @Author suzhuhong * @Date 2025/3/27 17:49 @@ -10,7 +14,10 @@ import lombok.Data; @Data public class ProfitDataRequest { + @ApiModelProperty("⻔店编码") + @NotBlank(message = "⻔店编码不能为空") private String store_code; + @ApiModelProperty("单据⽇期 格式 yyyy-MM-dd") private String bill_date; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/huoma/ShopBasicInfoRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/huoma/ShopBasicInfoRequest.java index 400158b7b..a2bc81eb6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/huoma/ShopBasicInfoRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/huoma/ShopBasicInfoRequest.java @@ -1,7 +1,11 @@ package com.cool.store.request.huoma; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + /** * @Author suzhuhong * @Date 2025/4/1 23:15 @@ -9,7 +13,8 @@ import lombok.Data; */ @Data public class ShopBasicInfoRequest { - + @ApiModelProperty("门店编码") + @NotBlank(message = "门店编码不能为空") private String shop_sn; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java index ca4a9c466..ce4d9acc4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/BerthOperationRequest.java @@ -3,6 +3,8 @@ package com.cool.store.request.oppty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; + /** * @Author suzhuhong * @Date 2025/4/1 20:30 @@ -11,21 +13,38 @@ import lombok.Data; @Data public class BerthOperationRequest { @ApiModelProperty(" 操作类型: 1(新增), 2(更新), 3(删除)") + @NotBlank(message = "操作类型不能为空") private String opType; + @ApiModelProperty("机会点编号") + @NotBlank(message = "机会点编号不能为空") private String code; + @ApiModelProperty("关注人用户编号") + @NotBlank(message = "关注人用户编号不能为空") private String userId; + @ApiModelProperty("关注用户手机号") + @NotBlank(message = "关注用户手机号不能为空") private String mobile; + @ApiModelProperty("关注人用户名") + @NotBlank(message = "关注人用户名不能为空") private String userName; + @ApiModelProperty("铺位ID") + @NotBlank(message = "铺位ID不能为空") private Integer berthId; + @ApiModelProperty("铺位名称") + @NotBlank(message = "铺位名称不能为空") private String name; + @ApiModelProperty("铺位地址") + @NotBlank(message = "铺位地址不能为空") private String address; + @ApiModelProperty("铺位经纬度") + @NotBlank(message = "铺位经纬度不能为空") private String location; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/CityRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/CityRequest.java index a2c9261a6..64fff4764 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/CityRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/CityRequest.java @@ -12,7 +12,7 @@ import lombok.Data; public class CityRequest { - @ApiModelProperty("父ID") + @ApiModelProperty("父ID 查询省份传 0") private Integer pid; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/FollowRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/FollowRequest.java index 7010b3576..5df0ee100 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/FollowRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/FollowRequest.java @@ -1,5 +1,6 @@ package com.cool.store.request.oppty; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -9,15 +10,18 @@ import lombok.Data; */ @Data public class FollowRequest { - + @ApiModelProperty("操作类型 1:关注 2:取消关注") private Integer opType; - + @ApiModelProperty("机会点编号") private String code; + @ApiModelProperty("关注人用户编号") private String userId; + @ApiModelProperty("关注用户手机号") private String mobile; + @ApiModelProperty("关注人用户名") private String userName; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/InspectionRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/InspectionRequest.java index cb6729b27..b1819dcbb 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/InspectionRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/InspectionRequest.java @@ -1,7 +1,10 @@ package com.cool.store.request.oppty; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; + /** * @Author suzhuhong * @Date 2025/4/1 20:05 @@ -9,12 +12,17 @@ import lombok.Data; */ @Data public class InspectionRequest { + @ApiModelProperty("机会点编号") + @NotBlank private String code; - + @ApiModelProperty("考察人用户编号") + @NotBlank private String userId; - + @ApiModelProperty("考察人手机号码") + @NotBlank private String mobile; - + @ApiModelProperty("考察人用户名称") + @NotBlank private String userName; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityDetailRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityDetailRequest.java index 9a3d4ad36..e7af1937a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityDetailRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityDetailRequest.java @@ -1,7 +1,11 @@ package com.cool.store.request.oppty; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + /** * @Author suzhuhong * @Date 2025/3/26 17:23 @@ -9,7 +13,8 @@ import lombok.Data; */ @Data public class OpportunityDetailRequest{ - + @ApiModelProperty("机会点编号") + @NotBlank private String code; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityListRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityListRequest.java index 2659f8cdc..a4ffccbb8 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityListRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/OpportunityListRequest.java @@ -1,6 +1,7 @@ package com.cool.store.request.oppty; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,97 +13,25 @@ import lombok.Data; @Data public class OpportunityListRequest{ - private String latLng; + @ApiModelProperty("机会点经纬度GEOHASH") + private String location; + @ApiModelProperty("机会点编号") private String code; + @ApiModelProperty("省编码") private Integer province; + @ApiModelProperty("市编码") private Integer city; + @ApiModelProperty("区县编码") private Integer district; + @ApiModelProperty("关注人ID") private String userId; + @ApiModelProperty("排序方式,默认1:距离,2:等级") private Integer orderType = 1; + @ApiModelProperty("考察状态,默认1:未考察,2:已考察") private Integer inspectionStatus ; private Integer pageNum = 1; private Integer pageSize = 20; - public String getLatLng() { - return latLng; - } - - public void setLatLng(String latLng) { - this.latLng = latLng; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public Integer getProvince() { - return province; - } - - public void setProvince(Integer province) { - this.province = province; - } - - public Integer getCity() { - return city; - } - - public void setCity(Integer city) { - this.city = city; - } - - public Integer getDistrict() { - return district; - } - - public void setDistrict(Integer district) { - this.district = district; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - - public Integer getOrderType() { - return orderType; - } - - public void setOrderType(Integer orderType) { - this.orderType = orderType; - } - - public Integer getInspectionStatus() { - return inspectionStatus; - } - - public void setInspectionStatus(Integer inspectionStatus) { - this.inspectionStatus = inspectionStatus; - } - - public Integer getPageNum() { - return pageNum; - } - - public void setPageNum(Integer pageNum) { - this.pageNum = pageNum; - } - - public Integer getPageSize() { - return pageSize; - } - - public void setPageSize(Integer pageSize) { - this.pageSize = pageSize; - } - } \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/StoreOperationRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/StoreOperationRequest.java index 6d317cbf2..91ac98577 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/StoreOperationRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/oppty/StoreOperationRequest.java @@ -1,6 +1,10 @@ package com.cool.store.request.oppty; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import javax.validation.constraints.NotBlank; + /** * @Author suzhuhong * @Date 2025/4/1 20:31 @@ -13,45 +17,63 @@ public class StoreOperationRequest { /** * 操作类型:1-新开门店,2-更新门店,3-闭店 */ + @ApiModelProperty("操作类型:1-新开门店,2-更新门店,3-闭店") + @NotBlank(message = "操作类型不能为空") private String opType; /** * 机会点编号 */ + @ApiModelProperty("机会点编号") + @NotBlank(message = "机会点编号不能为空") private String code; /** * 门店ID */ + @ApiModelProperty("门店ID") + @NotBlank(message = "门店ID不能为空") private Integer storeId; /** * 门店编号 */ + @ApiModelProperty("门店编号") + @NotBlank(message = "门店编号不能为空") private String storeSn; /** * 门店模式:1-加盟,2-强管 */ + @ApiModelProperty("门店模式:1-加盟,2-强管") + @NotBlank(message = "门店模式不能为空") private Integer storeModel; /** * 门店品牌(默认值:正新鸡排) */ + @ApiModelProperty("门店品牌(默认值:正新鸡排)") + @NotBlank(message = "门店品牌不能为空") private String storeBrand = "正新鸡排"; /** * 门店名称 */ + @ApiModelProperty("门店名称") + @NotBlank(message = "门店名称不能为空") private String storeName; /** * 门店地址 */ + @ApiModelProperty("门店地址") + @NotBlank(message = "门店地址不能为空") private String address; /** * 门店经纬度geohash */ + @ApiModelProperty("门店经纬度geohash") + @NotBlank(message = "门店经纬度不能为空") private String location; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/IncomeBaseResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/IncomeBaseResponse.java new file mode 100644 index 000000000..bbd1f89ca --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/IncomeBaseResponse.java @@ -0,0 +1,22 @@ +package com.cool.store.response; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: WangShuo + * @Date: 2025/04/02/10:03 + * @Version 1.0 + * @注释: + */ +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class IncomeBaseResponse { + + @ApiModelProperty("预计收入") + private BigDecimal pre_income; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/IncomeSummaryResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/IncomeSummaryResponse.java new file mode 100644 index 000000000..519c1b8c5 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/IncomeSummaryResponse.java @@ -0,0 +1,61 @@ +package com.cool.store.response; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.List; + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class IncomeSummaryResponse { + + @ApiModelProperty("现金") + private PaymentDetail offline; + @ApiModelProperty("微信") + private PaymentDetail wechat; + @ApiModelProperty("支付宝") + private PaymentDetail ali; + @ApiModelProperty("会员卡") + private PaymentDetail vip; + @ApiModelProperty("美团券核销") + private PaymentDetail meituan_coupon; + @ApiModelProperty("抖音券核销") + private PaymentDetail douyin_coupon; + @ApiModelProperty("快手券核销") + private PaymentDetail kuaishou_coupon; + @ApiModelProperty("口碑券核销") + private PaymentDetail koubei_coupon; + @ApiModelProperty("支付宝券核销") + private PaymentDetail zfb_coupon; + @ApiModelProperty("云闪付") + private PaymentDetail union_pay; + @ApiModelProperty("龙支付") + private PaymentDetail dragon_pay; + @ApiModelProperty("其他支付") + private OtherPayDetail other_pay; + @ApiModelProperty("补贴金额") + private PaymentDetail subsidy_total; + @ApiModelProperty("配送费支出") + private PaymentDetail logistics_cost_price_total; + @ApiModelProperty("饿了么外卖") + private PaymentDetail eleme; + @ApiModelProperty("美团外卖") + private PaymentDetail meituan; + @ApiModelProperty("APP") + private PaymentDetail wenma_app; +} + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class PaymentDetail { + @ApiModelProperty("金额") + private String amount; + @ApiModelProperty("笔数") + private String num; +} + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class OtherPayDetail { + private List other_pay_detail; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/OrderSummaryResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/OrderSummaryResponse.java new file mode 100644 index 000000000..774d3ba0b --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/OrderSummaryResponse.java @@ -0,0 +1,152 @@ +package com.cool.store.response; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +public class OrderSummaryResponse { + @ApiModelProperty("废弃") + private String profit_total_amount; + @ApiModelProperty("废弃") + private String order_valid_count; + @ApiModelProperty("废弃") + private String refund_total_amount; + @ApiModelProperty("废弃") + private String order_refund_count; + + @ApiModelProperty("pos收银系统数据") + private PosData pos_data; + + @ApiModelProperty("平台外卖数据(美团+饿了么)") + private TakeawayData takeaway_data; + + @ApiModelProperty("APP数据") + + private WenmaAppData wenma_app_data; + + @ApiModelProperty("废弃") + private Boolean is_cache; + @ApiModelProperty("废弃") + private Integer cache_refresh_time; +} + +// POS数据实体类 +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class PosData { + @ApiModelProperty("废弃") + private Integer order_refund_count; + @ApiModelProperty("废弃") + private String projected_income; + + @ApiModelProperty("实收总金额必需 所选时间内实际收入=订单总金额+存储总金额-优惠总金额-退款总金额") + private BigDecimal profit_total_amount; + + @ApiModelProperty("订单总金额必需 所选时间内所有订单的金额总额(为优惠前金额,此金额包含配送费和其他形式费用)") + private BigDecimal pay_success_total_amount; + + @ApiModelProperty("储值总金额") + private BigDecimal recharge_total_amount; + + @ApiModelProperty("优惠总金额") + private BigDecimal discount_total_amount; + + @ApiModelProperty("退款总金额") + private BigDecimal refund_total_amount; + + @ApiModelProperty("商家承担优惠金额必需 统计时间内,收银系统中,外部优惠活动的商家承担优惠") + private BigDecimal out_discount_merchant_contribute_total_amount; + + @ApiModelProperty("配送费支出必需 小程序外卖的配送费支出") + private BigDecimal logistics_cost_price_total_amount; + + @ApiModelProperty("补贴总金额 补贴活动中给店家补贴金额") + private BigDecimal subsidy_total_amount; + + @ApiModelProperty("有效订单笔数 统计时间内有效订单(已经支付订单数量-退款订单数量)") + private Integer order_valid_num; +} + +// 外卖数据实体类 +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class TakeawayData { + @ApiModelProperty("废弃") + private BigDecimal order_refund_count; + @ApiModelProperty("废弃") + private BigDecimal refund_total_amount; + @ApiModelProperty("废弃") + private BigDecimal total_deliver_fee; + @ApiModelProperty("预计收入 统计时间内,今日下单订单的预收之和,不包含已取消和全额退款订单") + private BigDecimal total_pre_income; + @ApiModelProperty("营业额 统计时间内,包含商品销售额、餐盒费、自配送费之和") + private BigDecimal total_sales_price; + @ApiModelProperty("有效订单笔数 统计时间内,今日下单订单数量,不包含取消订单与全部退款订单") + private Integer total_valid_order_sum; + @ApiModelProperty("商品销售额 统计时间内,有效订单的商品价格之和") + private BigDecimal total_goods_sales_price; + @ApiModelProperty("餐盒费 统计时间内,有效订单的餐盒费之和") + private BigDecimal total_box_price; + @ApiModelProperty("自配送费 统计时间内,有效订单的自配送订单的配送费之和") + private BigDecimal total_original_deliver_fee; + @ApiModelProperty("平台各个汇总数据") + private SummaryData summary_data; +} + +// 汇总数据实体类 +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class SummaryData { + @ApiModelProperty("美团") + private PlatformData meituan; + @ApiModelProperty("饿了么") + private PlatformData eleme; +} + +// 平台数据实体类 +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class PlatformData { + @ApiModelProperty("预计收入") + private BigDecimal pre_income; + @ApiModelProperty("营业额") + private BigDecimal sales_price; + @ApiModelProperty("有效订单数") + private Integer valid_order_sum; + @ApiModelProperty("商品销售额") + private BigDecimal goods_sales_price; + @ApiModelProperty("餐盒费") + private BigDecimal box_price; + @ApiModelProperty("自配送费") + private BigDecimal deliver_fee; + @ApiModelProperty("废弃字段(仅饿了么使用,美团未使用)") + private BigDecimal original_deliver_fee; + @ApiModelProperty("废弃字段") + private BigDecimal cost_price; + +} + +// 文马APP数据实体类 +@Data +@JsonIgnoreProperties(ignoreUnknown = true) +class WenmaAppData { + @ApiModelProperty("预计收入 APP订单预计收入") + private BigDecimal total_pre_income; + @ApiModelProperty("有效订单数 ") + private Integer valid_order_sum; + @ApiModelProperty("菜品总金额 APP订单菜品总金额") + private BigDecimal goods_sales_price; + @ApiModelProperty("退款总金额 所选时间内退款订单的金额总额") + private BigDecimal refund_total_amount; + @ApiModelProperty("优惠总金额 APP订单优惠总金额") + private BigDecimal discount_total_price; + @ApiModelProperty("废弃") + private BigDecimal total_sales_price; + @ApiModelProperty("废弃") + private BigDecimal order_refund_count; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ActDataResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ActDataResponse.java index 85a080e78..3d2023d7a 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ActDataResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ActDataResponse.java @@ -1,5 +1,7 @@ package com.cool.store.response.bigdata; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,12 +10,13 @@ import lombok.Data; * @Version 1.0 */ @Data +@JsonIgnoreProperties(ignoreUnknown = true) public class ActDataResponse { - + @ApiModelProperty("最新⽇期实收") private String act_total_amt; - + @ApiModelProperty("⻔店编码") private String Store_code; - + @ApiModelProperty("本⽉实收") private String act_amt; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitDataResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitDataResponse.java index c4deff435..15c48386f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitDataResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitDataResponse.java @@ -1,5 +1,6 @@ package com.cool.store.response.bigdata; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -9,8 +10,12 @@ import lombok.Data; */ @Data public class ProfitDataResponse { + @ApiModelProperty("⻔店编码") private String store_code; + @ApiModelProperty("上⽉⽑利率") private Double profit_total_amt; + @ApiModelProperty("截⽌到上⽉累计⽑利") private Double profit_amt; + @ApiModelProperty("上⽉⽑利") private Double profit_rate; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitRateResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitRateResponse.java index 226f7da4b..312065979 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitRateResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/bigdata/ProfitRateResponse.java @@ -1,5 +1,6 @@ package com.cool.store.response.bigdata; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -9,8 +10,12 @@ import lombok.Data; */ @Data public class ProfitRateResponse { + @ApiModelProperty("⽑利") private String profit_amt ; + @ApiModelProperty("⻔店编码") private String store_code ; + @ApiModelProperty("⽑利率") private String profit_rate; + @ApiModelProperty("单据⽇期") private String bill_date; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/huoma/ShopBaseInfoResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/huoma/ShopBaseInfoResponse.java index 991f69d45..1fc46d69d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/huoma/ShopBaseInfoResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/huoma/ShopBaseInfoResponse.java @@ -1,5 +1,7 @@ package com.cool.store.response.huoma; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -8,15 +10,23 @@ import lombok.Data; * @Version 1.0 */ @Data +@JsonIgnoreProperties(ignoreUnknown = true) public class ShopBaseInfoResponse { - + @ApiModelProperty("店铺系统编号") private String id; + @ApiModelProperty("店铺名称") private String name; + @ApiModelProperty("店铺编码") private String sn; + @ApiModelProperty("店铺地址") private String address; + @ApiModelProperty("省份") private String province; + @ApiModelProperty("城市") private String city; + @ApiModelProperty("区域") private String region; + @ApiModelProperty("经纬度") private String lnglat; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BerthInfoResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BerthInfoResponse.java index db1660a25..919484788 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BerthInfoResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BerthInfoResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -14,18 +15,22 @@ public class BerthInfoResponse { /** * 铺位ID */ + @ApiModelProperty("铺位ID") private Integer berthId; /** * 铺位名称 */ + @ApiModelProperty("铺位名称") private String name; /** * 铺位地址 */ + @ApiModelProperty("铺位地址") private String address; /** * 铺位经纬度 */ + @ApiModelProperty("铺位经纬度") private String geohash; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BrandResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BrandResponse.java index 85b861e9a..fb1a928f3 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BrandResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/BrandResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -14,21 +15,26 @@ public class BrandResponse { /** * 品牌编号 */ + @ApiModelProperty("品牌编号") private String brandCode; /** * 品牌名称 */ + @ApiModelProperty("品牌名称") private String brandName; /** * 品牌Logo base64编码 */ + @ApiModelProperty("品牌Logo base64编码") private String brandLogo; /** * 该品牌门店所在位置 */ + @ApiModelProperty("该品牌门店所在位置") private String geohash; /** * 品牌数量 */ + @ApiModelProperty("品牌数量") private Integer count; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/CityResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/CityResponse.java index fda607c61..81051a332 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/CityResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/CityResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,10 +12,13 @@ import lombok.Data; @Data @JsonIgnoreProperties(ignoreUnknown = true) public class CityResponse { - + @ApiModelProperty("城市编码") private Integer code; + @ApiModelProperty("城市名称") private Integer name; + @ApiModelProperty("上级城市编号") private Integer pid; + @ApiModelProperty("城市中心点 geohash") private String location; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityDetailResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityDetailResponse.java index 92f979ce3..fd498c58d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityDetailResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityDetailResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.apache.catalina.User; @@ -15,18 +16,31 @@ import java.util.List; @JsonIgnoreProperties(ignoreUnknown = true) public class OpportunityDetailResponse { - private String code; // 机会点编号 - private Integer level; // 等级 - private String name; // 名称 - private String address; // 地址 - private String geohash; // GeoHash - private Integer province; // 省份编码 - private Integer city; // 城市编码 - private Integer district; // 区县编码 - private UserResponse bdUser; // 拓展人信息 - private List atUsers; // 关注人列表 - private List brandStats; // 周边品牌 - private StoreInfoResponse storeInfo; // 门店信息 + @ApiModelProperty("机会点编号") + private String code; + @ApiModelProperty("机会点等级 1: 低,2:中,3:高") + private Integer level; + @ApiModelProperty("机会点名称") + private String name; + @ApiModelProperty("机会点地址") + private String address; + @ApiModelProperty("地理坐标 GeoHash 值") + private String geohash; + @ApiModelProperty("省编码") + private Integer province; + @ApiModelProperty("市编码") + private Integer city; + @ApiModelProperty("区县编码") + private Integer district; + @ApiModelProperty("拓展人信息") + private UserResponse bdUser; + @ApiModelProperty(" 关注人用户信息 ") + private List atUsers; + @ApiModelProperty("机会点周边品牌信息列表") + private List brandStats; + @ApiModelProperty("门店信息,如果该机会点开出了门店则返回,见门店信息表") + private StoreInfoResponse storeInfo; + @ApiModelProperty("铺位信息数组,如果机会点已经关联铺位 ,见铺位信息") private List berthInfo; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityInfoResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityInfoResponse.java index ed91ec889..5d72a773f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityInfoResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/OpportunityInfoResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -13,14 +14,24 @@ import java.util.List; @Data @JsonIgnoreProperties(ignoreUnknown = true) public class OpportunityInfoResponse { + @ApiModelProperty("机会点编号") private String code; + @ApiModelProperty("机会点等级 1: 低,2:中,3:高") private Integer level; + @ApiModelProperty("机会点名称") private String name; + @ApiModelProperty("机会点地址") private String address; - private String geohash; + @ApiModelProperty("地理坐标 GeoHash 值") + private String location; + @ApiModelProperty("省份编码") private Integer province; + @ApiModelProperty("城市编码") private Integer city; + @ApiModelProperty("区县编码") private Integer district; + @ApiModelProperty("关注点铺位数量") private Integer berthNum; + @ApiModelProperty("关注人用户信息 ,如有") private List atUser; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/StoreInfoResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/StoreInfoResponse.java index 64e4f786d..ccf807505 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/StoreInfoResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/StoreInfoResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -14,29 +15,36 @@ public class StoreInfoResponse { /** * 门店ID */ + @ApiModelProperty("门店ID") private Integer storeId; /** * 门店编号 */ + @ApiModelProperty("门店编号") private String storeSn; /** * 门店模式:1:加盟 2:强管 */ + @ApiModelProperty("门店模式:1:加盟 2:强管") private Integer storeModel; /** * 门店品牌 预留,不传默认正新鸡排 */ + @ApiModelProperty("门店品牌 预留,不传默认正新鸡排") private String storeBrand; /** * 门店名称 */ + @ApiModelProperty("门店名称") private String storeName; /** * 门店地址 */ + @ApiModelProperty("门店地址") private String address; /** * 门店经纬度 */ + @ApiModelProperty("门店经纬度") private String geohash; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/UserResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/UserResponse.java index db78fa0e2..9f00e2c42 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/UserResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/oppty/UserResponse.java @@ -1,6 +1,7 @@ package com.cool.store.response.oppty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,12 +12,16 @@ import lombok.Data; @Data @JsonIgnoreProperties(ignoreUnknown = true) public class UserResponse { + @ApiModelProperty("用户编号") private String userId; + @ApiModelProperty("用户手机号") private String mobile; + @ApiModelProperty("用户名称") private String userName; + @ApiModelProperty("关注时间") private String atTime; - + @ApiModelProperty("考察状态 1:未考察 2:已考察") private String inspectionStatus; - + @ApiModelProperty("考察时间") private String inspectionTime; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/HuoMaService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/HuoMaService.java index d28230582..7c764ccf9 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/HuoMaService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/HuoMaService.java @@ -1,6 +1,10 @@ package com.cool.store.service; +import com.cool.store.request.OrderSummaryRequest; import com.cool.store.request.huoma.ShopBasicInfoRequest; +import com.cool.store.response.IncomeBaseResponse; +import com.cool.store.response.IncomeSummaryResponse; +import com.cool.store.response.OrderSummaryResponse; import com.cool.store.response.huoma.ShopBaseInfoResponse; /** @@ -18,5 +22,35 @@ public interface HuoMaService { * @return */ ShopBaseInfoResponse getShopInfo(ShopBasicInfoRequest requestBody); + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description:获取店铺今日预收金额 + */ + IncomeBaseResponse getTodayPreIncome(ShopBasicInfoRequest requestBody); + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description:获取店铺昨日预计收入 + */ + IncomeBaseResponse getYesterdayPreIncome(ShopBasicInfoRequest requestBody); + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description:获取店铺当月预计收入 + */ + IncomeBaseResponse getMonthPreIncome(ShopBasicInfoRequest requestBody); + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description: 获取店铺营业概览 + */ + OrderSummaryResponse getOrderSummary(OrderSummaryRequest requestBody); + /** + * @Auther: wangshuo + * @Date: 2025/4/2 + * @description:获取店铺交易分析 + */ + IncomeSummaryResponse getIncomeSummary (OrderSummaryRequest requestBody); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HuoMaServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HuoMaServiceImpl.java index 7f8f98232..871705e1b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HuoMaServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HuoMaServiceImpl.java @@ -3,7 +3,11 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; +import com.cool.store.request.OrderSummaryRequest; import com.cool.store.request.huoma.ShopBasicInfoRequest; +import com.cool.store.response.IncomeBaseResponse; +import com.cool.store.response.IncomeSummaryResponse; +import com.cool.store.response.OrderSummaryResponse; import com.cool.store.response.bigdata.ApiResponse; import com.cool.store.response.huoma.ShopBaseInfoResponse; import com.cool.store.response.oppty.OpportunityApiResponse; @@ -55,7 +59,35 @@ public class HuoMaServiceImpl implements HuoMaService { return executeApiCall(apiUrl,requestBody,ShopBaseInfoResponse.class); } + @Override + public IncomeBaseResponse getTodayPreIncome(ShopBasicInfoRequest requestBody) { + String apiUrl = url + "/dzgV1/summary/shop/getTodayPreIncome"; + return executeApiCall(apiUrl,requestBody,IncomeBaseResponse.class); + } + @Override + public IncomeBaseResponse getYesterdayPreIncome(ShopBasicInfoRequest requestBody) { + String apiUrl = url + "/dzgV1/summary/shop/getYesterdayPreIncome"; + return executeApiCall(apiUrl,requestBody,IncomeBaseResponse.class); + } + + @Override + public IncomeBaseResponse getMonthPreIncome(ShopBasicInfoRequest requestBody) { + String apiUrl = url + "/dzgV1/summary/shop/getMonthPreIncome"; + return executeApiCall(apiUrl,requestBody,IncomeBaseResponse.class); + } + + @Override + public OrderSummaryResponse getOrderSummary(OrderSummaryRequest requestBody) { + String apiUrl = url + "/dzgV1/summary/shop/getOrderSummary"; + return executeApiCall(apiUrl,requestBody,OrderSummaryResponse.class); + } + + @Override + public IncomeSummaryResponse getIncomeSummary(OrderSummaryRequest requestBody) { + String apiUrl = url + "/dzgV1/summary/shop/getIncomeSummary"; + return executeApiCall(apiUrl,requestBody,IncomeSummaryResponse.class); + } private T executeApiCall(String url, Object requestBody, Class responseType) { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdBigDataServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdBigDataServiceImpl.java index 76c74541b..e4dc343ce 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdBigDataServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdBigDataServiceImpl.java @@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import okhttp3.*; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -64,6 +65,9 @@ public class ThirdBigDataServiceImpl implements ThirdBigDataService { @Override public ProfitDataResponse getCurMonthProfitData(ProfitDataRequest requestBody) { // 1. 发送POST请求 + if (StringUtils.isBlank(requestBody.getBill_date())){ + throw new ServiceException(ErrorCodeEnum.THIRD_API_TIME_IS_NULL); + } String url = apiUrl + "api/web/v1/act/curr_month_profit"; return executeApiCall(url, requestBody, ProfitDataResponse.class); } @@ -71,6 +75,9 @@ public class ThirdBigDataServiceImpl implements ThirdBigDataService { @Override public ProfitDataResponse getPreMonthProfitData(ProfitDataRequest requestBody) { // 1. 发送POST请求 + if (StringUtils.isBlank(requestBody.getBill_date())){ + throw new ServiceException(ErrorCodeEnum.THIRD_API_TIME_IS_NULL); + } String url = apiUrl + "api/web/v1/act/prev_month_profit"; return executeApiCall(url, requestBody, ProfitDataResponse.class); } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java index bcb8fcd87..a5116c392 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -59,7 +59,8 @@ public class SignValidateFilter implements Filter { "/zxjp/mini/program/v1/partnerManage/openArea/areaApplyQuery", "/zxjp/**/api/audit/result", "/zxjp/**/api/license", - "/zxjp/mini/line/getRegionPayPic" + "/zxjp/mini/line/getRegionPayPic", + "/zxjp/mini/**" ); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdApiController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdApiController.java index 41b26de25..5dbe451f0 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdApiController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/ThirdApiController.java @@ -1,8 +1,12 @@ package com.cool.store.controller.webc; +import com.cool.store.request.OrderSummaryRequest; import com.cool.store.request.bigdata.ProfitDataRequest; import com.cool.store.request.huoma.ShopBasicInfoRequest; import com.cool.store.request.oppty.*; +import com.cool.store.response.IncomeBaseResponse; +import com.cool.store.response.IncomeSummaryResponse; +import com.cool.store.response.OrderSummaryResponse; import com.cool.store.response.ResponseResult; import com.cool.store.response.bigdata.ActDataResponse; import com.cool.store.response.bigdata.ProfitDataResponse; @@ -132,5 +136,40 @@ public class ThirdApiController { return ResponseResult.success(huoMaService.getShopInfo(request)); } + @PostMapping("/getTodayPreIncome") + @ApiOperation("火码 获取店铺今日预收金额") + public ResponseResult getTodayPreIncome(@Valid @RequestBody ShopBasicInfoRequest request) { + // 调用第三方接口 + return ResponseResult.success(huoMaService.getTodayPreIncome(request)); + } + + @PostMapping("/getYesterdayPreIncome") + @ApiOperation("火码 获取店铺昨日预计收入") + public ResponseResult getYesterdayPreIncome(@Valid @RequestBody ShopBasicInfoRequest request) { + // 调用第三方接口 + return ResponseResult.success(huoMaService.getYesterdayPreIncome(request)); + } + + @PostMapping("/getMonthPreIncome") + @ApiOperation("火码 获取店铺当月预计收入") + public ResponseResult getMonthPreIncome(@Valid @RequestBody ShopBasicInfoRequest request) { + // 调用第三方接口 + return ResponseResult.success(huoMaService.getMonthPreIncome(request)); + } + + @PostMapping("/getOrderSummary") + @ApiOperation("火码 获取店铺营业概览") + public ResponseResult getOrderSummary(@Valid @RequestBody OrderSummaryRequest request) { + // 调用第三方接口 + return ResponseResult.success(huoMaService.getOrderSummary(request)); + } + + @PostMapping("/getIncomeSummary") + @ApiOperation("火码 获取店铺交易分析") + public ResponseResult getIncomeSummary(@Valid @RequestBody OrderSummaryRequest request) { + // 调用第三方接口 + return ResponseResult.success(huoMaService.getIncomeSummary(request)); + } + }