Commit 3cac59c94201dc65bed2ed56cfa1339326422d10
Merge branch 'master' of http://git3.nong12.com/xtrade/order-service.git
Showing
12 changed files
with
783 additions
and
48 deletions
src/main/java/com/diligrp/xtrade/product/controllor/ProductApiController.java
1 | package com.diligrp.xtrade.product.controllor; | 1 | package com.diligrp.xtrade.product.controllor; |
2 | 2 | ||
3 | -import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; | ||
4 | -import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; | ||
5 | -import com.diligrp.xtrade.product.domain.dto.ProductQueryResponsetDto; | ||
6 | -import com.diligrp.xtrade.product.service.ProductService; | ||
7 | -import com.diligrp.xtrade.shared.domain.Message; | 3 | +import javax.annotation.Resource; |
4 | + | ||
8 | import org.springframework.web.bind.annotation.RequestBody; | 5 | import org.springframework.web.bind.annotation.RequestBody; |
9 | import org.springframework.web.bind.annotation.RequestMapping; | 6 | import org.springframework.web.bind.annotation.RequestMapping; |
10 | import org.springframework.web.bind.annotation.RestController; | 7 | import org.springframework.web.bind.annotation.RestController; |
11 | 8 | ||
12 | -import javax.annotation.Resource; | ||
13 | -import java.util.List; | 9 | +import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; |
10 | +import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; | ||
11 | +import com.diligrp.xtrade.product.domain.dto.ProductQueryResponseDto; | ||
12 | +import com.diligrp.xtrade.product.service.ProductService; | ||
13 | +import com.diligrp.xtrade.shared.domain.Message; | ||
14 | +import com.diligrp.xtrade.shared.domain.Page; | ||
14 | 15 | ||
15 | @RestController | 16 | @RestController |
16 | @RequestMapping(value = "/sapi/product") | 17 | @RequestMapping(value = "/sapi/product") |
17 | public class ProductApiController { | 18 | public class ProductApiController { |
18 | 19 | ||
19 | - @Resource | ||
20 | - private ProductService productService; | 20 | + @Resource private ProductService productService; |
21 | 21 | ||
22 | + /** | ||
23 | + * 创建商品 | ||
24 | + * | ||
25 | + * @param productCreateRequestDto | ||
26 | + * @return | ||
27 | + */ | ||
22 | @RequestMapping(value = "/createProduct") | 28 | @RequestMapping(value = "/createProduct") |
23 | - public Message<?> createOrder(@RequestBody ProductCreateRequestDto productCreateRequestDto) { | 29 | + public Message<Boolean> createOrder(@RequestBody ProductCreateRequestDto productCreateRequestDto) { |
24 | productService.createProduct(productCreateRequestDto); | 30 | productService.createProduct(productCreateRequestDto); |
25 | - return Message.success(); | 31 | + return Message.success(Boolean.TRUE); |
26 | } | 32 | } |
27 | 33 | ||
34 | + /** | ||
35 | + * 分页查询商品列表 TODO:分页功能 | ||
36 | + * | ||
37 | + * @param productQueryRequestDto | ||
38 | + * @return | ||
39 | + */ | ||
28 | @RequestMapping(value = "/listProducts") | 40 | @RequestMapping(value = "/listProducts") |
29 | - public Message<List<ProductQueryResponsetDto>> listOrders(@RequestBody ProductQueryRequestDto productQueryRequestDto) { | ||
30 | - return Message.success(productService.orderLists(productQueryRequestDto)); | 41 | + public Message<Page<ProductQueryResponseDto>> listOrders(@RequestBody ProductQueryRequestDto productQueryRequestDto) { |
42 | + return Message.success(productService.productLists(productQueryRequestDto)); | ||
31 | } | 43 | } |
32 | 44 | ||
45 | + /** | ||
46 | + * 查询商品详情 | ||
47 | + * | ||
48 | + * @param productQueryRequestDto | ||
49 | + * @return | ||
50 | + */ | ||
33 | @RequestMapping(value = "/productDetail") | 51 | @RequestMapping(value = "/productDetail") |
34 | - public Message<ProductQueryResponsetDto> orderDetail(@RequestBody ProductQueryRequestDto productQueryRequestDto) { | ||
35 | - return Message.success(productService.orderDetail(productQueryRequestDto)); | 52 | + public Message<ProductQueryResponseDto> orderDetail(@RequestBody ProductQueryRequestDto productQueryRequestDto) { |
53 | + return Message.success(productService.productDetail(productQueryRequestDto.getProductId())); | ||
36 | } | 54 | } |
37 | 55 | ||
38 | } | 56 | } |
src/main/java/com/diligrp/xtrade/product/dao/ProductDao.java
@@ -30,22 +30,13 @@ public interface ProductDao { | @@ -30,22 +30,13 @@ public interface ProductDao { | ||
30 | 30 | ||
31 | /** | 31 | /** |
32 | * | 32 | * |
33 | - * @Title lastSequence | ||
34 | - * @Description 返回插入的编号,在事务开启状态下有效 | ||
35 | - * @return | ||
36 | - * @throws | ||
37 | - */ | ||
38 | - int lastSequence(); | ||
39 | - | ||
40 | - /** | ||
41 | - * | ||
42 | * @Title deleteByArrayKey | 33 | * @Title deleteByArrayKey |
43 | - * @Description 删除记录 | 34 | + * @Description 批量删除记录 |
44 | * @param id 主键 | 35 | * @param id 主键 |
45 | * @return | 36 | * @return |
46 | * @throws | 37 | * @throws |
47 | */ | 38 | */ |
48 | - int deleteByArrayKey(@Param("id") Long id); | 39 | + int deleteByArrayKey(List<Long> ids); |
49 | 40 | ||
50 | /** | 41 | /** |
51 | * | 42 | * |
src/main/java/com/diligrp/xtrade/product/domain/builder/ProductBuilder.java
1 | package com.diligrp.xtrade.product.domain.builder; | 1 | package com.diligrp.xtrade.product.domain.builder; |
2 | 2 | ||
3 | +import java.util.Optional; | ||
4 | + | ||
5 | +import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; | ||
6 | +import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; | ||
7 | +import com.diligrp.xtrade.product.domain.dto.ProductQueryResponseDto; | ||
8 | +import com.diligrp.xtrade.product.domain.emuns.ProductStatus; | ||
9 | +import com.diligrp.xtrade.product.domain.entity.ProductDo; | ||
10 | + | ||
11 | +/** | ||
12 | + * @ClassName:ProductBuilder | ||
13 | + * @Description:用于商品相应实体操作 | ||
14 | + * @author dengjf | ||
15 | + * @date 2020-04-23 | ||
16 | + */ | ||
3 | public class ProductBuilder { | 17 | public class ProductBuilder { |
4 | 18 | ||
19 | + /** | ||
20 | + * 构建基本商品数据 | ||
21 | + * | ||
22 | + * @param createDto | ||
23 | + * @return ProductDo | ||
24 | + */ | ||
25 | + public static ProductDo buildDoFromCreate(ProductCreateRequestDto createDto) { | ||
26 | + Integer status = Optional.ofNullable(createDto.getStatus()) | ||
27 | + .map(ProductStatus::getCode) | ||
28 | + .orElse(null); | ||
29 | + ProductDo productDo = new ProductDo(); | ||
30 | + productDo.setProductId(createDto.getProductId()); | ||
31 | + productDo.setProductName(createDto.getProductName()); | ||
32 | + productDo.setAccountId(createDto.getAccountId()); | ||
33 | + productDo.setAccountName(createDto.getAccountName()); | ||
34 | + productDo.setCateId(createDto.getCateId()); | ||
35 | + productDo.setCateName(createDto.getCateName()); | ||
36 | + productDo.setPrice(createDto.getPrice()); | ||
37 | + productDo.setUnitWeight(createDto.getUnitWeight()); | ||
38 | + productDo.setUnit(createDto.getUnit()); | ||
39 | + productDo.setWeight(createDto.getWeight()); | ||
40 | + productDo.setStatus(status); | ||
41 | + productDo.setPlace(createDto.getPlace()); | ||
42 | + return productDo; | ||
43 | + } | ||
44 | + /** | ||
45 | + * 构建查询商品数据 | ||
46 | + * | ||
47 | + * @param queryRequestDto | ||
48 | + * @return ProductDo | ||
49 | + */ | ||
50 | + public static ProductDo buildDoFromQueryRequest(ProductQueryRequestDto queryDto) { | ||
51 | + Integer status = Optional.ofNullable(queryDto.getStatus()) | ||
52 | + .map(ProductStatus::getCode) | ||
53 | + .orElse(null); | ||
54 | + ProductDo productDo = new ProductDo(); | ||
55 | + productDo.setProductId(queryDto.getProductId()); | ||
56 | + productDo.setProductName(queryDto.getProductName()); | ||
57 | + productDo.setAccountId(queryDto.getAccountId()); | ||
58 | + productDo.setAccountName(queryDto.getAccountName()); | ||
59 | + productDo.setCateId(queryDto.getCateId()); | ||
60 | + productDo.setCateName(queryDto.getCateName()); | ||
61 | + productDo.setStatus(status); | ||
62 | + return productDo; | ||
63 | + } | ||
64 | + /** | ||
65 | + * 构建查询商品数据 | ||
66 | + * | ||
67 | + * @param ProductDo | ||
68 | + * @return ProductQueryResponseDto | ||
69 | + */ | ||
70 | + public static ProductQueryResponseDto buildDoToQueryResponse(ProductDo productDo) { | ||
71 | + ProductQueryResponseDto responseDo = new ProductQueryResponseDto(); | ||
72 | + responseDo.setProductId(productDo.getProductId()); | ||
73 | + responseDo.setProductName(productDo.getProductName()); | ||
74 | + responseDo.setAccountId(productDo.getAccountId()); | ||
75 | + responseDo.setAccountName(productDo.getAccountName()); | ||
76 | + responseDo.setCateId(productDo.getCateId()); | ||
77 | + responseDo.setCateName(productDo.getCateName()); | ||
78 | + responseDo.setStatus(productDo.getStatus()); | ||
79 | + responseDo.setPrice(productDo.getPrice()); | ||
80 | + responseDo.setPlace(productDo.getPlace()); | ||
81 | + responseDo.setUnit(productDo.getUnit()); | ||
82 | + responseDo.setUnitWeight(productDo.getUnitWeight()); | ||
83 | + return responseDo; | ||
84 | + } | ||
85 | + | ||
5 | } | 86 | } |
src/main/java/com/diligrp/xtrade/product/domain/dto/ProductCreateRequestDto.java
1 | package com.diligrp.xtrade.product.domain.dto; | 1 | package com.diligrp.xtrade.product.domain.dto; |
2 | 2 | ||
3 | +import javax.validation.constraints.NotNull; | ||
4 | + | ||
5 | +import com.diligrp.xtrade.product.domain.emuns.ProductStatus; | ||
6 | + | ||
3 | public class ProductCreateRequestDto { | 7 | public class ProductCreateRequestDto { |
8 | + //商品业务id | ||
9 | + private Long productId; | ||
10 | + | ||
11 | + //商品名称 | ||
12 | + private String productName; | ||
13 | + | ||
14 | + //品类id | ||
15 | + @NotNull(message = "品类id不能为空") | ||
16 | + private Long cateId; | ||
17 | + | ||
18 | + //品类名称 | ||
19 | + private String cateName; | ||
20 | + | ||
21 | + //账户Id | ||
22 | + @NotNull(message = "账户id不能为空") | ||
23 | + private Long accountId; | ||
24 | + | ||
25 | + //账户名称 | ||
26 | + @NotNull(message = "账户名称不能为空") | ||
27 | + private String accountName; | ||
28 | + | ||
29 | + //商品状态 | ||
30 | + private ProductStatus status; | ||
31 | + | ||
32 | + //商品件重 | ||
33 | + private Double unitWeight; | ||
34 | + | ||
35 | + //商品单位 | ||
36 | + private Integer unit; | ||
37 | + | ||
38 | + //商品价格 | ||
39 | + private Long price; | ||
40 | + | ||
41 | + //商品数量 | ||
42 | + private Double amount; | ||
43 | + | ||
44 | + //商品重量 | ||
45 | + private Double weight; | ||
46 | + | ||
47 | + //商品产地 | ||
48 | + private String place; | ||
49 | + | ||
50 | + /** | ||
51 | + * 获取 分类ID | ||
52 | + * @return | ||
53 | + */ | ||
54 | + public Long getCateId() { | ||
55 | + return cateId; | ||
56 | + } | ||
57 | + | ||
58 | + /** | ||
59 | + * 设置 分类ID | ||
60 | + * @param cateId | ||
61 | + */ | ||
62 | + public void setCateId(Long cateId) { | ||
63 | + this.cateId = cateId; | ||
64 | + } | ||
65 | + | ||
66 | + /** | ||
67 | + * 获取 cateName | ||
68 | + * @return | ||
69 | + */ | ||
70 | + public String getCateName() { | ||
71 | + return cateName; | ||
72 | + } | ||
73 | + | ||
74 | + /** | ||
75 | + * 设置 cateName | ||
76 | + * @param cateName | ||
77 | + */ | ||
78 | + public void setCateName(String cateName) { | ||
79 | + this.cateName = cateName; | ||
80 | + } | ||
81 | + | ||
82 | + /** | ||
83 | + * 获取 卖家用户ID | ||
84 | + * @return | ||
85 | + */ | ||
86 | + public Long getAccountId() { | ||
87 | + return accountId; | ||
88 | + } | ||
89 | + | ||
90 | + /** | ||
91 | + * 设置 卖家用户ID | ||
92 | + * @param accountId | ||
93 | + */ | ||
94 | + public void setAccountId(Long accountId) { | ||
95 | + this.accountId = accountId; | ||
96 | + } | ||
97 | + | ||
98 | + /** | ||
99 | + * 获取 卖家用户名 | ||
100 | + * @return | ||
101 | + */ | ||
102 | + public String getAccountName() { | ||
103 | + return accountName; | ||
104 | + } | ||
105 | + | ||
106 | + /** | ||
107 | + * 设置 卖家用户名 | ||
108 | + * @param accountName | ||
109 | + */ | ||
110 | + public void setAccountName(String accountName) { | ||
111 | + this.accountName = accountName; | ||
112 | + } | ||
113 | + | ||
114 | + /** | ||
115 | + * 获取 快捷卖货用 | ||
116 | + * @return | ||
117 | + */ | ||
118 | + public Long getProductId() { | ||
119 | + return productId; | ||
120 | + } | ||
121 | + | ||
122 | + /** | ||
123 | + * 设置 快捷卖货用 | ||
124 | + * @param productCode | ||
125 | + */ | ||
126 | + public void setProductId(Long productId) { | ||
127 | + this.productId = productId; | ||
128 | + } | ||
129 | + | ||
130 | + /** | ||
131 | + * 获取 productName | ||
132 | + * @return | ||
133 | + */ | ||
134 | + public String getProductName() { | ||
135 | + return productName; | ||
136 | + } | ||
137 | + | ||
138 | + /** | ||
139 | + * 设置 productName | ||
140 | + * @param productName | ||
141 | + */ | ||
142 | + public void setProductName(String productName) { | ||
143 | + this.productName = productName; | ||
144 | + } | ||
145 | + | ||
146 | + /** | ||
147 | + * 获取 商品状态 1-生效 2-失效 -1-删除 | ||
148 | + * @return | ||
149 | + */ | ||
150 | + public ProductStatus getStatus() { | ||
151 | + return status; | ||
152 | + } | ||
153 | + | ||
154 | + /** | ||
155 | + * 设置 商品状态 1-生效 2-失效 -1-删除 | ||
156 | + * @param status | ||
157 | + */ | ||
158 | + public void setStatus(ProductStatus status) { | ||
159 | + this.status = status; | ||
160 | + } | ||
161 | + | ||
162 | + /** | ||
163 | + * 获取 数量 | ||
164 | + * @return | ||
165 | + */ | ||
166 | + public Double getUnitWeight() { | ||
167 | + return unitWeight; | ||
168 | + } | ||
169 | + | ||
170 | + /** | ||
171 | + * 设置 数量 | ||
172 | + * @param unitWeight | ||
173 | + */ | ||
174 | + public void setUnitWeight(Double unitWeight) { | ||
175 | + this.unitWeight = unitWeight; | ||
176 | + } | ||
177 | + | ||
178 | + public Double getAmount() { | ||
179 | + return amount; | ||
180 | + } | ||
181 | + | ||
182 | + public void setAmount(Double amount) { | ||
183 | + this.amount = amount; | ||
184 | + } | ||
185 | + | ||
186 | + /** | ||
187 | + * 获取 入库单位1件2斤 | ||
188 | + * @return | ||
189 | + */ | ||
190 | + public Integer getUnit() { | ||
191 | + return unit; | ||
192 | + } | ||
193 | + | ||
194 | + /** | ||
195 | + * 设置 入库单位1件2斤 | ||
196 | + * @param productUnit | ||
197 | + */ | ||
198 | + public void setUnit(Integer unit) { | ||
199 | + this.unit = unit; | ||
200 | + } | ||
201 | + | ||
202 | + /** | ||
203 | + * 获取 单价 | ||
204 | + * @return | ||
205 | + */ | ||
206 | + public Long getPrice() { | ||
207 | + return price; | ||
208 | + } | ||
209 | + | ||
210 | + /** | ||
211 | + * 设置 单价 | ||
212 | + * @param price | ||
213 | + */ | ||
214 | + public void setPrice(Long price) { | ||
215 | + this.price = price; | ||
216 | + } | ||
217 | + | ||
218 | + /** | ||
219 | + * 获取 总重量 | ||
220 | + * @return | ||
221 | + */ | ||
222 | + public Double getWeight() { | ||
223 | + return weight; | ||
224 | + } | ||
225 | + | ||
226 | + /** | ||
227 | + * 设置 总重量 | ||
228 | + * @param weight | ||
229 | + */ | ||
230 | + public void setWeight(Double weight) { | ||
231 | + this.weight = weight; | ||
232 | + } | ||
233 | + | ||
234 | + /** | ||
235 | + * 获取 产地 | ||
236 | + * @return | ||
237 | + */ | ||
238 | + public String getPlace() { | ||
239 | + return place; | ||
240 | + } | ||
4 | 241 | ||
242 | + /** | ||
243 | + * 设置 产地 | ||
244 | + * @param place | ||
245 | + */ | ||
246 | + public void setPlace(String place) { | ||
247 | + this.place = place; | ||
248 | + } | ||
5 | } | 249 | } |
src/main/java/com/diligrp/xtrade/product/domain/dto/ProductQueryRequestDto.java
1 | package com.diligrp.xtrade.product.domain.dto; | 1 | package com.diligrp.xtrade.product.domain.dto; |
2 | 2 | ||
3 | +import com.diligrp.xtrade.product.domain.emuns.ProductStatus; | ||
4 | + | ||
3 | public class ProductQueryRequestDto { | 5 | public class ProductQueryRequestDto { |
6 | + //商品业务id | ||
7 | + private Long productId; | ||
8 | + | ||
9 | + //商品名称 | ||
10 | + private String productName; | ||
11 | + | ||
12 | + //品类id | ||
13 | + private Long cateId; | ||
14 | + | ||
15 | + //品类名称 | ||
16 | + private String cateName; | ||
17 | + | ||
18 | + //账户Id | ||
19 | + private Long accountId; | ||
20 | + | ||
21 | + //账户名称 | ||
22 | + private String accountName; | ||
23 | + | ||
24 | + //商品状态 | ||
25 | + private ProductStatus status; | ||
26 | + | ||
27 | + | ||
28 | + | ||
29 | + | ||
30 | + public Long getProductId() { | ||
31 | + return productId; | ||
32 | + } | ||
33 | + | ||
34 | + public void setProductId(Long productId) { | ||
35 | + this.productId = productId; | ||
36 | + } | ||
37 | + | ||
38 | + public String getProductName() { | ||
39 | + return productName; | ||
40 | + } | ||
41 | + | ||
42 | + public void setProductName(String productName) { | ||
43 | + this.productName = productName; | ||
44 | + } | ||
45 | + | ||
46 | + public Long getCateId() { | ||
47 | + return cateId; | ||
48 | + } | ||
49 | + | ||
50 | + public void setCateId(Long cateId) { | ||
51 | + this.cateId = cateId; | ||
52 | + } | ||
53 | + | ||
54 | + public String getCateName() { | ||
55 | + return cateName; | ||
56 | + } | ||
57 | + | ||
58 | + public void setCateName(String cateName) { | ||
59 | + this.cateName = cateName; | ||
60 | + } | ||
61 | + | ||
62 | + public Long getAccountId() { | ||
63 | + return accountId; | ||
64 | + } | ||
65 | + | ||
66 | + public void setAccountId(Long accountId) { | ||
67 | + this.accountId = accountId; | ||
68 | + } | ||
69 | + | ||
70 | + public String getAccountName() { | ||
71 | + return accountName; | ||
72 | + } | ||
73 | + | ||
74 | + public void setAccountName(String accountName) { | ||
75 | + this.accountName = accountName; | ||
76 | + } | ||
77 | + | ||
78 | + | ||
79 | + public ProductStatus getStatus() { | ||
80 | + return status; | ||
81 | + } | ||
4 | 82 | ||
83 | + public void setStatus(ProductStatus status) { | ||
84 | + this.status = status; | ||
85 | + } | ||
86 | + | ||
5 | } | 87 | } |
src/main/java/com/diligrp/xtrade/product/domain/dto/ProductQueryResponseDto.java
0 → 100644
1 | +package com.diligrp.xtrade.product.domain.dto; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | + | ||
5 | +public class ProductQueryResponseDto implements Serializable{ | ||
6 | + //商品业务id | ||
7 | + private Long productId; | ||
8 | + | ||
9 | + //商品名称 | ||
10 | + private String productName; | ||
11 | + | ||
12 | + //品类id | ||
13 | + private Long cateId; | ||
14 | + | ||
15 | + //品类名称 | ||
16 | + private String cateName; | ||
17 | + | ||
18 | + //账户Id | ||
19 | + private Long accountId; | ||
20 | + | ||
21 | + //账户名称 | ||
22 | + private String accountName; | ||
23 | + | ||
24 | + //商品状态 | ||
25 | + private Integer status; | ||
26 | + | ||
27 | + //商品件重 | ||
28 | + private Double unitWeight; | ||
29 | + | ||
30 | + //商品单位 | ||
31 | + private Integer unit; | ||
32 | + | ||
33 | + //商品价格 | ||
34 | + private Long price; | ||
35 | + | ||
36 | + //商品数量 | ||
37 | + private Double amount; | ||
38 | + | ||
39 | + //商品重量 | ||
40 | + private Double weight; | ||
41 | + | ||
42 | + //商品产地 | ||
43 | + private String place; | ||
44 | + | ||
45 | + /** | ||
46 | + * 获取 分类ID | ||
47 | + * @return | ||
48 | + */ | ||
49 | + public Long getCateId() { | ||
50 | + return cateId; | ||
51 | + } | ||
52 | + | ||
53 | + /** | ||
54 | + * 设置 分类ID | ||
55 | + * @param cateId | ||
56 | + */ | ||
57 | + public void setCateId(Long cateId) { | ||
58 | + this.cateId = cateId; | ||
59 | + } | ||
60 | + | ||
61 | + /** | ||
62 | + * 获取 cateName | ||
63 | + * @return | ||
64 | + */ | ||
65 | + public String getCateName() { | ||
66 | + return cateName; | ||
67 | + } | ||
68 | + | ||
69 | + /** | ||
70 | + * 设置 cateName | ||
71 | + * @param cateName | ||
72 | + */ | ||
73 | + public void setCateName(String cateName) { | ||
74 | + this.cateName = cateName; | ||
75 | + } | ||
76 | + | ||
77 | + /** | ||
78 | + * 获取 卖家用户ID | ||
79 | + * @return | ||
80 | + */ | ||
81 | + public Long getAccountId() { | ||
82 | + return accountId; | ||
83 | + } | ||
84 | + | ||
85 | + /** | ||
86 | + * 设置 卖家用户ID | ||
87 | + * @param accountId | ||
88 | + */ | ||
89 | + public void setAccountId(Long accountId) { | ||
90 | + this.accountId = accountId; | ||
91 | + } | ||
92 | + | ||
93 | + /** | ||
94 | + * 获取 卖家用户名 | ||
95 | + * @return | ||
96 | + */ | ||
97 | + public String getAccountName() { | ||
98 | + return accountName; | ||
99 | + } | ||
100 | + | ||
101 | + /** | ||
102 | + * 设置 卖家用户名 | ||
103 | + * @param accountName | ||
104 | + */ | ||
105 | + public void setAccountName(String accountName) { | ||
106 | + this.accountName = accountName; | ||
107 | + } | ||
108 | + | ||
109 | + /** | ||
110 | + * 获取 快捷卖货用 | ||
111 | + * @return | ||
112 | + */ | ||
113 | + public Long getProductId() { | ||
114 | + return productId; | ||
115 | + } | ||
116 | + | ||
117 | + /** | ||
118 | + * 设置 快捷卖货用 | ||
119 | + * @param productCode | ||
120 | + */ | ||
121 | + public void setProductId(Long productId) { | ||
122 | + this.productId = productId; | ||
123 | + } | ||
124 | + | ||
125 | + /** | ||
126 | + * 获取 productName | ||
127 | + * @return | ||
128 | + */ | ||
129 | + public String getProductName() { | ||
130 | + return productName; | ||
131 | + } | ||
132 | + | ||
133 | + /** | ||
134 | + * 设置 productName | ||
135 | + * @param productName | ||
136 | + */ | ||
137 | + public void setProductName(String productName) { | ||
138 | + this.productName = productName; | ||
139 | + } | ||
140 | + | ||
141 | + /** | ||
142 | + * 获取 商品状态 1-生效 2-失效 -1-删除 | ||
143 | + * @return | ||
144 | + */ | ||
145 | + public Integer getStatus() { | ||
146 | + return status; | ||
147 | + } | ||
148 | + | ||
149 | + /** | ||
150 | + * 设置 商品状态 1-生效 2-失效 -1-删除 | ||
151 | + * @param status | ||
152 | + */ | ||
153 | + public void setStatus(Integer status) { | ||
154 | + this.status = status; | ||
155 | + } | ||
156 | + | ||
157 | + /** | ||
158 | + * 获取 数量 | ||
159 | + * @return | ||
160 | + */ | ||
161 | + public Double getUnitWeight() { | ||
162 | + return unitWeight; | ||
163 | + } | ||
164 | + | ||
165 | + /** | ||
166 | + * 设置 数量 | ||
167 | + * @param unitWeight | ||
168 | + */ | ||
169 | + public void setUnitWeight(Double unitWeight) { | ||
170 | + this.unitWeight = unitWeight; | ||
171 | + } | ||
172 | + | ||
173 | + public Double getAmount() { | ||
174 | + return amount; | ||
175 | + } | ||
176 | + | ||
177 | + public void setAmount(Double amount) { | ||
178 | + this.amount = amount; | ||
179 | + } | ||
180 | + | ||
181 | + /** | ||
182 | + * 获取 入库单位1件2斤 | ||
183 | + * @return | ||
184 | + */ | ||
185 | + public Integer getUnit() { | ||
186 | + return unit; | ||
187 | + } | ||
188 | + | ||
189 | + /** | ||
190 | + * 设置 入库单位1件2斤 | ||
191 | + * @param productUnit | ||
192 | + */ | ||
193 | + public void setUnit(Integer unit) { | ||
194 | + this.unit = unit; | ||
195 | + } | ||
196 | + | ||
197 | + /** | ||
198 | + * 获取 单价 | ||
199 | + * @return | ||
200 | + */ | ||
201 | + public Long getPrice() { | ||
202 | + return price; | ||
203 | + } | ||
204 | + | ||
205 | + /** | ||
206 | + * 设置 单价 | ||
207 | + * @param price | ||
208 | + */ | ||
209 | + public void setPrice(Long price) { | ||
210 | + this.price = price; | ||
211 | + } | ||
212 | + | ||
213 | + /** | ||
214 | + * 获取 总重量 | ||
215 | + * @return | ||
216 | + */ | ||
217 | + public Double getWeight() { | ||
218 | + return weight; | ||
219 | + } | ||
220 | + | ||
221 | + /** | ||
222 | + * 设置 总重量 | ||
223 | + * @param weight | ||
224 | + */ | ||
225 | + public void setWeight(Double weight) { | ||
226 | + this.weight = weight; | ||
227 | + } | ||
228 | + | ||
229 | + /** | ||
230 | + * 获取 产地 | ||
231 | + * @return | ||
232 | + */ | ||
233 | + public String getPlace() { | ||
234 | + return place; | ||
235 | + } | ||
236 | + | ||
237 | + /** | ||
238 | + * 设置 产地 | ||
239 | + * @param place | ||
240 | + */ | ||
241 | + public void setPlace(String place) { | ||
242 | + this.place = place; | ||
243 | + } | ||
244 | +} |
src/main/java/com/diligrp/xtrade/product/domain/dto/ProductQueryResponsetDto.java deleted
100644 → 0
src/main/java/com/diligrp/xtrade/product/domain/emuns/IKeyGeneratorKeys.java
@@ -12,6 +12,7 @@ public enum IKeyGeneratorKeys { | @@ -12,6 +12,7 @@ public enum IKeyGeneratorKeys { | ||
12 | SHOP_SEQUENCE("SHOP_SEQUENCE", "店铺id"), | 12 | SHOP_SEQUENCE("SHOP_SEQUENCE", "店铺id"), |
13 | MERCHANT_SEQUENCE("MERCHANT_SEQUENCE", "市场id"), | 13 | MERCHANT_SEQUENCE("MERCHANT_SEQUENCE", "市场id"), |
14 | ACCOUNT_SEQUENCE("ACCOUNT_SEQUENCE", "账号id"), | 14 | ACCOUNT_SEQUENCE("ACCOUNT_SEQUENCE", "账号id"), |
15 | + PRODUCT_SEQUENCE("PRODUCT_SEQUENCE", "商品id"), | ||
15 | ; | 16 | ; |
16 | 17 | ||
17 | private String code; | 18 | private String code; |
src/main/java/com/diligrp/xtrade/product/domain/emuns/ProductStatus.java
1 | package com.diligrp.xtrade.product.domain.emuns; | 1 | package com.diligrp.xtrade.product.domain.emuns; |
2 | 2 | ||
3 | -public enum ProductStatus { | 3 | +import java.util.Arrays; |
4 | + | ||
5 | +import com.diligrp.xtrade.shared.type.IEnumType; | ||
6 | +import com.fasterxml.jackson.annotation.JsonCreator; | ||
7 | +import com.fasterxml.jackson.annotation.JsonValue; | ||
8 | + | ||
9 | +public enum ProductStatus implements IEnumType { | ||
10 | + | ||
11 | + /**删除*/ | ||
12 | + DELETED(-1, "已删除"), | ||
13 | + /**未上架*/ | ||
14 | + UNSHELF(1, "未上架"), | ||
15 | + /**上架*/ | ||
16 | + UPPERSHELF(2, "上架"), | ||
17 | + /**下架*/ | ||
18 | + LOWERSHELF(3, "下架"); | ||
19 | + | ||
20 | + | ||
21 | + private int code; | ||
22 | + private String name; | ||
23 | + | ||
24 | + ProductStatus(int code, String name) { | ||
25 | + this.name = name; | ||
26 | + this.code = code; | ||
27 | + } | ||
28 | + | ||
29 | + @JsonCreator | ||
30 | + public static ProductStatus getProductStatus(int code) { | ||
31 | + return Arrays.stream(ProductStatus.values()) | ||
32 | + .filter(status -> status.getCode() == code) | ||
33 | + .findFirst() | ||
34 | + .orElse(null); | ||
35 | + } | ||
36 | + | ||
37 | + public static String getName(int code) { | ||
38 | + return Arrays.stream(ProductStatus.values()) | ||
39 | + .filter(status -> status.getCode() == code) | ||
40 | + .findFirst() | ||
41 | + .map(status -> status.name) | ||
42 | + .orElse(null); | ||
43 | + } | ||
44 | + | ||
45 | + @Override | ||
46 | + public String getName() { | ||
47 | + return this.name; | ||
48 | + } | ||
49 | + | ||
50 | + @Override | ||
51 | + @JsonValue | ||
52 | + public int getCode() { | ||
53 | + return this.code; | ||
54 | + } | ||
4 | 55 | ||
5 | } | 56 | } |
src/main/java/com/diligrp/xtrade/product/service/ProductService.java
1 | package com.diligrp.xtrade.product.service; | 1 | package com.diligrp.xtrade.product.service; |
2 | 2 | ||
3 | -import java.util.List; | ||
4 | - | ||
5 | import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; | 3 | import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; |
6 | import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; | 4 | import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; |
7 | -import com.diligrp.xtrade.product.domain.dto.ProductQueryResponsetDto; | 5 | +import com.diligrp.xtrade.product.domain.dto.ProductQueryResponseDto; |
6 | +import com.diligrp.xtrade.shared.domain.Page; | ||
8 | 7 | ||
9 | public interface ProductService { | 8 | public interface ProductService { |
10 | 9 | ||
11 | void createProduct(ProductCreateRequestDto productCreateRequestDto); | 10 | void createProduct(ProductCreateRequestDto productCreateRequestDto); |
12 | 11 | ||
13 | - List<ProductQueryResponsetDto> orderLists(ProductQueryRequestDto productQueryRequestDto); | 12 | + Page<ProductQueryResponseDto> productLists(ProductQueryRequestDto productQueryRequestDto); |
14 | 13 | ||
15 | - ProductQueryResponsetDto orderDetail(ProductQueryRequestDto productQueryRequestDto); | 14 | + ProductQueryResponseDto productDetail(Long productId); |
16 | 15 | ||
17 | } | 16 | } |
src/main/java/com/diligrp/xtrade/product/service/impl/ProductServiceImpl.java
1 | package com.diligrp.xtrade.product.service.impl; | 1 | package com.diligrp.xtrade.product.service.impl; |
2 | 2 | ||
3 | +import java.util.ArrayList; | ||
3 | import java.util.List; | 4 | import java.util.List; |
4 | 5 | ||
6 | +import javax.annotation.Resource; | ||
7 | + | ||
8 | +import org.springframework.beans.BeanUtils; | ||
5 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; |
6 | 10 | ||
11 | +import com.diligrp.xtrade.product.dao.ProductDao; | ||
12 | +import com.diligrp.xtrade.product.domain.builder.ProductBuilder; | ||
7 | import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; | 13 | import com.diligrp.xtrade.product.domain.dto.ProductCreateRequestDto; |
8 | import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; | 14 | import com.diligrp.xtrade.product.domain.dto.ProductQueryRequestDto; |
9 | -import com.diligrp.xtrade.product.domain.dto.ProductQueryResponsetDto; | 15 | +import com.diligrp.xtrade.product.domain.dto.ProductQueryResponseDto; |
16 | +import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | ||
17 | +import com.diligrp.xtrade.product.domain.entity.ProductDo; | ||
10 | import com.diligrp.xtrade.product.service.ProductService; | 18 | import com.diligrp.xtrade.product.service.ProductService; |
19 | +import com.diligrp.xtrade.shared.domain.Page; | ||
20 | +import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | ||
11 | 21 | ||
12 | @Service("productService") | 22 | @Service("productService") |
13 | public class ProductServiceImpl implements ProductService { | 23 | public class ProductServiceImpl implements ProductService { |
14 | 24 | ||
25 | + @Resource ProductDao productDao; | ||
26 | + @Resource KeyGeneratorManager keyGeneratorManager; | ||
27 | + | ||
15 | @Override | 28 | @Override |
16 | public void createProduct(ProductCreateRequestDto productCreateRequestDto) { | 29 | public void createProduct(ProductCreateRequestDto productCreateRequestDto) { |
17 | - | 30 | + Long productId = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.PRODUCT_SEQUENCE).nextId(); |
31 | + productCreateRequestDto.setProductId(productId); | ||
32 | + ProductDo productDo = ProductBuilder.buildDoFromCreate(productCreateRequestDto); | ||
33 | + productDao.insertEntity(productDo); | ||
18 | } | 34 | } |
19 | 35 | ||
20 | @Override | 36 | @Override |
21 | - public List<ProductQueryResponsetDto> orderLists(ProductQueryRequestDto productQueryRequestDto) { | ||
22 | - return null; | 37 | + public Page<ProductQueryResponseDto> productLists(ProductQueryRequestDto queryDto) { |
38 | + Page<ProductQueryResponseDto> productPage = new Page<ProductQueryResponseDto>(); | ||
39 | + List<ProductQueryResponseDto> productList = new ArrayList<ProductQueryResponseDto>(); | ||
40 | + ProductDo product = new ProductDo(); | ||
41 | + BeanUtils.copyProperties(queryDto, product); | ||
42 | + int total = productDao.selectEntryListCount(product); | ||
43 | + if (total == 0) { | ||
44 | + return productPage; | ||
45 | + } | ||
46 | + List<ProductDo> productDos = productDao.selectEntryList(product); | ||
47 | + for (ProductDo productDo : productDos) { | ||
48 | + ProductQueryResponseDto productQueryResponseDto = new ProductQueryResponseDto(); | ||
49 | + BeanUtils.copyProperties(productDo, productQueryResponseDto); | ||
50 | + productList.add(productQueryResponseDto); | ||
51 | + } | ||
52 | + productPage.setTotal(total); | ||
53 | + productPage.setData(productList); | ||
54 | + return productPage; | ||
23 | } | 55 | } |
24 | 56 | ||
25 | @Override | 57 | @Override |
26 | - public ProductQueryResponsetDto orderDetail(ProductQueryRequestDto productQueryRequestDto) { | ||
27 | - return null; | 58 | + public ProductQueryResponseDto productDetail(Long productId) { |
59 | + return ProductBuilder.buildDoToQueryResponse(productDao.selectEntryById(productId)); | ||
28 | } | 60 | } |
29 | 61 | ||
30 | } | 62 | } |
src/main/resources/mapping/com/diligrp/xtrade/product/ProductDao.xml
@@ -65,14 +65,11 @@ | @@ -65,14 +65,11 @@ | ||
65 | <insert id="insertEntry" parameterType="productDo"> | 65 | <insert id="insertEntry" parameterType="productDo"> |
66 | <![CDATA[ | 66 | <![CDATA[ |
67 | INSERT INTO xt_product (id,product_id,product_name,cate_id,cname,account_id,account_name,price,unit_weight,unit,amount,weight,status,place,created_time,modified_time) | 67 | INSERT INTO xt_product (id,product_id,product_name,cate_id,cname,account_id,account_name,price,unit_weight,unit,amount,weight,status,place,created_time,modified_time) |
68 | - VALUES (#{id},#{productId},#{productName},#{cateId},#{cname},#{accountId},#{accountName},#{price},#{unitWeight},#{unit},#{amount},#{weight},#{status},#{place},#{createdTime},#{modifiedTime}) | 68 | + VALUES (#{id},#{productId},#{productName},#{cateId},#{cname},#{accountId},#{accountName},#{price},#{unitWeight},#{unit},#{amount},#{weight},1,#{status},#{place},now(),now()) |
69 | ]]> | 69 | ]]> |
70 | </insert> | 70 | </insert> |
71 | 71 | ||
72 | - <!-- 返回插入的编号,在事务开启状态下有效 --> | ||
73 | - <select id="lastSequence" resultType="int"><![CDATA[SELECT LAST_INSERT_ID() AS id]]></select> | ||
74 | - | ||
75 | - <!-- 删除记录,主键IN(array) --> | 72 | + <!-- 批量删除记录,主键IN(array) --> |
76 | <delete id="deleteByArrayKey" | 73 | <delete id="deleteByArrayKey" |
77 | parameterType="java.lang.reflect.Array"> | 74 | parameterType="java.lang.reflect.Array"> |
78 | <![CDATA[DELETE FROM xt_product WHERE id IN]]> | 75 | <![CDATA[DELETE FROM xt_product WHERE id IN]]> |