Commit cb4315f042e5a7e3d2980e37ef295656bd49e516
1 parent
48c1b921
update:交易流水后端接口迁移
Showing
12 changed files
with
851 additions
and
5 deletions
etrade-order/src/main/java/com/diligrp/etrade/order/api/OrderQueryController.java
@@ -4,11 +4,13 @@ import cn.hutool.core.util.StrUtil; | @@ -4,11 +4,13 @@ import cn.hutool.core.util.StrUtil; | ||
4 | import com.diligrp.etrade.core.domain.Message; | 4 | import com.diligrp.etrade.core.domain.Message; |
5 | import com.diligrp.etrade.core.domain.PageMessage; | 5 | import com.diligrp.etrade.core.domain.PageMessage; |
6 | import com.diligrp.etrade.order.domain.*; | 6 | import com.diligrp.etrade.order.domain.*; |
7 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowCO; | ||
8 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowPageMessage; | ||
9 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowVO; | ||
7 | import com.diligrp.etrade.order.exception.OrderErrorCode; | 10 | import com.diligrp.etrade.order.exception.OrderErrorCode; |
8 | import com.diligrp.etrade.order.exception.OrderException; | 11 | import com.diligrp.etrade.order.exception.OrderException; |
9 | import com.diligrp.etrade.order.service.OrderQueryService; | 12 | import com.diligrp.etrade.order.service.OrderQueryService; |
10 | import com.diligrp.etrade.order.type.OrderState; | 13 | import com.diligrp.etrade.order.type.OrderState; |
11 | -import com.diligrp.etrade.order.type.OrderVerifyState; | ||
12 | import com.diligrp.etrade.order.util.ParameterDetection; | 14 | import com.diligrp.etrade.order.util.ParameterDetection; |
13 | import com.github.pagehelper.Page; | 15 | import com.github.pagehelper.Page; |
14 | import jakarta.annotation.Resource; | 16 | import jakarta.annotation.Resource; |
@@ -16,10 +18,8 @@ import jakarta.validation.Valid; | @@ -16,10 +18,8 @@ import jakarta.validation.Valid; | ||
16 | import org.slf4j.Logger; | 18 | import org.slf4j.Logger; |
17 | import org.slf4j.LoggerFactory; | 19 | import org.slf4j.LoggerFactory; |
18 | import org.springframework.validation.BindingResult; | 20 | import org.springframework.validation.BindingResult; |
19 | -import org.springframework.web.bind.annotation.RequestBody; | ||
20 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
21 | -import org.springframework.web.bind.annotation.RequestMethod; | ||
22 | -import org.springframework.web.bind.annotation.RestController; | 21 | +import org.springframework.validation.annotation.Validated; |
22 | +import org.springframework.web.bind.annotation.*; | ||
23 | 23 | ||
24 | import java.time.LocalDateTime; | 24 | import java.time.LocalDateTime; |
25 | import java.time.LocalTime; | 25 | import java.time.LocalTime; |
@@ -204,5 +204,14 @@ public class OrderQueryController { | @@ -204,5 +204,14 @@ public class OrderQueryController { | ||
204 | LOGGER.info("查询支付时间段,{}:{}",orderQueryDto.getPayStartTime(),orderQueryDto.getPayEndTime()); | 204 | LOGGER.info("查询支付时间段,{}:{}",orderQueryDto.getPayStartTime(),orderQueryDto.getPayEndTime()); |
205 | LOGGER.info("查询创建时间段,{}:{}",orderQueryDto.getStartTime(),orderQueryDto.getEndTime()); | 205 | LOGGER.info("查询创建时间段,{}:{}",orderQueryDto.getStartTime(),orderQueryDto.getEndTime()); |
206 | } | 206 | } |
207 | + /** | ||
208 | + * 交易流水 | ||
209 | + * | ||
210 | + * @param co | ||
211 | + */ | ||
212 | + @PostMapping("businessFlow") | ||
213 | + public BusinessFlowPageMessage<BusinessFlowVO> businessFlow(@Validated @RequestBody BusinessFlowCO co) { | ||
214 | + return orderQueryService.businessFlow(co); | ||
215 | + } | ||
207 | 216 | ||
208 | } | 217 | } |
etrade-order/src/main/java/com/diligrp/etrade/order/configuration/Cent2KiloJsonSerializer.java
0 → 100644
1 | +package com.diligrp.etrade.order.configuration; | ||
2 | + | ||
3 | +import com.fasterxml.jackson.core.JsonGenerator; | ||
4 | +import com.fasterxml.jackson.databind.JsonSerializer; | ||
5 | +import com.fasterxml.jackson.databind.SerializerProvider; | ||
6 | + | ||
7 | +import java.io.IOException; | ||
8 | +import java.math.BigDecimal; | ||
9 | +import java.math.MathContext; | ||
10 | +import java.math.RoundingMode; | ||
11 | +import java.text.DecimalFormat; | ||
12 | + | ||
13 | +/** | ||
14 | + * 克/分 - 斤/元 | ||
15 | + */ | ||
16 | +public class Cent2KiloJsonSerializer extends JsonSerializer<Long> { | ||
17 | + | ||
18 | + @Override | ||
19 | + public void serialize(Long value, JsonGenerator gen, SerializerProvider serializers) throws IOException { | ||
20 | + if(null == value){ | ||
21 | + return; | ||
22 | + } | ||
23 | + BigDecimal ans = new BigDecimal(value).divide(new BigDecimal(200),new MathContext(20,RoundingMode.HALF_UP)); | ||
24 | + | ||
25 | + DecimalFormat df = new DecimalFormat("#0.00"); | ||
26 | + gen.writeString(df.format(ans.doubleValue())); | ||
27 | + } | ||
28 | +} |
etrade-order/src/main/java/com/diligrp/etrade/order/dao/OrderQueryMapper.java
@@ -2,6 +2,9 @@ package com.diligrp.etrade.order.dao; | @@ -2,6 +2,9 @@ package com.diligrp.etrade.order.dao; | ||
2 | 2 | ||
3 | import com.diligrp.etrade.core.mybatis.MybatisMapperSupport; | 3 | import com.diligrp.etrade.core.mybatis.MybatisMapperSupport; |
4 | import com.diligrp.etrade.order.domain.*; | 4 | import com.diligrp.etrade.order.domain.*; |
5 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowCO; | ||
6 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowSumVO; | ||
7 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowVO; | ||
5 | import com.diligrp.etrade.order.model.Order; | 8 | import com.diligrp.etrade.order.model.Order; |
6 | import com.github.pagehelper.Page; | 9 | import com.github.pagehelper.Page; |
7 | import org.apache.ibatis.annotations.Param; | 10 | import org.apache.ibatis.annotations.Param; |
@@ -47,4 +50,18 @@ public interface OrderQueryMapper extends MybatisMapperSupport { | @@ -47,4 +50,18 @@ public interface OrderQueryMapper extends MybatisMapperSupport { | ||
47 | * @return | 50 | * @return |
48 | */ | 51 | */ |
49 | Integer queryOrderVerifyNumber(OrderQueryDto orderQueryDto); | 52 | Integer queryOrderVerifyNumber(OrderQueryDto orderQueryDto); |
53 | + | ||
54 | + /** | ||
55 | + * 查询流水 | ||
56 | + * @param co | ||
57 | + * @return | ||
58 | + */ | ||
59 | + List<BusinessFlowVO> queryBusinessFlow(BusinessFlowCO co); | ||
60 | + | ||
61 | + /** | ||
62 | + * 查询流水总计 | ||
63 | + * @param co | ||
64 | + * @return | ||
65 | + */ | ||
66 | + BusinessFlowSumVO querySumBusinessFlow(BusinessFlowCO co); | ||
50 | } | 67 | } |
etrade-order/src/main/java/com/diligrp/etrade/order/domain/xreport/BusinessFlowCO.java
0 → 100644
1 | +package com.diligrp.etrade.order.domain.xreport; | ||
2 | + | ||
3 | +import jakarta.validation.constraints.NotNull; | ||
4 | + | ||
5 | +import java.io.Serializable; | ||
6 | +import java.time.LocalDateTime; | ||
7 | +import java.util.List; | ||
8 | + | ||
9 | +public class BusinessFlowCO extends ClientPageQueryCO implements Serializable { | ||
10 | + /** | ||
11 | + *商品 | ||
12 | + */ | ||
13 | + private List<Long> products; | ||
14 | + | ||
15 | + /** | ||
16 | + *订单号 | ||
17 | + */ | ||
18 | + private String code; | ||
19 | + | ||
20 | + /** | ||
21 | + *买方id | ||
22 | + */ | ||
23 | + private Long buyerId; | ||
24 | + | ||
25 | + /** | ||
26 | + *卖方id | ||
27 | + */ | ||
28 | + private Long sellerId; | ||
29 | + | ||
30 | + /** | ||
31 | + *货款区间起始 | ||
32 | + */ | ||
33 | + private Long lowLevel; | ||
34 | + | ||
35 | + /** | ||
36 | + *货款区间结束 | ||
37 | + */ | ||
38 | + private Long highLevel; | ||
39 | + | ||
40 | + /** | ||
41 | + *来源 | ||
42 | + */ | ||
43 | + private Long source; | ||
44 | + | ||
45 | + /** | ||
46 | + * 开始时间 | ||
47 | + */ | ||
48 | + private LocalDateTime endSettleDateTime; | ||
49 | + | ||
50 | + /** | ||
51 | + * 结束时间 | ||
52 | + */ | ||
53 | + private LocalDateTime startSettleDateTime; | ||
54 | + | ||
55 | + /** | ||
56 | + *市场id | ||
57 | + */ | ||
58 | + @NotNull | ||
59 | + private Long marketId; | ||
60 | + | ||
61 | + public List<Long> getProducts() { | ||
62 | + return products; | ||
63 | + } | ||
64 | + | ||
65 | + public void setProducts(List<Long> products) { | ||
66 | + this.products = products; | ||
67 | + } | ||
68 | + | ||
69 | + public String getCode() { | ||
70 | + return code; | ||
71 | + } | ||
72 | + | ||
73 | + public void setCode(String code) { | ||
74 | + this.code = code; | ||
75 | + } | ||
76 | + | ||
77 | + public Long getBuyerId() { | ||
78 | + return buyerId; | ||
79 | + } | ||
80 | + | ||
81 | + public void setBuyerId(Long buyerId) { | ||
82 | + this.buyerId = buyerId; | ||
83 | + } | ||
84 | + | ||
85 | + public Long getSellerId() { | ||
86 | + return sellerId; | ||
87 | + } | ||
88 | + | ||
89 | + public void setSellerId(Long sellerId) { | ||
90 | + this.sellerId = sellerId; | ||
91 | + } | ||
92 | + | ||
93 | + public Long getLowLevel() { | ||
94 | + return lowLevel; | ||
95 | + } | ||
96 | + | ||
97 | + public void setLowLevel(Long lowLevel) { | ||
98 | + this.lowLevel = lowLevel; | ||
99 | + } | ||
100 | + | ||
101 | + public Long getHighLevel() { | ||
102 | + return highLevel; | ||
103 | + } | ||
104 | + | ||
105 | + public void setHighLevel(Long highLevel) { | ||
106 | + this.highLevel = highLevel; | ||
107 | + } | ||
108 | + | ||
109 | + public Long getSource() { | ||
110 | + return source; | ||
111 | + } | ||
112 | + | ||
113 | + public void setSource(Long source) { | ||
114 | + this.source = source; | ||
115 | + } | ||
116 | + | ||
117 | + public LocalDateTime getEndSettleDateTime() { | ||
118 | + return endSettleDateTime; | ||
119 | + } | ||
120 | + | ||
121 | + public void setEndSettleDateTime(LocalDateTime endSettleDateTime) { | ||
122 | + this.endSettleDateTime = endSettleDateTime; | ||
123 | + } | ||
124 | + | ||
125 | + public LocalDateTime getStartSettleDateTime() { | ||
126 | + return startSettleDateTime; | ||
127 | + } | ||
128 | + | ||
129 | + public void setStartSettleDateTime(LocalDateTime startSettleDateTime) { | ||
130 | + this.startSettleDateTime = startSettleDateTime; | ||
131 | + } | ||
132 | + | ||
133 | + public Long getMarketId() { | ||
134 | + return marketId; | ||
135 | + } | ||
136 | + | ||
137 | + public void setMarketId(Long marketId) { | ||
138 | + this.marketId = marketId; | ||
139 | + } | ||
140 | +} |
etrade-order/src/main/java/com/diligrp/etrade/order/domain/xreport/BusinessFlowPageMessage.java
0 → 100644
1 | +package com.diligrp.etrade.order.domain.xreport; | ||
2 | + | ||
3 | +import com.diligrp.etrade.core.domain.PageMessage; | ||
4 | +import com.diligrp.etrade.core.jackson.serializer.MoneyF2YJsonSerializer; | ||
5 | +import com.diligrp.etrade.core.jackson.serializer.WeightK2JJsonSerializer; | ||
6 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||
7 | +import com.github.pagehelper.PageInfo; | ||
8 | + | ||
9 | +import java.util.List; | ||
10 | + | ||
11 | +public class BusinessFlowPageMessage<T> extends PageMessage<T> { | ||
12 | + /** | ||
13 | + *订单商品总重量 单位斤 | ||
14 | + */ | ||
15 | + @JsonSerialize(using = WeightK2JJsonSerializer.class) | ||
16 | + private Long totalProductWeight; | ||
17 | + | ||
18 | + /** | ||
19 | + *订单商品件数 单位件 | ||
20 | + */ | ||
21 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
22 | + private Long totalProductPieces; | ||
23 | + | ||
24 | + /** | ||
25 | + * 产品总价 | ||
26 | + */ | ||
27 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
28 | + private Long totalProductTotalPrice; | ||
29 | + | ||
30 | + /** | ||
31 | + * 产品卖家总费用 | ||
32 | + */ | ||
33 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
34 | + private Long totalProductSellerFee; | ||
35 | + | ||
36 | + public Long getTotalProductWeight() { | ||
37 | + return totalProductWeight; | ||
38 | + } | ||
39 | + | ||
40 | + public void setTotalProductWeight(Long totalProductWeight) { | ||
41 | + this.totalProductWeight = totalProductWeight; | ||
42 | + } | ||
43 | + | ||
44 | + public Long getTotalProductPieces() { | ||
45 | + return totalProductPieces; | ||
46 | + } | ||
47 | + | ||
48 | + public void setTotalProductPieces(Long totalProductPieces) { | ||
49 | + this.totalProductPieces = totalProductPieces; | ||
50 | + } | ||
51 | + | ||
52 | + public Long getTotalProductTotalPrice() { | ||
53 | + return totalProductTotalPrice; | ||
54 | + } | ||
55 | + | ||
56 | + public void setTotalProductTotalPrice(Long totalProductTotalPrice) { | ||
57 | + this.totalProductTotalPrice = totalProductTotalPrice; | ||
58 | + } | ||
59 | + | ||
60 | + public Long getTotalProductSellerFee() { | ||
61 | + return totalProductSellerFee; | ||
62 | + } | ||
63 | + | ||
64 | + public void setTotalProductSellerFee(Long totalProductSellerFee) { | ||
65 | + this.totalProductSellerFee = totalProductSellerFee; | ||
66 | + } | ||
67 | + | ||
68 | + public static <T> BusinessFlowPageMessage<T> success(PageInfo<?> pageInfo, List<T> data) { | ||
69 | + BusinessFlowPageMessage<T> page = new BusinessFlowPageMessage<>(); | ||
70 | + page.setCode(CODE_SUCCESS); | ||
71 | + page.setTotal(pageInfo.getTotal()); | ||
72 | + page.setData(data); | ||
73 | + page.setMessage(MSG_SUCCESS); | ||
74 | + return page; | ||
75 | + } | ||
76 | +} |
etrade-order/src/main/java/com/diligrp/etrade/order/domain/xreport/BusinessFlowSumVO.java
0 → 100644
1 | +package com.diligrp.etrade.order.domain.xreport; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | + | ||
5 | +public class BusinessFlowSumVO implements Serializable { | ||
6 | + /** | ||
7 | + *订单商品总重量 单位斤 | ||
8 | + */ | ||
9 | + private Long totalProductWeight; | ||
10 | + | ||
11 | + /** | ||
12 | + *订单商品件数 单位件 | ||
13 | + */ | ||
14 | + private Long totalProductPieces; | ||
15 | + | ||
16 | + /** | ||
17 | + * 产品总价 | ||
18 | + */ | ||
19 | + private Long totalProductTotalPrice; | ||
20 | + /** | ||
21 | + * 产品卖家总费用 | ||
22 | + */ | ||
23 | + private Long totalProductSellerFee; | ||
24 | + | ||
25 | + public Long getTotalProductWeight() { | ||
26 | + return totalProductWeight; | ||
27 | + } | ||
28 | + | ||
29 | + public void setTotalProductWeight(Long totalProductWeight) { | ||
30 | + this.totalProductWeight = totalProductWeight; | ||
31 | + } | ||
32 | + | ||
33 | + public Long getTotalProductPieces() { | ||
34 | + return totalProductPieces; | ||
35 | + } | ||
36 | + | ||
37 | + public void setTotalProductPieces(Long totalProductPieces) { | ||
38 | + this.totalProductPieces = totalProductPieces; | ||
39 | + } | ||
40 | + | ||
41 | + public Long getTotalProductTotalPrice() { | ||
42 | + return totalProductTotalPrice; | ||
43 | + } | ||
44 | + | ||
45 | + public void setTotalProductTotalPrice(Long totalProductTotalPrice) { | ||
46 | + this.totalProductTotalPrice = totalProductTotalPrice; | ||
47 | + } | ||
48 | + | ||
49 | + public Long getTotalProductSellerFee() { | ||
50 | + return totalProductSellerFee; | ||
51 | + } | ||
52 | + | ||
53 | + public void setTotalProductSellerFee(Long totalProductSellerFee) { | ||
54 | + this.totalProductSellerFee = totalProductSellerFee; | ||
55 | + } | ||
56 | +} |
etrade-order/src/main/java/com/diligrp/etrade/order/domain/xreport/BusinessFlowVO.java
0 → 100644
1 | +package com.diligrp.etrade.order.domain.xreport; | ||
2 | + | ||
3 | +import com.diligrp.etrade.core.jackson.serializer.MoneyF2YJsonSerializer; | ||
4 | +import com.diligrp.etrade.core.jackson.serializer.WeightK2JJsonSerializer; | ||
5 | +import com.diligrp.etrade.order.configuration.Cent2KiloJsonSerializer; | ||
6 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; | ||
7 | + | ||
8 | +import java.io.Serializable; | ||
9 | +import java.time.LocalDateTime; | ||
10 | + | ||
11 | +public class BusinessFlowVO implements Serializable { | ||
12 | + /** | ||
13 | + * 自增主键 | ||
14 | + */ | ||
15 | + private Long id; | ||
16 | + | ||
17 | + /** | ||
18 | + * 订单编码(全局唯一) | ||
19 | + */ | ||
20 | + private String code; | ||
21 | + /** | ||
22 | + * 买家客户编码 | ||
23 | + */ | ||
24 | + private String buyerCode; | ||
25 | + /** | ||
26 | + * 买家编号 | ||
27 | + */ | ||
28 | + private Long buyerId; | ||
29 | + | ||
30 | + /** | ||
31 | + * 买方名称 | ||
32 | + */ | ||
33 | + private String buyerName; | ||
34 | + | ||
35 | + /** | ||
36 | + * 买方卡号 | ||
37 | + */ | ||
38 | + private String buyerCardNo; | ||
39 | + | ||
40 | + /** | ||
41 | + * 店铺收益卡号 | ||
42 | + */ | ||
43 | + private String shopCardNo; | ||
44 | + /** | ||
45 | + * 商店客户id | ||
46 | + */ | ||
47 | + private Long shopCustomerId; | ||
48 | + | ||
49 | + /** 商品名称 */ | ||
50 | + private String productName; | ||
51 | + | ||
52 | + /** | ||
53 | + *订单商品总重量 单位斤 | ||
54 | + */ | ||
55 | + @JsonSerialize(using = WeightK2JJsonSerializer.class) | ||
56 | + private Long productWeight; | ||
57 | + | ||
58 | + /** | ||
59 | + *订单商品件数 单位件 | ||
60 | + */ | ||
61 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
62 | + private Long productPieces; | ||
63 | + | ||
64 | + /** | ||
65 | + *订单商品件重单位 斤 | ||
66 | + */ | ||
67 | + @JsonSerialize(using = WeightK2JJsonSerializer.class) | ||
68 | + private Long productPieceWeight; | ||
69 | + | ||
70 | + /** | ||
71 | + * 产品单件价格 | ||
72 | + */ | ||
73 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
74 | + private Long productPiecePrice; | ||
75 | + | ||
76 | + /** | ||
77 | + * 订单商品交易类型(1、按重方式,2、按件方式) | ||
78 | + * | ||
79 | + */ | ||
80 | + private Integer productTradeType; | ||
81 | + | ||
82 | + /** | ||
83 | + * 商品重量单价 元/斤 | ||
84 | + * | ||
85 | + */ | ||
86 | + @JsonSerialize(using = Cent2KiloJsonSerializer.class) | ||
87 | + private Long productPrice; | ||
88 | + | ||
89 | + /** | ||
90 | + * 支付完成时间 | ||
91 | + */ | ||
92 | + private LocalDateTime payTime; | ||
93 | + | ||
94 | + /** | ||
95 | + * 产品总价 | ||
96 | + */ | ||
97 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
98 | + private Long productTotalPrice; | ||
99 | + | ||
100 | + /** | ||
101 | + * 产品销售商费用 | ||
102 | + */ | ||
103 | + @JsonSerialize(using = MoneyF2YJsonSerializer.class) | ||
104 | + private Long productSellerFee; | ||
105 | + | ||
106 | + /** | ||
107 | + * 卖家代码 | ||
108 | + */ | ||
109 | + private String sellerCode; | ||
110 | + /** | ||
111 | + * 卖家卡号 | ||
112 | + */ | ||
113 | + private String sellerCardNo; | ||
114 | + | ||
115 | + /** | ||
116 | + * 卖方店员名称 | ||
117 | + */ | ||
118 | + private String sellerName; | ||
119 | + | ||
120 | + public Long getId() { | ||
121 | + return id; | ||
122 | + } | ||
123 | + | ||
124 | + public void setId(Long id) { | ||
125 | + this.id = id; | ||
126 | + } | ||
127 | + | ||
128 | + public String getCode() { | ||
129 | + return code; | ||
130 | + } | ||
131 | + | ||
132 | + public void setCode(String code) { | ||
133 | + this.code = code; | ||
134 | + } | ||
135 | + | ||
136 | + public String getBuyerCode() { | ||
137 | + return buyerCode; | ||
138 | + } | ||
139 | + | ||
140 | + public void setBuyerCode(String buyerCode) { | ||
141 | + this.buyerCode = buyerCode; | ||
142 | + } | ||
143 | + | ||
144 | + public String getBuyerName() { | ||
145 | + return buyerName; | ||
146 | + } | ||
147 | + | ||
148 | + public void setBuyerName(String buyerName) { | ||
149 | + this.buyerName = buyerName; | ||
150 | + } | ||
151 | + | ||
152 | + public String getBuyerCardNo() { | ||
153 | + return buyerCardNo; | ||
154 | + } | ||
155 | + | ||
156 | + public void setBuyerCardNo(String buyerCardNo) { | ||
157 | + this.buyerCardNo = buyerCardNo; | ||
158 | + } | ||
159 | + | ||
160 | + public String getSellerName() { | ||
161 | + return sellerName; | ||
162 | + } | ||
163 | + | ||
164 | + public void setSellerName(String sellerName) { | ||
165 | + this.sellerName = sellerName; | ||
166 | + } | ||
167 | + | ||
168 | + public String getShopCardNo() { | ||
169 | + return shopCardNo; | ||
170 | + } | ||
171 | + | ||
172 | + public void setShopCardNo(String shopCardNo) { | ||
173 | + this.shopCardNo = shopCardNo; | ||
174 | + } | ||
175 | + | ||
176 | + public Long getShopCustomerId() { | ||
177 | + return shopCustomerId; | ||
178 | + } | ||
179 | + | ||
180 | + public void setShopCustomerId(Long shopCustomerId) { | ||
181 | + this.shopCustomerId = shopCustomerId; | ||
182 | + } | ||
183 | + | ||
184 | + public String getProductName() { | ||
185 | + return productName; | ||
186 | + } | ||
187 | + | ||
188 | + public void setProductName(String productName) { | ||
189 | + this.productName = productName; | ||
190 | + } | ||
191 | + | ||
192 | + public Long getProductWeight() { | ||
193 | + return productWeight; | ||
194 | + } | ||
195 | + | ||
196 | + public void setProductWeight(Long productWeight) { | ||
197 | + this.productWeight = productWeight; | ||
198 | + } | ||
199 | + | ||
200 | + public Long getProductPieces() { | ||
201 | + return productPieces; | ||
202 | + } | ||
203 | + | ||
204 | + public void setProductPieces(Long productPieces) { | ||
205 | + this.productPieces = productPieces; | ||
206 | + } | ||
207 | + | ||
208 | + public Long getProductPieceWeight() { | ||
209 | + return productPieceWeight; | ||
210 | + } | ||
211 | + | ||
212 | + public void setProductPieceWeight(Long productPieceWeight) { | ||
213 | + this.productPieceWeight = productPieceWeight; | ||
214 | + } | ||
215 | + | ||
216 | + public Long getProductPiecePrice() { | ||
217 | + return productPiecePrice; | ||
218 | + } | ||
219 | + | ||
220 | + public void setProductPiecePrice(Long productPiecePrice) { | ||
221 | + this.productPiecePrice = productPiecePrice; | ||
222 | + } | ||
223 | + | ||
224 | + public Integer getProductTradeType() { | ||
225 | + return productTradeType; | ||
226 | + } | ||
227 | + | ||
228 | + public void setProductTradeType(Integer productTradeType) { | ||
229 | + this.productTradeType = productTradeType; | ||
230 | + } | ||
231 | + | ||
232 | + public Long getProductPrice() { | ||
233 | + return productPrice; | ||
234 | + } | ||
235 | + | ||
236 | + public void setProductPrice(Long productPrice) { | ||
237 | + this.productPrice = productPrice; | ||
238 | + } | ||
239 | + | ||
240 | + public LocalDateTime getPayTime() { | ||
241 | + return payTime; | ||
242 | + } | ||
243 | + | ||
244 | + public void setPayTime(LocalDateTime payTime) { | ||
245 | + this.payTime = payTime; | ||
246 | + } | ||
247 | + | ||
248 | + public Long getProductTotalPrice() { | ||
249 | + return productTotalPrice; | ||
250 | + } | ||
251 | + | ||
252 | + public void setProductTotalPrice(Long productTotalPrice) { | ||
253 | + this.productTotalPrice = productTotalPrice; | ||
254 | + } | ||
255 | + | ||
256 | + public String getSellerCode() { | ||
257 | + return sellerCode; | ||
258 | + } | ||
259 | + | ||
260 | + public void setSellerCode(String sellerCode) { | ||
261 | + this.sellerCode = sellerCode; | ||
262 | + } | ||
263 | + | ||
264 | + public String getSellerCardNo() { | ||
265 | + return sellerCardNo; | ||
266 | + } | ||
267 | + | ||
268 | + public void setSellerCardNo(String sellerCardNo) { | ||
269 | + this.sellerCardNo = sellerCardNo; | ||
270 | + } | ||
271 | + | ||
272 | + public Long getBuyerId() { | ||
273 | + return buyerId; | ||
274 | + } | ||
275 | + | ||
276 | + public void setBuyerId(Long buyerId) { | ||
277 | + this.buyerId = buyerId; | ||
278 | + } | ||
279 | + | ||
280 | + public Long getProductSellerFee() { | ||
281 | + return productSellerFee; | ||
282 | + } | ||
283 | + | ||
284 | + public void setProductSellerFee(Long productSellerFee) { | ||
285 | + this.productSellerFee = productSellerFee; | ||
286 | + } | ||
287 | +} |
etrade-order/src/main/java/com/diligrp/etrade/order/domain/xreport/ClientPageQueryCO.java
0 → 100644
1 | +package com.diligrp.etrade.order.domain.xreport; | ||
2 | + | ||
3 | +import com.diligrp.etrade.core.domain.BasePageQuery; | ||
4 | + | ||
5 | +import java.io.Serializable; | ||
6 | + | ||
7 | +public abstract class ClientPageQueryCO extends BasePageQuery implements Serializable { | ||
8 | + | ||
9 | + /** | ||
10 | + * 排序 | ||
11 | + */ | ||
12 | + private String sort; | ||
13 | + /** | ||
14 | + * 排序顺序 | ||
15 | + */ | ||
16 | + private String sortOrder; | ||
17 | + | ||
18 | + | ||
19 | + public String getSort() { | ||
20 | + return sort; | ||
21 | + } | ||
22 | + | ||
23 | + public void setSort(String sort) { | ||
24 | + this.sort = sort; | ||
25 | + } | ||
26 | + | ||
27 | + public String getSortOrder() { | ||
28 | + return sortOrder; | ||
29 | + } | ||
30 | + | ||
31 | + public void setSortOrder(String sortOrder) { | ||
32 | + this.sortOrder = sortOrder; | ||
33 | + } | ||
34 | +} |
etrade-order/src/main/java/com/diligrp/etrade/order/service/OrderQueryService.java
1 | package com.diligrp.etrade.order.service; | 1 | package com.diligrp.etrade.order.service; |
2 | 2 | ||
3 | import com.diligrp.etrade.order.domain.*; | 3 | import com.diligrp.etrade.order.domain.*; |
4 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowCO; | ||
5 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowPageMessage; | ||
6 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowVO; | ||
4 | import com.github.pagehelper.Page; | 7 | import com.github.pagehelper.Page; |
5 | 8 | ||
6 | import java.util.List; | 9 | import java.util.List; |
@@ -57,4 +60,11 @@ public interface OrderQueryService { | @@ -57,4 +60,11 @@ public interface OrderQueryService { | ||
57 | * @return | 60 | * @return |
58 | */ | 61 | */ |
59 | Integer queryOrderVerifyNumber(OrderQueryDto orderQueryDto); | 62 | Integer queryOrderVerifyNumber(OrderQueryDto orderQueryDto); |
63 | + | ||
64 | + /** | ||
65 | + * 订单流水查询 | ||
66 | + * @param co | ||
67 | + * @return | ||
68 | + */ | ||
69 | + BusinessFlowPageMessage<BusinessFlowVO> businessFlow(BusinessFlowCO co); | ||
60 | } | 70 | } |
etrade-order/src/main/java/com/diligrp/etrade/order/service/impl/OrderQueryServiceImpl.java
@@ -3,12 +3,18 @@ package com.diligrp.etrade.order.service.impl; | @@ -3,12 +3,18 @@ package com.diligrp.etrade.order.service.impl; | ||
3 | import cn.hutool.core.util.StrUtil; | 3 | import cn.hutool.core.util.StrUtil; |
4 | import com.diligrp.etrade.order.dao.OrderQueryMapper; | 4 | import com.diligrp.etrade.order.dao.OrderQueryMapper; |
5 | import com.diligrp.etrade.order.domain.*; | 5 | import com.diligrp.etrade.order.domain.*; |
6 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowCO; | ||
7 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowPageMessage; | ||
8 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowSumVO; | ||
9 | +import com.diligrp.etrade.order.domain.xreport.BusinessFlowVO; | ||
6 | import com.diligrp.etrade.order.exception.OrderErrorCode; | 10 | import com.diligrp.etrade.order.exception.OrderErrorCode; |
7 | import com.diligrp.etrade.order.exception.OrderException; | 11 | import com.diligrp.etrade.order.exception.OrderException; |
8 | import com.diligrp.etrade.order.service.*; | 12 | import com.diligrp.etrade.order.service.*; |
9 | import com.diligrp.etrade.order.type.*; | 13 | import com.diligrp.etrade.order.type.*; |
14 | +import com.diligrp.etrade.order.util.NumberTransform; | ||
10 | import com.github.pagehelper.Page; | 15 | import com.github.pagehelper.Page; |
11 | import com.github.pagehelper.PageHelper; | 16 | import com.github.pagehelper.PageHelper; |
17 | +import com.github.pagehelper.PageInfo; | ||
12 | import jakarta.annotation.Resource; | 18 | import jakarta.annotation.Resource; |
13 | import org.apache.commons.lang3.ObjectUtils; | 19 | import org.apache.commons.lang3.ObjectUtils; |
14 | import org.slf4j.Logger; | 20 | import org.slf4j.Logger; |
@@ -114,4 +120,37 @@ public class OrderQueryServiceImpl implements OrderQueryService { | @@ -114,4 +120,37 @@ public class OrderQueryServiceImpl implements OrderQueryService { | ||
114 | } | 120 | } |
115 | return orderQueryMapper.queryOrderVerifyNumber(orderQueryDto); | 121 | return orderQueryMapper.queryOrderVerifyNumber(orderQueryDto); |
116 | } | 122 | } |
123 | + | ||
124 | + @Override | ||
125 | + public BusinessFlowPageMessage<BusinessFlowVO> businessFlow(BusinessFlowCO co) { | ||
126 | + PageHelper.startPage(co.getPageNo(), co.getPageSize()); | ||
127 | + List<BusinessFlowVO> list = orderQueryMapper.queryBusinessFlow(co); | ||
128 | + BusinessFlowSumVO sumFlowVO = orderQueryMapper.querySumBusinessFlow(co); | ||
129 | +// list.forEach(e->{ | ||
130 | +// CustomerDto customerDto = rpcExecutor.getByCustomerId(e.getShopCustomerId()); | ||
131 | +// e.setSellerName(customerDto.getName()); | ||
132 | +// e.setSellerCode(customerDto.getCode()); | ||
133 | +// e.setSellerCardNo(e.getShopCardNo()); | ||
134 | +// if (!org.springframework.util.ObjectUtils.isEmpty(e.getBuyerId())){ | ||
135 | +// CustomerDto buyer = rpcExecutor.getByCustomerId(e.getBuyerId()); | ||
136 | +// e.setBuyerName(buyer.getName()); | ||
137 | +// e.setBuyerCode(buyer.getCode()); | ||
138 | +// } | ||
139 | +// }); | ||
140 | + PageInfo<BusinessFlowVO> pageInfo = new PageInfo<>(list); | ||
141 | + BusinessFlowPageMessage<BusinessFlowVO> success = BusinessFlowPageMessage.success(pageInfo, list); | ||
142 | + if (!org.springframework.util.ObjectUtils.isEmpty(sumFlowVO)) { | ||
143 | + success.setTotalProductPieces(org.springframework.util.ObjectUtils.isEmpty(sumFlowVO.getTotalProductPieces()) ? NumberTransform.NUMBER_ZERO_LONG : sumFlowVO.getTotalProductPieces()); | ||
144 | + success.setTotalProductWeight(org.springframework.util.ObjectUtils.isEmpty(sumFlowVO.getTotalProductWeight()) ? NumberTransform.NUMBER_ZERO_LONG : sumFlowVO.getTotalProductWeight()); | ||
145 | + success.setTotalProductTotalPrice(org.springframework.util.ObjectUtils.isEmpty(sumFlowVO.getTotalProductTotalPrice()) ? NumberTransform.NUMBER_ZERO_LONG : sumFlowVO.getTotalProductTotalPrice()); | ||
146 | + success.setTotalProductSellerFee(org.springframework.util.ObjectUtils.isEmpty(sumFlowVO.getTotalProductSellerFee()) ? NumberTransform.NUMBER_ZERO_LONG : sumFlowVO.getTotalProductSellerFee()); | ||
147 | + } else { | ||
148 | + success.setTotalProductPieces(NumberTransform.NUMBER_ZERO_LONG); | ||
149 | + success.setTotalProductWeight(NumberTransform.NUMBER_ZERO_LONG); | ||
150 | + success.setTotalProductTotalPrice(NumberTransform.NUMBER_ZERO_LONG); | ||
151 | + success.setTotalProductSellerFee(NumberTransform.NUMBER_ZERO_LONG); | ||
152 | + } | ||
153 | + | ||
154 | + return success; | ||
155 | + } | ||
117 | } | 156 | } |
etrade-order/src/main/java/com/diligrp/etrade/order/util/NumberTransform.java
@@ -27,4 +27,12 @@ public class NumberTransform { | @@ -27,4 +27,12 @@ public class NumberTransform { | ||
27 | 27 | ||
28 | /** 版本号步长 */ | 28 | /** 版本号步长 */ |
29 | public static Integer DEFAULT_VERSION_STEP = 1; | 29 | public static Integer DEFAULT_VERSION_STEP = 1; |
30 | + | ||
31 | + public static final int NUMBER_ZERO = 0; | ||
32 | + public static final long NUMBER_ZERO_LONG = 0; | ||
33 | + public static final int NUMBER_ONE = 1; | ||
34 | + public static final int NUMBER_TWO = 2; | ||
35 | + | ||
36 | + public static final int NUMBER_ONE_HUNDRED = 100; | ||
37 | + public static final int NUMBER_ONE_THOUSAND = 1000; | ||
30 | } | 38 | } |
etrade-order/src/main/resources/com/diligrp/etrade/dao/mapper/order/OrderQueryMapper.xml
@@ -340,4 +340,146 @@ | @@ -340,4 +340,146 @@ | ||
340 | </if> | 340 | </if> |
341 | </where> | 341 | </where> |
342 | </select> | 342 | </select> |
343 | + <select id="queryBusinessFlow" resultType="com.diligrp.etrade.order.domain.xreport.BusinessFlowVO" | ||
344 | + parameterType="com.diligrp.etrade.order.domain.xreport.BusinessFlowCO"> | ||
345 | + SELECT | ||
346 | + `code` | ||
347 | + ,productPieces | ||
348 | + ,payTime | ||
349 | + ,productWeight | ||
350 | + ,buyerName | ||
351 | + ,buyerCode | ||
352 | + ,sellerName | ||
353 | + ,sellerCode | ||
354 | + ,buyerId | ||
355 | + ,productName | ||
356 | + ,shopCardNo | ||
357 | + ,shopCustomerId | ||
358 | + ,productTradeType | ||
359 | + ,buyerCardNo | ||
360 | + ,id | ||
361 | + ,productPieceWeight | ||
362 | + ,productPiecePrice | ||
363 | + ,productPrice | ||
364 | + ,productTotalPrice | ||
365 | + ,productSellerFee | ||
366 | + FROM ( | ||
367 | + SELECT | ||
368 | + o.code AS code | ||
369 | + , og.product_pieces AS productPieces | ||
370 | + , o.pay_time AS payTime | ||
371 | + , og.product_weight AS productWeight | ||
372 | + , o.buyer_name AS buyerName | ||
373 | + , o.buyer_code AS buyerCode | ||
374 | + , o.seller_name AS sellerName | ||
375 | + , s.customer_code AS sellerCode | ||
376 | + , o.buyer_id AS buyerId | ||
377 | + , p.`alias` AS productName | ||
378 | + , o.shop_card_no AS shopCardNo | ||
379 | + , o.shop_customer_id AS shopCustomerId | ||
380 | + , og.product_trade_type AS productTradeType | ||
381 | + , o.buyer_card_no AS buyerCardNo | ||
382 | + , og.id AS id | ||
383 | + , og.product_piece_weight AS productPieceWeight | ||
384 | + , og.product_piece_price AS productPiecePrice | ||
385 | + , og.product_price AS productPrice | ||
386 | + , og.product_total_price AS productTotalPrice | ||
387 | + , og.product_seller_fee AS productSellerFee | ||
388 | + FROM | ||
389 | + `order_goods` og | ||
390 | + LEFT JOIN `order` o ON o.id = og.order_id | ||
391 | + LEFT JOIN `product` p ON og.product_id = p.id | ||
392 | + LEFT JOIN `shop` s ON s.id = o.shop_id | ||
393 | + WHERE | ||
394 | + o.state = 3 | ||
395 | + AND og.state = 1 | ||
396 | + AND o.market_id = #{marketId} | ||
397 | + <if test="products !=null and products.size() > 0 "> | ||
398 | + and p.category_id in | ||
399 | + <foreach item="item" index="index" collection="products" open="(" separator="," close=")"> | ||
400 | + #{item} | ||
401 | + </foreach> | ||
402 | + </if> | ||
403 | + <if test="code !=null and code != ''"> | ||
404 | + and o.code = #{code} | ||
405 | + </if> | ||
406 | + <if test="buyerId !=null"> | ||
407 | + and o.buyer_id = #{buyerId} | ||
408 | + </if> | ||
409 | + <if test="sellerId !=null"> | ||
410 | + and o.shop_customer_id = #{sellerId} | ||
411 | + </if> | ||
412 | + <if test="source !=null"> | ||
413 | + and o.source = #{source} | ||
414 | + </if> | ||
415 | + <if test="lowLevel !=null"> | ||
416 | + and og.product_total_price <![CDATA[>= #{lowLevel}]]> | ||
417 | + </if> | ||
418 | + <if test="highLevel !=null"> | ||
419 | + and og.product_total_price <![CDATA[<= #{highLevel}]]> | ||
420 | + </if> | ||
421 | + <if test="startSettleDateTime !=null"> | ||
422 | + and o.pay_time <![CDATA[>= #{startSettleDateTime}]]> | ||
423 | + </if> | ||
424 | + <if test="endSettleDateTime !=null"> | ||
425 | + and o.pay_time <![CDATA[<= #{endSettleDateTime}]]> | ||
426 | + </if> | ||
427 | + ) t | ||
428 | + <if test="sort != null and sort != '' and sortOrder != null and sortOrder != ''"> | ||
429 | + ORDER BY ${sort} ${sortOrder} | ||
430 | + </if> | ||
431 | + </select> | ||
432 | + <select id="querySumBusinessFlow" resultType="com.diligrp.etrade.order.domain.xreport.BusinessFlowSumVO" | ||
433 | + parameterType="com.diligrp.etrade.order.domain.xreport.BusinessFlowCO"> | ||
434 | + SELECT | ||
435 | + SUM(IFNULL(productWeight,0)) AS totalProductWeight | ||
436 | + ,SUM(IFNULL(productPieces,0)) AS totalProductPieces | ||
437 | + ,SUM(IFNULL(productTotalPrice,0)) AS totalProductTotalPrice | ||
438 | + ,SUM(IFNULL(productSellerFee,0)) AS totalProductSellerFee | ||
439 | + FROM ( | ||
440 | + SELECT | ||
441 | + og.product_weight AS productWeight | ||
442 | + , og.product_pieces AS productPieces | ||
443 | + , og.product_total_price AS productTotalPrice | ||
444 | + , og.product_seller_fee AS productSellerFee | ||
445 | + FROM | ||
446 | + `order_goods` og | ||
447 | + LEFT JOIN `order` o ON o.id = og.order_id | ||
448 | + LEFT JOIN `product` p ON og.product_id = p.id | ||
449 | + WHERE | ||
450 | + o.state = 3 | ||
451 | + AND og.state = 1 | ||
452 | + AND o.market_id = #{marketId} | ||
453 | + <if test="products !=null and products.size() > 0 "> | ||
454 | + and p.category_id in | ||
455 | + <foreach item="item" index="index" collection="products" open="(" separator="," close=")"> | ||
456 | + #{item} | ||
457 | + </foreach> | ||
458 | + </if> | ||
459 | + <if test="code !=null and code != ''"> | ||
460 | + and o.code = #{code} | ||
461 | + </if> | ||
462 | + <if test="buyerId !=null"> | ||
463 | + and o.buyer_id = #{buyerId} | ||
464 | + </if> | ||
465 | + <if test="sellerId !=null"> | ||
466 | + and o.shop_customer_id = #{sellerId} | ||
467 | + </if> | ||
468 | + <if test="source !=null"> | ||
469 | + and o.source = #{source} | ||
470 | + </if> | ||
471 | + <if test="lowLevel !=null"> | ||
472 | + and og.product_total_price <![CDATA[>= #{lowLevel}]]> | ||
473 | + </if> | ||
474 | + <if test="highLevel !=null"> | ||
475 | + and og.product_total_price <![CDATA[<= #{highLevel}]]> | ||
476 | + </if> | ||
477 | + <if test="startSettleDateTime !=null"> | ||
478 | + and o.pay_time <![CDATA[>= #{startSettleDateTime}]]> | ||
479 | + </if> | ||
480 | + <if test="endSettleDateTime !=null"> | ||
481 | + and o.pay_time <![CDATA[<= #{endSettleDateTime}]]> | ||
482 | + </if> | ||
483 | + ) t | ||
484 | + </select> | ||
343 | </mapper> | 485 | </mapper> |
344 | \ No newline at end of file | 486 | \ No newline at end of file |