Commit 2f9f2b83d8fb9971acc4d9ba9d51a7d074049515
Merge branch 'master' of http://git3.nong12.com/xtrade/order-service
Showing
34 changed files
with
541 additions
and
350 deletions
pom.xml
@@ -26,7 +26,7 @@ | @@ -26,7 +26,7 @@ | ||
26 | </properties> | 26 | </properties> |
27 | 27 | ||
28 | <dependencies> | 28 | <dependencies> |
29 | - | 29 | + |
30 | <dependency> | 30 | <dependency> |
31 | <groupId>com.diligrp</groupId> | 31 | <groupId>com.diligrp</groupId> |
32 | <artifactId>xtrade-shared-spring-boot-starter</artifactId> | 32 | <artifactId>xtrade-shared-spring-boot-starter</artifactId> |
@@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
38 | <artifactId>xxl-job-core</artifactId> | 38 | <artifactId>xxl-job-core</artifactId> |
39 | <version>${xxl-job.version}</version> | 39 | <version>${xxl-job.version}</version> |
40 | </dependency> --> | 40 | </dependency> --> |
41 | - | 41 | + |
42 | <dependency> | 42 | <dependency> |
43 | <groupId>com.alibaba.cloud</groupId> | 43 | <groupId>com.alibaba.cloud</groupId> |
44 | <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> | 44 | <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
@@ -54,13 +54,13 @@ | @@ -54,13 +54,13 @@ | ||
54 | <artifactId>nacos-client</artifactId> | 54 | <artifactId>nacos-client</artifactId> |
55 | <version>${nacos-client.version}</version> | 55 | <version>${nacos-client.version}</version> |
56 | </dependency> | 56 | </dependency> |
57 | - | 57 | + |
58 | <dependency> | 58 | <dependency> |
59 | <groupId>com.alibaba.nacos</groupId> | 59 | <groupId>com.alibaba.nacos</groupId> |
60 | <artifactId>nacos-api</artifactId> | 60 | <artifactId>nacos-api</artifactId> |
61 | <version>${nacos-client.version}</version> | 61 | <version>${nacos-client.version}</version> |
62 | </dependency> | 62 | </dependency> |
63 | - | 63 | + |
64 | <dependency> | 64 | <dependency> |
65 | <groupId>org.springframework.boot</groupId> | 65 | <groupId>org.springframework.boot</groupId> |
66 | <artifactId>spring-boot-configuration-processor</artifactId> | 66 | <artifactId>spring-boot-configuration-processor</artifactId> |
@@ -118,12 +118,6 @@ | @@ -118,12 +118,6 @@ | ||
118 | <groupId>org.springframework.boot</groupId> | 118 | <groupId>org.springframework.boot</groupId> |
119 | <artifactId>spring-boot-starter-test</artifactId> | 119 | <artifactId>spring-boot-starter-test</artifactId> |
120 | <scope>test</scope> | 120 | <scope>test</scope> |
121 | - <exclusions> | ||
122 | - <exclusion> | ||
123 | - <groupId>org.junit.vintage</groupId> | ||
124 | - <artifactId>junit-vintage-engine</artifactId> | ||
125 | - </exclusion> | ||
126 | - </exclusions> | ||
127 | </dependency> | 121 | </dependency> |
128 | </dependencies> | 122 | </dependencies> |
129 | 123 |
src/main/java/com/diligrp/xtrade/order/dao/OrderItemDao.java
@@ -44,7 +44,7 @@ public interface OrderItemDao { | @@ -44,7 +44,7 @@ public interface OrderItemDao { | ||
44 | * @return | 44 | * @return |
45 | * @throws | 45 | * @throws |
46 | */ | 46 | */ |
47 | - List<OrderItemDo> selectOrderItemByOrderId(@Param("orderId") Long orderId); | 47 | + List<OrderItemDo> selectItemsByOrderId(@Param("orderId") Long orderId); |
48 | 48 | ||
49 | /** | 49 | /** |
50 | * | 50 | * |
src/main/java/com/diligrp/xtrade/order/domain/builder/DefaultOrderBuilder.java
0 → 100644
1 | +package com.diligrp.xtrade.order.domain.builder; | ||
2 | + | ||
3 | +import java.math.BigDecimal; | ||
4 | +import java.math.RoundingMode; | ||
5 | +import java.util.List; | ||
6 | + | ||
7 | +import com.diligrp.xtrade.order.domain.dto.AccountDto; | ||
8 | +import com.diligrp.xtrade.order.domain.dto.OrderItemDto; | ||
9 | +import com.diligrp.xtrade.order.domain.dto.OrderQueryResponseDto; | ||
10 | +import com.diligrp.xtrade.order.domain.emuns.OrderType; | ||
11 | +import com.diligrp.xtrade.order.domain.emuns.SaleUnit; | ||
12 | +import com.diligrp.xtrade.order.domain.emuns.TradeType; | ||
13 | +import com.diligrp.xtrade.order.domain.entity.OrderDo; | ||
14 | +import com.diligrp.xtrade.order.domain.entity.OrderItemDo; | ||
15 | +import com.diligrp.xtrade.order.exception.OrderException; | ||
16 | + | ||
17 | +/** | ||
18 | + * @ClassName: DefaultOrderCreator | ||
19 | + * @Description 订单实体相关模型 | ||
20 | + * @author zhangxing | ||
21 | + * @date 2020年4月21日 | ||
22 | + */ | ||
23 | +public class DefaultOrderBuilder { | ||
24 | + | ||
25 | + /** | ||
26 | + * 构建初始订单数据 TODO need modify because of change | ||
27 | + */ | ||
28 | + public static OrderDo initializeOrderBaseData(Long orderId, AccountDto saccountDto, Integer createSrc) { | ||
29 | + OrderDo order = new OrderDo(); | ||
30 | + order.setOrderId(orderId); | ||
31 | + order.setBaccount(saccountDto.getAccountId()); | ||
32 | + order.setSname(saccountDto.getAccountName()); | ||
33 | + order.setSmobile(saccountDto.getMobile()); | ||
34 | + order.setScardType(saccountDto.getType()); | ||
35 | + order.setCreatedSrc(createSrc); | ||
36 | + order.setOrderType(OrderType.NORMAL.getCode()); | ||
37 | + order.setTradeType(TradeType.NORMAL.getCode()); | ||
38 | + order.setMarketCode("SYDEV"); | ||
39 | + return order; | ||
40 | + } | ||
41 | + | ||
42 | + /** | ||
43 | + * 订单详情初始化数据 TODO need modify because of change | ||
44 | + */ | ||
45 | + public static OrderItemDo initializeItemData(Long itemId, Long orderId, OrderItemDto orderItem){ | ||
46 | + OrderItemDo orderItemDo = new OrderItemDo(); | ||
47 | + orderItemDo.setItemId(itemId); | ||
48 | + orderItemDo.setOrderId(orderId); | ||
49 | + orderItemDo.setProductId(orderItem.getPid()); | ||
50 | + orderItemDo.setProductName(orderItem.getPname()); | ||
51 | + // 销售单价 | ||
52 | + BigDecimal price = BigDecimal.valueOf(orderItem.getPrice()); | ||
53 | + // 销售数量 | ||
54 | + BigDecimal amount = BigDecimal.valueOf(orderItem.getAmount()); | ||
55 | + | ||
56 | + orderItemDo.setAmount(orderItem.getAmount()); | ||
57 | + | ||
58 | + BigDecimal tempWeight = BigDecimal.valueOf(0.0D); | ||
59 | + | ||
60 | + if (SaleUnit.KILO.getCode() == orderItem.getSaleUnit()) { | ||
61 | + tempWeight = BigDecimal.valueOf(orderItem.getAmount()); | ||
62 | + } else if (SaleUnit.PIECE.getCode() == orderItem.getSaleUnit()) { | ||
63 | + if (orderItem.getUnitWeight() == null || orderItem.getUnitWeight() < 0) { | ||
64 | + throw new OrderException(String.format("%s件重非法", orderItem.getPname())); | ||
65 | + } | ||
66 | + BigDecimal dKiloPerItem = BigDecimal.valueOf(orderItem.getUnitWeight()); | ||
67 | + tempWeight = amount.multiply(dKiloPerItem); | ||
68 | + } | ||
69 | + orderItemDo.setWeight(tempWeight.doubleValue()); | ||
70 | + Long itemMoney = price.multiply(amount).setScale(0, RoundingMode.HALF_UP).longValue(); | ||
71 | + orderItemDo.setMoney(itemMoney); | ||
72 | + return orderItemDo; | ||
73 | + } | ||
74 | + | ||
75 | + /** | ||
76 | + * 构建基本的订单详情数据 TODO need modify because of change | ||
77 | + */ | ||
78 | + public static OrderQueryResponseDto buildOrderDetail(OrderDo order, | ||
79 | + List<OrderItemDo> orderItem) { | ||
80 | + OrderQueryResponseDto orderQueryResponseDto = new OrderQueryResponseDto(); | ||
81 | + return orderQueryResponseDto; | ||
82 | + } | ||
83 | + | ||
84 | +} |
src/main/java/com/diligrp/xtrade/order/domain/builder/DefaultOrderCreator.java deleted
100644 → 0
1 | -package com.diligrp.xtrade.order.domain.builder; | ||
2 | - | ||
3 | -import org.springframework.beans.BeanUtils; | ||
4 | - | ||
5 | -import com.diligrp.xtrade.order.domain.dto.AccountDto; | ||
6 | -import com.diligrp.xtrade.order.domain.dto.OrderCreateRequestDto; | ||
7 | -import com.diligrp.xtrade.order.domain.entity.OrderDo; | ||
8 | - | ||
9 | -/** | ||
10 | - * @ClassName: DefaultOrderCreator | ||
11 | - * @Description 订单实体相关模型 | ||
12 | - * @author zhangxing | ||
13 | - * @date 2020年4月21日 | ||
14 | - */ | ||
15 | -public class DefaultOrderCreator { | ||
16 | - | ||
17 | - //最终订单数据 | ||
18 | - private OrderDo order; | ||
19 | - | ||
20 | - //订单创建请求实体 | ||
21 | - private OrderCreateRequestDto orderCreateRequestDto; | ||
22 | - | ||
23 | - //卖家实体 | ||
24 | - private AccountDto saccountDto; | ||
25 | - | ||
26 | - //买家实体 | ||
27 | - private AccountDto baccountDto; | ||
28 | - | ||
29 | - //无参构造器 | ||
30 | - public DefaultOrderCreator(){ | ||
31 | - | ||
32 | - } | ||
33 | - | ||
34 | - public DefaultOrderCreator(OrderCreateRequestDto orderCreateRequestDto, AccountDto saccountDto, AccountDto baccountDto){ | ||
35 | - this.orderCreateRequestDto = orderCreateRequestDto; | ||
36 | - this.baccountDto = baccountDto; | ||
37 | - this.saccountDto = saccountDto; | ||
38 | - } | ||
39 | - | ||
40 | - /** | ||
41 | - * 初始化订单数据用于后面的校验 | ||
42 | - */ | ||
43 | - public void initialize() { | ||
44 | - | ||
45 | - } | ||
46 | - | ||
47 | - public OrderDo getOrder() { | ||
48 | - return order; | ||
49 | - } | ||
50 | - | ||
51 | - public void setOrder(OrderDo order) { | ||
52 | - this.order = order; | ||
53 | - } | ||
54 | - | ||
55 | - public OrderCreateRequestDto getOrderCreateRequestDto() { | ||
56 | - return orderCreateRequestDto; | ||
57 | - } | ||
58 | - | ||
59 | - public void setOrderCreateRequestDto(OrderCreateRequestDto orderCreateRequestDto) { | ||
60 | - this.orderCreateRequestDto = orderCreateRequestDto; | ||
61 | - } | ||
62 | - | ||
63 | - public AccountDto getSaccountDto() { | ||
64 | - return saccountDto; | ||
65 | - } | ||
66 | - | ||
67 | - public void setSaccountDto(AccountDto saccountDto) { | ||
68 | - this.saccountDto = saccountDto; | ||
69 | - } | ||
70 | - | ||
71 | - public AccountDto getBaccountDto() { | ||
72 | - return baccountDto; | ||
73 | - } | ||
74 | - | ||
75 | - public void setBaccountDto(AccountDto baccountDto) { | ||
76 | - this.baccountDto = baccountDto; | ||
77 | - } | ||
78 | - | ||
79 | - public static OrderDo build(OrderCreateRequestDto orderCreateRequestDto) { | ||
80 | - OrderDo orderDo = new OrderDo(); | ||
81 | - BeanUtils.copyProperties(orderCreateRequestDto, orderDo); | ||
82 | - return orderDo; | ||
83 | - } | ||
84 | -} |
src/main/java/com/diligrp/xtrade/order/domain/entity/OrderDo.java
@@ -70,6 +70,9 @@ public class OrderDo extends BaseDo{ | @@ -70,6 +70,9 @@ public class OrderDo extends BaseDo{ | ||
70 | 70 | ||
71 | //订单类型 | 71 | //订单类型 |
72 | private Integer orderType; | 72 | private Integer orderType; |
73 | + | ||
74 | + //订单类型 | ||
75 | + private Integer tradeType; | ||
73 | 76 | ||
74 | //支付方式 | 77 | //支付方式 |
75 | private Integer payType; | 78 | private Integer payType; |
@@ -263,6 +266,14 @@ public class OrderDo extends BaseDo{ | @@ -263,6 +266,14 @@ public class OrderDo extends BaseDo{ | ||
263 | public void setOrderType(Integer orderType) { | 266 | public void setOrderType(Integer orderType) { |
264 | this.orderType = orderType; | 267 | this.orderType = orderType; |
265 | } | 268 | } |
269 | + | ||
270 | + public Integer getTradeType() { | ||
271 | + return tradeType; | ||
272 | + } | ||
273 | + | ||
274 | + public void setTradeType(Integer tradeType) { | ||
275 | + this.tradeType = tradeType; | ||
276 | + } | ||
266 | 277 | ||
267 | 278 | ||
268 | } | 279 | } |
src/main/java/com/diligrp/xtrade/order/rpc/feign/AccountResolver.java
0 → 100644
1 | +package com.diligrp.xtrade.order.rpc.feign; | ||
2 | + | ||
3 | +import javax.annotation.Resource; | ||
4 | + | ||
5 | +import org.springframework.http.HttpStatus; | ||
6 | +import org.springframework.stereotype.Component; | ||
7 | + | ||
8 | +import com.diligrp.xtrade.order.domain.dto.AccountDto; | ||
9 | +import com.diligrp.xtrade.order.exception.OrderException; | ||
10 | +import com.diligrp.xtrade.shared.domain.Message; | ||
11 | + | ||
12 | +/** | ||
13 | + * @ClassName: AccountResolver | ||
14 | + * @Description 远程卡务调用解析 | ||
15 | + * @author zhangxing | ||
16 | + * @date 2020年4月22日 | ||
17 | + */ | ||
18 | +@Component | ||
19 | +public class AccountResolver { | ||
20 | + | ||
21 | + @Resource | ||
22 | + private AccountRPC accountRPC; | ||
23 | + | ||
24 | + /** | ||
25 | + * 根据id获取账户信息 | ||
26 | + */ | ||
27 | + public AccountDto getAccount(Long accountId) { | ||
28 | + Message<AccountDto> message = accountRPC.getDltAccount(accountId); | ||
29 | + if (!HttpStatus.OK.equals(message.getCode())) { | ||
30 | + throw new OrderException(message.getMessage()); | ||
31 | + } | ||
32 | + return message.getData(); | ||
33 | + } | ||
34 | +} |
src/main/java/com/diligrp/xtrade/order/service/OrderService.java
@@ -19,7 +19,7 @@ public interface OrderService { | @@ -19,7 +19,7 @@ public interface OrderService { | ||
19 | * @Title createOrder | 19 | * @Title createOrder |
20 | * @Description 创建订单 | 20 | * @Description 创建订单 |
21 | */ | 21 | */ |
22 | - void createOrder(OrderCreateRequestDto orderCreateRequestDto); | 22 | + void createOrder(OrderCreateRequestDto orderCreateDto); |
23 | 23 | ||
24 | /** | 24 | /** |
25 | * @Title orderLists | 25 | * @Title orderLists |
src/main/java/com/diligrp/xtrade/order/service/impl/OrderServiceImpl.java
1 | package com.diligrp.xtrade.order.service.impl; | 1 | package com.diligrp.xtrade.order.service.impl; |
2 | 2 | ||
3 | +import java.math.BigDecimal; | ||
3 | import java.util.ArrayList; | 4 | import java.util.ArrayList; |
4 | import java.util.List; | 5 | import java.util.List; |
5 | 6 | ||
@@ -7,38 +8,66 @@ import javax.annotation.Resource; | @@ -7,38 +8,66 @@ import javax.annotation.Resource; | ||
7 | 8 | ||
8 | import org.springframework.beans.BeanUtils; | 9 | import org.springframework.beans.BeanUtils; |
9 | import org.springframework.stereotype.Service; | 10 | import org.springframework.stereotype.Service; |
11 | +import org.springframework.transaction.annotation.Transactional; | ||
10 | 12 | ||
11 | import com.diligrp.xtrade.order.dao.OrderDao; | 13 | import com.diligrp.xtrade.order.dao.OrderDao; |
12 | -import com.diligrp.xtrade.order.domain.builder.DefaultOrderCreator; | 14 | +import com.diligrp.xtrade.order.dao.OrderItemDao; |
15 | +import com.diligrp.xtrade.order.domain.builder.DefaultOrderBuilder; | ||
16 | +import com.diligrp.xtrade.order.domain.dto.AccountDto; | ||
13 | import com.diligrp.xtrade.order.domain.dto.OrderCreateRequestDto; | 17 | import com.diligrp.xtrade.order.domain.dto.OrderCreateRequestDto; |
18 | +import com.diligrp.xtrade.order.domain.dto.OrderItemDto; | ||
14 | import com.diligrp.xtrade.order.domain.dto.OrderQueryRequestDto; | 19 | import com.diligrp.xtrade.order.domain.dto.OrderQueryRequestDto; |
15 | import com.diligrp.xtrade.order.domain.dto.OrderQueryResponseDto; | 20 | import com.diligrp.xtrade.order.domain.dto.OrderQueryResponseDto; |
16 | import com.diligrp.xtrade.order.domain.emuns.IdGenerator; | 21 | import com.diligrp.xtrade.order.domain.emuns.IdGenerator; |
17 | import com.diligrp.xtrade.order.domain.entity.OrderDo; | 22 | import com.diligrp.xtrade.order.domain.entity.OrderDo; |
23 | +import com.diligrp.xtrade.order.domain.entity.OrderItemDo; | ||
24 | +import com.diligrp.xtrade.order.rpc.feign.AccountResolver; | ||
18 | import com.diligrp.xtrade.order.service.OrderService; | 25 | import com.diligrp.xtrade.order.service.OrderService; |
19 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | 26 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; |
20 | 27 | ||
21 | @Service("orderService") | 28 | @Service("orderService") |
22 | public class OrderServiceImpl implements OrderService { | 29 | public class OrderServiceImpl implements OrderService { |
23 | - | ||
24 | - @Resource | 30 | + |
31 | + @Resource | ||
25 | private OrderDao orderDao; | 32 | private OrderDao orderDao; |
26 | - | ||
27 | - @Resource | ||
28 | - KeyGeneratorManager keyGeneratorManager; | ||
29 | - | 33 | + |
34 | + @Resource | ||
35 | + private OrderItemDao orderItemDao; | ||
36 | + | ||
37 | + @Resource | ||
38 | + private KeyGeneratorManager keyGeneratorManager; | ||
39 | + | ||
40 | + @Resource | ||
41 | + private AccountResolver accountResolver; | ||
42 | + | ||
43 | + // TODO need modify because of change | ||
30 | @Override | 44 | @Override |
31 | - public void createOrder(OrderCreateRequestDto orderCreateRequestDto) { | ||
32 | - OrderDo order = DefaultOrderCreator.build(orderCreateRequestDto); | ||
33 | - order.setOrderId(keyGeneratorManager.getKeyGenerator(IdGenerator.ORDER_SEQUENCE).nextId()); | 45 | + @Transactional(rollbackFor = Exception.class) |
46 | + public void createOrder(OrderCreateRequestDto orderCreateDto) { | ||
47 | + Long orderId = getOrderKey(); | ||
48 | + AccountDto saccountDto = accountResolver.getAccount(orderCreateDto.getSaccount()); | ||
49 | + OrderDo order = DefaultOrderBuilder.initializeOrderBaseData(orderId, saccountDto, | ||
50 | + orderCreateDto.getCreatedSrc()); | ||
51 | + Long totalMoney = 0L; | ||
52 | + BigDecimal weight = BigDecimal.valueOf(0.0D); | ||
53 | + List<OrderItemDo> orderItemDos = new ArrayList<OrderItemDo>(); | ||
54 | + for (OrderItemDto orderItem : orderCreateDto.getItems()) { | ||
55 | + // 订单详情数据封装 | ||
56 | + OrderItemDo orderItemDo = DefaultOrderBuilder.initializeItemData(getOrderItemKey(), orderId, orderItem); | ||
57 | + totalMoney += orderItemDo.getMoney(); | ||
58 | + weight = weight.add(BigDecimal.valueOf(orderItemDo.getWeight())); | ||
59 | + orderItemDos.add(orderItemDo); | ||
60 | + } | ||
61 | + orderItemDao.insertBatch(orderItemDos); | ||
34 | orderDao.insertEntity(order); | 62 | orderDao.insertEntity(order); |
35 | } | 63 | } |
36 | 64 | ||
65 | + // TODO need modify because of change | ||
37 | @Override | 66 | @Override |
38 | public List<OrderQueryResponseDto> orderLists(OrderQueryRequestDto orderQueryRequestDto) { | 67 | public List<OrderQueryResponseDto> orderLists(OrderQueryRequestDto orderQueryRequestDto) { |
39 | OrderDo order = new OrderDo(); | 68 | OrderDo order = new OrderDo(); |
40 | BeanUtils.copyProperties(orderQueryRequestDto, order); | 69 | BeanUtils.copyProperties(orderQueryRequestDto, order); |
41 | - List<OrderDo> orderDos = orderDao.selectEntryList(order); | 70 | + List<OrderDo> orderDos = orderDao.selectEntryList(order); |
42 | List<OrderQueryResponseDto> roResponseDtos = new ArrayList<OrderQueryResponseDto>(); | 71 | List<OrderQueryResponseDto> roResponseDtos = new ArrayList<OrderQueryResponseDto>(); |
43 | for (OrderDo orderDo : orderDos) { | 72 | for (OrderDo orderDo : orderDos) { |
44 | OrderQueryResponseDto orderQueryResponseDto = new OrderQueryResponseDto(); | 73 | OrderQueryResponseDto orderQueryResponseDto = new OrderQueryResponseDto(); |
@@ -48,12 +77,26 @@ public class OrderServiceImpl implements OrderService { | @@ -48,12 +77,26 @@ public class OrderServiceImpl implements OrderService { | ||
48 | return roResponseDtos; | 77 | return roResponseDtos; |
49 | } | 78 | } |
50 | 79 | ||
80 | + // TODO need modify because of change | ||
51 | @Override | 81 | @Override |
52 | public OrderQueryResponseDto orderDetail(Long orderId) { | 82 | public OrderQueryResponseDto orderDetail(Long orderId) { |
53 | - OrderDo order = orderDao.selectEntityByOrderId(orderId); | ||
54 | - OrderQueryResponseDto queryResponseDto = new OrderQueryResponseDto(); | ||
55 | - BeanUtils.copyProperties(order, queryResponseDto); | ||
56 | - return queryResponseDto; | 83 | + OrderQueryResponseDto orderQueryResponseDto = DefaultOrderBuilder |
84 | + .buildOrderDetail(orderDao.selectEntityByOrderId(orderId), orderItemDao.selectItemsByOrderId(orderId)); | ||
85 | + return orderQueryResponseDto; | ||
86 | + } | ||
87 | + | ||
88 | + /** | ||
89 | + * 获取订单业务主键 | ||
90 | + */ | ||
91 | + private Long getOrderKey() { | ||
92 | + return keyGeneratorManager.getKeyGenerator(IdGenerator.ORDER_SEQUENCE).nextId(); | ||
93 | + } | ||
94 | + | ||
95 | + /** | ||
96 | + * 获取订单详情主键 | ||
97 | + */ | ||
98 | + private Long getOrderItemKey() { | ||
99 | + return keyGeneratorManager.getKeyGenerator(IdGenerator.ORDER_ITEM_SEQUENCE).nextId(); | ||
57 | } | 100 | } |
58 | 101 | ||
59 | } | 102 | } |
src/main/java/com/diligrp/xtrade/product/controllor/MerchantController.java
@@ -24,6 +24,11 @@ public class MerchantController { | @@ -24,6 +24,11 @@ public class MerchantController { | ||
24 | @Autowired | 24 | @Autowired |
25 | private MerchantService merchantService; | 25 | private MerchantService merchantService; |
26 | 26 | ||
27 | + /** | ||
28 | + * 新建市场 | ||
29 | + * @author miaoguoxin | ||
30 | + * @date 2020/4/22 | ||
31 | + */ | ||
27 | @PostMapping("/save") | 32 | @PostMapping("/save") |
28 | public Message<MerchantResponseDto> save(@RequestBody @Validated(Constant.InsertGroup.class) | 33 | public Message<MerchantResponseDto> save(@RequestBody @Validated(Constant.InsertGroup.class) |
29 | MerchantRequestDto requestDto) throws Exception { | 34 | MerchantRequestDto requestDto) throws Exception { |
src/main/java/com/diligrp/xtrade/product/dao/MerchantDao.java
1 | package com.diligrp.xtrade.product.dao; | 1 | package com.diligrp.xtrade.product.dao; |
2 | 2 | ||
3 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | 3 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; |
4 | import org.apache.ibatis.annotations.Param; | 4 | import org.apache.ibatis.annotations.Param; |
5 | 5 | ||
6 | import java.util.List; | 6 | import java.util.List; |
7 | 7 | ||
8 | public interface MerchantDao { | 8 | public interface MerchantDao { |
9 | 9 | ||
10 | - Merchant findById(Long id); | 10 | + MerchantDo findById(Long id); |
11 | 11 | ||
12 | - List<Merchant> findPage(@Param("offset") int offset, @Param("limit") int limit); | 12 | + List<MerchantDo> findPage(@Param("offset") int offset, @Param("limit") int limit); |
13 | 13 | ||
14 | - List<Merchant> findByCondition(Merchant xtMerchant); | 14 | + List<MerchantDo> findByCondition(MerchantDo xtMerchantDo); |
15 | 15 | ||
16 | - int insert(Merchant merchant); | 16 | + int insert(MerchantDo merchantDo); |
17 | 17 | ||
18 | - int update(Merchant xtMerchant); | 18 | + int update(MerchantDo xtMerchantDo); |
19 | 19 | ||
20 | int deleteById(Long id); | 20 | int deleteById(Long id); |
21 | 21 |
src/main/java/com/diligrp/xtrade/product/domain/converter/MerchantConverter.java renamed to src/main/java/com/diligrp/xtrade/product/domain/builder/MerchantBuilder.java
1 | -package com.diligrp.xtrade.product.domain.converter; | 1 | +package com.diligrp.xtrade.product.domain.builder; |
2 | 2 | ||
3 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; | 3 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; |
4 | import com.diligrp.xtrade.product.domain.dto.MerchantResponseDto; | 4 | import com.diligrp.xtrade.product.domain.dto.MerchantResponseDto; |
5 | import com.diligrp.xtrade.product.domain.emuns.AccountType; | 5 | import com.diligrp.xtrade.product.domain.emuns.AccountType; |
6 | import com.diligrp.xtrade.product.domain.emuns.MerchantStatus; | 6 | import com.diligrp.xtrade.product.domain.emuns.MerchantStatus; |
7 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | 7 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; |
8 | import org.springframework.beans.BeanUtils; | 8 | import org.springframework.beans.BeanUtils; |
9 | -import org.springframework.stereotype.Component; | ||
10 | 9 | ||
11 | import java.util.Optional; | 10 | import java.util.Optional; |
12 | 11 | ||
@@ -15,26 +14,26 @@ import java.util.Optional; | @@ -15,26 +14,26 @@ import java.util.Optional; | ||
15 | * @Date: 2020/4/22 09:10 | 14 | * @Date: 2020/4/22 09:10 |
16 | * @Description: 用于merchant的实体转换 | 15 | * @Description: 用于merchant的实体转换 |
17 | */ | 16 | */ |
18 | -@Component | ||
19 | -public class MerchantConverter { | 17 | +public class MerchantBuilder { |
20 | 18 | ||
21 | - public Merchant request2Entity(MerchantRequestDto requestDto) { | 19 | + public static MerchantDo request2Entity(MerchantRequestDto requestDto) { |
22 | Integer type = Optional.ofNullable(requestDto.getAccountType()) | 20 | Integer type = Optional.ofNullable(requestDto.getAccountType()) |
23 | .map(AccountType::getCode) | 21 | .map(AccountType::getCode) |
24 | .orElse(0); | 22 | .orElse(0); |
25 | - Merchant merchant = new Merchant(); | ||
26 | - merchant.setMerName(requestDto.getMerchantName()); | ||
27 | - merchant.setAccountId(requestDto.getAccountId()); | ||
28 | - merchant.setType(type); | ||
29 | - merchant.setDescription(requestDto.getAddress()); | ||
30 | - merchant.setStatus(MerchantStatus.NORMAL.getType()); | ||
31 | - return merchant; | 23 | + MerchantDo merchantDo = new MerchantDo(); |
24 | + merchantDo.setMerName(requestDto.getMerchantName()); | ||
25 | + merchantDo.setAccountId(requestDto.getAccountId()); | ||
26 | + merchantDo.setAccountName(requestDto.getAccountName()); | ||
27 | + merchantDo.setType(type); | ||
28 | + merchantDo.setDescription(requestDto.getAddress()); | ||
29 | + merchantDo.setStatus(MerchantStatus.NORMAL.getType()); | ||
30 | + return merchantDo; | ||
32 | } | 31 | } |
33 | 32 | ||
34 | - public MerchantResponseDto entity2Response(Merchant merchant){ | 33 | + public static MerchantResponseDto entity2Response(MerchantDo merchantDo){ |
35 | MerchantResponseDto responseDto = new MerchantResponseDto(); | 34 | MerchantResponseDto responseDto = new MerchantResponseDto(); |
36 | - BeanUtils.copyProperties(merchant,responseDto); | ||
37 | - responseDto.setType(AccountType.getAccountType(merchant.getType())); | 35 | + BeanUtils.copyProperties(merchantDo,responseDto); |
36 | + responseDto.setType(AccountType.getAccountType(merchantDo.getType())); | ||
38 | return responseDto; | 37 | return responseDto; |
39 | } | 38 | } |
40 | } | 39 | } |
src/main/java/com/diligrp/xtrade/product/domain/dto/MerchantRequestDto.java
@@ -18,12 +18,15 @@ public class MerchantRequestDto implements Serializable { | @@ -18,12 +18,15 @@ public class MerchantRequestDto implements Serializable { | ||
18 | /**真实名字*/ | 18 | /**真实名字*/ |
19 | private transient String realName; | 19 | private transient String realName; |
20 | /**用户名字*/ | 20 | /**用户名字*/ |
21 | - @NotBlank(message = "{merchant.user_name.not.blank}", groups = Constant.InsertGroup.class) | 21 | + @NotBlank(message = "{account_name.not.blank}", groups = Constant.InsertGroup.class) |
22 | @Pattern(regexp = "^[a-zA-Z0-9\u4E00-\u9FA5._,:-]*$",message = "{illegal.pattern}",groups = Constant.InsertGroup.class) | 22 | @Pattern(regexp = "^[a-zA-Z0-9\u4E00-\u9FA5._,:-]*$",message = "{illegal.pattern}",groups = Constant.InsertGroup.class) |
23 | - private String userName; | 23 | + private String accountName; |
24 | /**密码*/ | 24 | /**密码*/ |
25 | + @NotBlank(message = "{account_password.not.blank}", groups = Constant.InsertGroup.class) | ||
26 | + @Pattern(regexp = "^[a-zA-Z0-9\u4E00-\u9FA5._,:-]*$",message = "{illegal.pattern}",groups = Constant.InsertGroup.class) | ||
25 | private String password; | 27 | private String password; |
26 | /**电话*/ | 28 | /**电话*/ |
29 | + @Pattern(regexp = "^[1][3,4,5,8][0-9]{9}$",message = "{phone.pattern}",groups = Constant.InsertGroup.class) | ||
27 | private String mobile; | 30 | private String mobile; |
28 | /**账户类型*/ | 31 | /**账户类型*/ |
29 | @NotNull(message = "{account_type.not.null}", groups = Constant.InsertGroup.class) | 32 | @NotNull(message = "{account_type.not.null}", groups = Constant.InsertGroup.class) |
@@ -51,12 +54,12 @@ public class MerchantRequestDto implements Serializable { | @@ -51,12 +54,12 @@ public class MerchantRequestDto implements Serializable { | ||
51 | this.accountId = accountId; | 54 | this.accountId = accountId; |
52 | } | 55 | } |
53 | 56 | ||
54 | - public String getUserName() { | ||
55 | - return userName; | 57 | + public String getAccountName() { |
58 | + return accountName; | ||
56 | } | 59 | } |
57 | 60 | ||
58 | - public void setUserName(String userName) { | ||
59 | - this.userName = userName; | 61 | + public void setAccountName(String accountName) { |
62 | + this.accountName = accountName; | ||
60 | } | 63 | } |
61 | 64 | ||
62 | public String getPassword() { | 65 | public String getPassword() { |
src/main/java/com/diligrp/xtrade/product/domain/emuns/AccountType.java
@@ -16,7 +16,7 @@ public enum AccountType implements IEnumType { | @@ -16,7 +16,7 @@ public enum AccountType implements IEnumType { | ||
16 | PUBLIC(20, "对公账户"), | 16 | PUBLIC(20, "对公账户"), |
17 | 17 | ||
18 | /**临时卡用*/ | 18 | /**临时卡用*/ |
19 | - Anonymous(30, "不记名"); | 19 | + ANONYMOUS(30, "不记名"); |
20 | 20 | ||
21 | private int code; | 21 | private int code; |
22 | private String name; | 22 | private String name; |
src/main/java/com/diligrp/xtrade/product/domain/emuns/IKeyGeneratorKeys.java
@@ -8,10 +8,10 @@ package com.diligrp.xtrade.product.domain.emuns; | @@ -8,10 +8,10 @@ package com.diligrp.xtrade.product.domain.emuns; | ||
8 | * @date 2020年4月21日 | 8 | * @date 2020年4月21日 |
9 | */ | 9 | */ |
10 | public enum IKeyGeneratorKeys { | 10 | public enum IKeyGeneratorKeys { |
11 | + CATEGORY_SEQUENCE("CATEGORY_SEQUENCE","品类id"), | ||
11 | SHOP_SEQUENCE("SHOP_SEQUENCE","店铺id"), | 12 | SHOP_SEQUENCE("SHOP_SEQUENCE","店铺id"), |
12 | MERCHANT_SEQUENCE("MERCHANT_SEQUENCE","市场id"), | 13 | MERCHANT_SEQUENCE("MERCHANT_SEQUENCE","市场id"), |
13 | ACCOUNT_SEQUENCE("ACCOUNT_SEQUENCE","账号id"), | 14 | ACCOUNT_SEQUENCE("ACCOUNT_SEQUENCE","账号id"), |
14 | - CATEGORY_SEQUENCE("CATEGORY_SEQUENCE","品类is") | ||
15 | ; | 15 | ; |
16 | 16 | ||
17 | private String code; | 17 | private String code; |
src/main/java/com/diligrp/xtrade/product/domain/entity/Account.java renamed to src/main/java/com/diligrp/xtrade/product/domain/entity/AccountDo.java
@@ -7,7 +7,7 @@ import com.diligrp.xtrade.shared.domain.BaseDo; | @@ -7,7 +7,7 @@ import com.diligrp.xtrade.shared.domain.BaseDo; | ||
7 | * @Date: 2020/4/21 17:20 | 7 | * @Date: 2020/4/21 17:20 |
8 | * @Description: 账户实体 | 8 | * @Description: 账户实体 |
9 | */ | 9 | */ |
10 | -public class Account extends BaseDo { | 10 | +public class AccountDo extends BaseDo { |
11 | private String name; | 11 | private String name; |
12 | private String password; | 12 | private String password; |
13 | private String realName; | 13 | private String realName; |
src/main/java/com/diligrp/xtrade/product/domain/entity/Merchant.java renamed to src/main/java/com/diligrp/xtrade/product/domain/entity/MerchantDo.java
@@ -6,7 +6,7 @@ import com.diligrp.xtrade.shared.domain.BaseDo; | @@ -6,7 +6,7 @@ import com.diligrp.xtrade.shared.domain.BaseDo; | ||
6 | /** | 6 | /** |
7 | * 商户实体(xt_merchant) | 7 | * 商户实体(xt_merchant) |
8 | */ | 8 | */ |
9 | -public class Merchant extends BaseDo { | 9 | +public class MerchantDo extends BaseDo { |
10 | //商户id | 10 | //商户id |
11 | private Long merId; | 11 | private Long merId; |
12 | 12 |
src/main/java/com/diligrp/xtrade/product/domain/entity/Operator.java renamed to src/main/java/com/diligrp/xtrade/product/domain/entity/OperatorDo.java
@@ -5,7 +5,7 @@ package com.diligrp.xtrade.product.domain.entity; | @@ -5,7 +5,7 @@ package com.diligrp.xtrade.product.domain.entity; | ||
5 | * @Date: 2020/4/21 17:15 | 5 | * @Date: 2020/4/21 17:15 |
6 | * @Description: 操作员实体 | 6 | * @Description: 操作员实体 |
7 | */ | 7 | */ |
8 | -public class Operator { | 8 | +public class OperatorDo { |
9 | private Long accountId; | 9 | private Long accountId; |
10 | private String account; | 10 | private String account; |
11 | private String name; | 11 | private String name; |
src/main/java/com/diligrp/xtrade/product/domain/entity/Product.java renamed to src/main/java/com/diligrp/xtrade/product/domain/entity/ProductDo.java
@@ -7,47 +7,47 @@ import com.diligrp.xtrade.shared.domain.BaseDo; | @@ -7,47 +7,47 @@ import com.diligrp.xtrade.shared.domain.BaseDo; | ||
7 | * @author zhangxing | 7 | * @author zhangxing |
8 | * | 8 | * |
9 | */ | 9 | */ |
10 | -public class Product extends BaseDo{ | ||
11 | - | 10 | +public class ProductDo extends BaseDo{ |
11 | + | ||
12 | //商品业务id | 12 | //商品业务id |
13 | private Long productId; | 13 | private Long productId; |
14 | - | 14 | + |
15 | //商品名称 | 15 | //商品名称 |
16 | private String productName; | 16 | private String productName; |
17 | - | 17 | + |
18 | //品类id | 18 | //品类id |
19 | private Long cateId; | 19 | private Long cateId; |
20 | - | 20 | + |
21 | //品类名称 | 21 | //品类名称 |
22 | private String cateName; | 22 | private String cateName; |
23 | - | 23 | + |
24 | //账户Id | 24 | //账户Id |
25 | private Long accountId; | 25 | private Long accountId; |
26 | - | 26 | + |
27 | //账户名称 | 27 | //账户名称 |
28 | private String accountName; | 28 | private String accountName; |
29 | - | 29 | + |
30 | //商品状态 | 30 | //商品状态 |
31 | private Integer status; | 31 | private Integer status; |
32 | - | 32 | + |
33 | //商品件重 | 33 | //商品件重 |
34 | private Double unitWeight; | 34 | private Double unitWeight; |
35 | - | 35 | + |
36 | //商品单位 | 36 | //商品单位 |
37 | private Integer unit; | 37 | private Integer unit; |
38 | - | 38 | + |
39 | //商品价格 | 39 | //商品价格 |
40 | private Long price; | 40 | private Long price; |
41 | - | 41 | + |
42 | //商品数量 | 42 | //商品数量 |
43 | private Double amount; | 43 | private Double amount; |
44 | - | 44 | + |
45 | //商品重量 | 45 | //商品重量 |
46 | private Double weight; | 46 | private Double weight; |
47 | - | 47 | + |
48 | //商品产地 | 48 | //商品产地 |
49 | private String place; | 49 | private String place; |
50 | - | 50 | + |
51 | /** | 51 | /** |
52 | * 获取 分类ID | 52 | * 获取 分类ID |
53 | * @return | 53 | * @return |
src/main/java/com/diligrp/xtrade/product/repository/AccountRepository.java
1 | package com.diligrp.xtrade.product.repository; | 1 | package com.diligrp.xtrade.product.repository; |
2 | 2 | ||
3 | -import com.diligrp.xtrade.product.domain.entity.Account; | ||
4 | -import com.diligrp.xtrade.product.domain.entity.Operator; | 3 | +import com.diligrp.xtrade.product.domain.entity.AccountDo; |
4 | +import com.diligrp.xtrade.product.domain.entity.OperatorDo; | ||
5 | import org.springframework.stereotype.Repository; | 5 | import org.springframework.stereotype.Repository; |
6 | 6 | ||
7 | import java.util.ArrayList; | 7 | import java.util.ArrayList; |
@@ -14,21 +14,27 @@ import java.util.List; | @@ -14,21 +14,27 @@ import java.util.List; | ||
14 | */ | 14 | */ |
15 | @Repository | 15 | @Repository |
16 | public class AccountRepository implements IAccountRepository { | 16 | public class AccountRepository implements IAccountRepository { |
17 | - private final static List<Account> ACCOUNTS = new ArrayList<>(); | 17 | + private final static List<AccountDo> ACCOUNT_DOS = new ArrayList<>(); |
18 | @Override | 18 | @Override |
19 | - public Operator getOperator() { | ||
20 | - return new Operator(); | 19 | + public OperatorDo getOperator() { |
20 | + OperatorDo operatorDo = new OperatorDo(); | ||
21 | + operatorDo.setAccount("miao"); | ||
22 | + operatorDo.setName("缪"); | ||
23 | + operatorDo.setAccountId(1L); | ||
24 | + operatorDo.setMerAccountId(10000L); | ||
25 | + operatorDo.setAdmin(true); | ||
26 | + return operatorDo; | ||
21 | } | 27 | } |
22 | 28 | ||
23 | @Override | 29 | @Override |
24 | - public Account getAccountByName(String userName) { | ||
25 | - Account account = new Account(); | ||
26 | - account.setName(userName); | 30 | + public AccountDo getAccountByName(String userName) { |
31 | + AccountDo accountDo = new AccountDo(); | ||
32 | + accountDo.setName(userName); | ||
27 | return null; | 33 | return null; |
28 | } | 34 | } |
29 | 35 | ||
30 | @Override | 36 | @Override |
31 | - public void add(Account account) { | ||
32 | - ACCOUNTS.add(account); | 37 | + public void add(AccountDo accountDo) { |
38 | + ACCOUNT_DOS.add(accountDo); | ||
33 | } | 39 | } |
34 | } | 40 | } |
src/main/java/com/diligrp/xtrade/product/repository/IAccountRepository.java
1 | package com.diligrp.xtrade.product.repository; | 1 | package com.diligrp.xtrade.product.repository; |
2 | 2 | ||
3 | -import com.diligrp.xtrade.product.domain.entity.Account; | ||
4 | -import com.diligrp.xtrade.product.domain.entity.Operator; | 3 | +import com.diligrp.xtrade.product.domain.entity.AccountDo; |
4 | +import com.diligrp.xtrade.product.domain.entity.OperatorDo; | ||
5 | 5 | ||
6 | /** | 6 | /** |
7 | * @Auther: miaoguoxin | 7 | * @Auther: miaoguoxin |
@@ -10,9 +10,9 @@ import com.diligrp.xtrade.product.domain.entity.Operator; | @@ -10,9 +10,9 @@ import com.diligrp.xtrade.product.domain.entity.Operator; | ||
10 | */ | 10 | */ |
11 | public interface IAccountRepository { | 11 | public interface IAccountRepository { |
12 | 12 | ||
13 | - Operator getOperator(); | 13 | + OperatorDo getOperator(); |
14 | 14 | ||
15 | - Account getAccountByName(String userName); | 15 | + AccountDo getAccountByName(String userName); |
16 | 16 | ||
17 | - void add(Account account); | 17 | + void add(AccountDo accountDo); |
18 | } | 18 | } |
src/main/java/com/diligrp/xtrade/product/repository/IMerchantRepository.java
1 | package com.diligrp.xtrade.product.repository; | 1 | package com.diligrp.xtrade.product.repository; |
2 | 2 | ||
3 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | 3 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; |
4 | 4 | ||
5 | /** | 5 | /** |
6 | * @Auther: miaoguoxin | 6 | * @Auther: miaoguoxin |
@@ -9,9 +9,9 @@ import com.diligrp.xtrade.product.domain.entity.Merchant; | @@ -9,9 +9,9 @@ import com.diligrp.xtrade.product.domain.entity.Merchant; | ||
9 | */ | 9 | */ |
10 | public interface IMerchantRepository { | 10 | public interface IMerchantRepository { |
11 | 11 | ||
12 | - Merchant getByAccountId(Long accountId); | 12 | + MerchantDo getByAccountId(Long accountId); |
13 | 13 | ||
14 | - void add(Merchant merchant); | 14 | + void add(MerchantDo merchantDo); |
15 | 15 | ||
16 | - void update(Merchant merchant); | 16 | + void update(MerchantDo merchantDo); |
17 | } | 17 | } |
src/main/java/com/diligrp/xtrade/product/repository/MerchantRepository.java
@@ -4,7 +4,7 @@ import com.diligrp.xtrade.product.dao.MerchantDao; | @@ -4,7 +4,7 @@ import com.diligrp.xtrade.product.dao.MerchantDao; | ||
4 | import com.diligrp.xtrade.product.dao.ShopDao; | 4 | import com.diligrp.xtrade.product.dao.ShopDao; |
5 | import com.diligrp.xtrade.product.domain.emuns.AccountType; | 5 | import com.diligrp.xtrade.product.domain.emuns.AccountType; |
6 | import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | 6 | import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; |
7 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | 7 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; |
8 | import com.diligrp.xtrade.product.domain.entity.ShopDo; | 8 | import com.diligrp.xtrade.product.domain.entity.ShopDo; |
9 | import com.diligrp.xtrade.shared.sequence.IKeyGenerator; | 9 | import com.diligrp.xtrade.shared.sequence.IKeyGenerator; |
10 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | 10 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; |
@@ -28,31 +28,31 @@ public class MerchantRepository implements IMerchantRepository { | @@ -28,31 +28,31 @@ public class MerchantRepository implements IMerchantRepository { | ||
28 | private KeyGeneratorManager keyGeneratorManager; | 28 | private KeyGeneratorManager keyGeneratorManager; |
29 | 29 | ||
30 | @Override | 30 | @Override |
31 | - public Merchant getByAccountId(Long accountId) { | ||
32 | - Merchant merchant = new Merchant(); | ||
33 | - merchant.setAccountId(accountId); | ||
34 | - List<Merchant> merchants = merchantDao.findByCondition(merchant); | ||
35 | - if (merchants.isEmpty()){ | 31 | + public MerchantDo getByAccountId(Long accountId) { |
32 | + MerchantDo merchantDo = new MerchantDo(); | ||
33 | + merchantDo.setAccountId(accountId); | ||
34 | + List<MerchantDo> merchantDos = merchantDao.findByCondition(merchantDo); | ||
35 | + if (merchantDos.isEmpty()){ | ||
36 | return null; | 36 | return null; |
37 | } | 37 | } |
38 | - return merchants.get(0); | 38 | + return merchantDos.get(0); |
39 | } | 39 | } |
40 | 40 | ||
41 | @Override | 41 | @Override |
42 | - public void add(Merchant newMerchant) { | 42 | + public void add(MerchantDo newMerchantDo) { |
43 | IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.MERCHANT_SEQUENCE); | 43 | IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.MERCHANT_SEQUENCE); |
44 | - newMerchant.setMerId(keyGenerator.nextId()); | ||
45 | - newMerchant.setMarketId("SY001"); | ||
46 | - newMerchant.setCreatedTime(LocalDateTime.now()); | ||
47 | - merchantDao.insert(newMerchant); | 44 | + newMerchantDo.setMerId(keyGenerator.nextId()); |
45 | + newMerchantDo.setMarketId("SY001"); | ||
46 | + newMerchantDo.setCreatedTime(LocalDateTime.now()); | ||
47 | + merchantDao.insert(newMerchantDo); | ||
48 | } | 48 | } |
49 | 49 | ||
50 | @Override | 50 | @Override |
51 | - public void update(Merchant merchant) { | ||
52 | - merchant.setModifiedTime(LocalDateTime.now()); | 51 | + public void update(MerchantDo merchantDo) { |
52 | + merchantDo.setModifiedTime(LocalDateTime.now()); | ||
53 | ShopDo shopDo = new ShopDo(); | 53 | ShopDo shopDo = new ShopDo(); |
54 | shopDo.setType(AccountType.PUBLIC.getCode()); | 54 | shopDo.setType(AccountType.PUBLIC.getCode()); |
55 | - shopDo.setMerId(merchant.getMerId()); | 55 | + shopDo.setMerId(merchantDo.getMerId()); |
56 | shopDao.update(shopDo); | 56 | shopDao.update(shopDo); |
57 | } | 57 | } |
58 | } | 58 | } |
src/main/java/com/diligrp/xtrade/product/service/AccountService.java
1 | package com.diligrp.xtrade.product.service; | 1 | package com.diligrp.xtrade.product.service; |
2 | 2 | ||
3 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; | 3 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; |
4 | -import com.diligrp.xtrade.product.domain.entity.Account; | ||
5 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | 4 | +import com.diligrp.xtrade.product.domain.entity.AccountDo; |
5 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; | ||
6 | 6 | ||
7 | /** | 7 | /** |
8 | * @Auther: miaoguoxin | 8 | * @Auther: miaoguoxin |
@@ -10,7 +10,7 @@ import com.diligrp.xtrade.product.domain.entity.Merchant; | @@ -10,7 +10,7 @@ import com.diligrp.xtrade.product.domain.entity.Merchant; | ||
10 | */ | 10 | */ |
11 | public interface AccountService { | 11 | public interface AccountService { |
12 | 12 | ||
13 | - Account build(MerchantRequestDto requestDto, Merchant merchant) throws Exception; | 13 | + AccountDo build(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception; |
14 | 14 | ||
15 | - void create(MerchantRequestDto requestDto, Merchant merchant) throws Exception; | 15 | + void create(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception; |
16 | } | 16 | } |
src/main/java/com/diligrp/xtrade/product/service/impl/AccountServiceImpl.java
1 | package com.diligrp.xtrade.product.service.impl; | 1 | package com.diligrp.xtrade.product.service.impl; |
2 | 2 | ||
3 | +import com.alibaba.nacos.common.utils.Md5Utils; | ||
3 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; | 4 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; |
4 | import com.diligrp.xtrade.product.domain.emuns.AccountStatus; | 5 | import com.diligrp.xtrade.product.domain.emuns.AccountStatus; |
5 | import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | 6 | import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; |
6 | -import com.diligrp.xtrade.product.domain.entity.Account; | ||
7 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | 7 | +import com.diligrp.xtrade.product.domain.entity.AccountDo; |
8 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; | ||
8 | import com.diligrp.xtrade.product.repository.IAccountRepository; | 9 | import com.diligrp.xtrade.product.repository.IAccountRepository; |
9 | import com.diligrp.xtrade.product.service.AccountService; | 10 | import com.diligrp.xtrade.product.service.AccountService; |
10 | -import com.diligrp.xtrade.shared.security.PasswordUtils; | ||
11 | import com.diligrp.xtrade.shared.sequence.IKeyGenerator; | 11 | import com.diligrp.xtrade.shared.sequence.IKeyGenerator; |
12 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | 12 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; |
13 | import org.springframework.beans.factory.annotation.Autowired; | 13 | import org.springframework.beans.factory.annotation.Autowired; |
@@ -27,25 +27,27 @@ public class AccountServiceImpl implements AccountService { | @@ -27,25 +27,27 @@ public class AccountServiceImpl implements AccountService { | ||
27 | private KeyGeneratorManager keyGeneratorManager; | 27 | private KeyGeneratorManager keyGeneratorManager; |
28 | 28 | ||
29 | @Override | 29 | @Override |
30 | - public Account build(MerchantRequestDto requestDto, Merchant merchant) throws Exception { | ||
31 | - Account newAccount = new Account(); | ||
32 | - newAccount.setName(requestDto.getUserName()); | ||
33 | - newAccount.setRealName(requestDto.getRealName()); | ||
34 | - newAccount.setPassword(PasswordUtils.encrypt(requestDto.getPassword(), | ||
35 | - requestDto.getUserName())); | ||
36 | - newAccount.setMobile(requestDto.getMobile()); | ||
37 | - newAccount.setStatus(AccountStatus.NORMAL.getCode()); | ||
38 | - newAccount.setIsAdmin(1); | ||
39 | - newAccount.setMerId(merchant.getMerId()); | ||
40 | - newAccount.setCreatedTime(LocalDateTime.now()); | 30 | + public AccountDo build(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception { |
31 | + String password = String.format("%s_%s", | ||
32 | + requestDto.getAccountName(), requestDto.getPassword()); | ||
33 | + AccountDo newAccountDo = new AccountDo(); | ||
34 | + newAccountDo.setName(requestDto.getAccountName()); | ||
35 | + newAccountDo.setRealName(requestDto.getRealName()); | ||
36 | + newAccountDo.setPassword(Md5Utils.getMD5(password, "UTF-8")); | ||
37 | + newAccountDo.setMobile(requestDto.getMobile()); | ||
38 | + newAccountDo.setStatus(AccountStatus.NORMAL.getCode()); | ||
39 | + newAccountDo.setIsAdmin(1); | ||
40 | + newAccountDo.setMerId(merchantDo.getMerId()); | ||
41 | + newAccountDo.setCreatedTime(LocalDateTime.now()); | ||
41 | IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.ACCOUNT_SEQUENCE); | 42 | IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.ACCOUNT_SEQUENCE); |
42 | - newAccount.setId(keyGenerator.nextId()); | ||
43 | - return newAccount; | 43 | + newAccountDo.setId(keyGenerator.nextId()); |
44 | + return newAccountDo; | ||
44 | } | 45 | } |
45 | 46 | ||
46 | @Override | 47 | @Override |
47 | - public void create(MerchantRequestDto requestDto, Merchant merchant) throws Exception { | ||
48 | - Account newAccount = this.build(requestDto, merchant); | ||
49 | - accountRepository.add(newAccount); | 48 | + public void create(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception { |
49 | + AccountDo newAccountDo = this.build(requestDto, merchantDo); | ||
50 | + accountRepository.add(newAccountDo); | ||
50 | } | 51 | } |
52 | + | ||
51 | } | 53 | } |
src/main/java/com/diligrp/xtrade/product/service/impl/CategoryServiceImpl.java
1 | -package com.diligrp.xtrade.product.service.impl; | ||
2 | - | ||
3 | -import java.util.List; | ||
4 | - | ||
5 | -import org.apache.commons.lang3.StringUtils; | ||
6 | -import org.springframework.beans.BeanUtils; | ||
7 | -import org.springframework.beans.factory.annotation.Autowired; | ||
8 | -import org.springframework.stereotype.Service; | ||
9 | - | ||
10 | -import com.diligrp.xtrade.product.dao.CategoryDao; | ||
11 | -import com.diligrp.xtrade.product.domain.dto.CategoryDto; | ||
12 | -import com.diligrp.xtrade.product.domain.dto.CategoryQueryDto; | ||
13 | -import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | ||
14 | -import com.diligrp.xtrade.product.domain.entity.CategoryDo; | ||
15 | -import com.diligrp.xtrade.product.service.CategoryService; | ||
16 | -import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | ||
17 | - | ||
18 | -/** | ||
19 | - * @ClassName: CategoryServiceImpl | ||
20 | - * @Description TODO(用一句话描述该文件做什么) | ||
21 | - * @author yangfan | ||
22 | - * @date 2020年4月20日 | ||
23 | - */ | ||
24 | -@Service("categoryService") | ||
25 | -public class CategoryServiceImpl implements CategoryService { | ||
26 | - | ||
27 | - @Autowired | ||
28 | - private KeyGeneratorManager keyGeneratorManager; | ||
29 | - @Autowired | ||
30 | - private CategoryDao categoryDao; | ||
31 | - | ||
32 | - @Override | ||
33 | - public void insert(CategoryDto category) { | ||
34 | - CategoryDo categoryDo = new CategoryDo(); | ||
35 | - BeanUtils.copyProperties(category, categoryDo); | ||
36 | - long id = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.CATEGORY_SEQUENCE).nextId(); | ||
37 | - String cateCode = ""+id; | ||
38 | - //cateCode 生成 子级品类继承上级品类cateCode 父code_子code | ||
39 | - if (StringUtils.isNotBlank(category.getParentId())) { | ||
40 | - CategoryDo pCategoryDo = selectEntityById(Long.valueOf(category.getParentId())); | ||
41 | - cateCode = String.format("%s_%d", pCategoryDo.getCateCode(),id); | ||
42 | - } | ||
43 | - categoryDo.setCateCode(cateCode); | ||
44 | - categoryDao.insert(categoryDo); | ||
45 | - } | ||
46 | - | ||
47 | - @Override | ||
48 | - public void update(CategoryDto category) { | ||
49 | - CategoryDo categoryDo = new CategoryDo(); | ||
50 | - BeanUtils.copyProperties(category, categoryDo); | ||
51 | - categoryDao.update(categoryDo); | ||
52 | - } | ||
53 | - | ||
54 | - @Override | ||
55 | - public void delectById(Long id) { | ||
56 | - categoryDao.delect(id); | ||
57 | - } | ||
58 | - | ||
59 | - @Override | ||
60 | - public CategoryDo selectEntityById(Long id) { | ||
61 | - return categoryDao.selectEntityById(id); | ||
62 | - } | ||
63 | - | ||
64 | - @Override | ||
65 | - public List<CategoryDo> selectList(CategoryQueryDto categoryQueryDto) { | ||
66 | - return categoryDao.selectList(categoryQueryDto); | ||
67 | - } | ||
68 | - | ||
69 | - @Override | ||
70 | - public List<CategoryDo> selectCateChild(String cateCode) { | ||
71 | - return categoryDao.selectCateChild(cateCode); | ||
72 | - } | ||
73 | - | ||
74 | -} | 1 | +package com.diligrp.xtrade.product.service.impl; |
2 | + | ||
3 | +import java.util.List; | ||
4 | + | ||
5 | +import org.apache.commons.lang3.StringUtils; | ||
6 | +import org.springframework.beans.BeanUtils; | ||
7 | +import org.springframework.beans.factory.annotation.Autowired; | ||
8 | +import org.springframework.stereotype.Service; | ||
9 | + | ||
10 | +import com.diligrp.xtrade.product.dao.CategoryDao; | ||
11 | +import com.diligrp.xtrade.product.domain.dto.CategoryDto; | ||
12 | +import com.diligrp.xtrade.product.domain.dto.CategoryQueryDto; | ||
13 | +import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | ||
14 | +import com.diligrp.xtrade.product.domain.entity.CategoryDo; | ||
15 | +import com.diligrp.xtrade.product.service.CategoryService; | ||
16 | +import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | ||
17 | + | ||
18 | +/** | ||
19 | + * @ClassName: CategoryServiceImpl | ||
20 | + * @Description TODO(用一句话描述该文件做什么) | ||
21 | + * @author yangfan | ||
22 | + * @date 2020年4月20日 | ||
23 | + */ | ||
24 | +@Service("categoryService") | ||
25 | +public class CategoryServiceImpl implements CategoryService { | ||
26 | + | ||
27 | + @Autowired | ||
28 | + private KeyGeneratorManager keyGeneratorManager; | ||
29 | + @Autowired | ||
30 | + private CategoryDao categoryDao; | ||
31 | + | ||
32 | + @Override | ||
33 | + public void insert(CategoryDto category) { | ||
34 | + CategoryDo categoryDo = new CategoryDo(); | ||
35 | + BeanUtils.copyProperties(category, categoryDo); | ||
36 | + long id = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.CATEGORY_SEQUENCE).nextId(); | ||
37 | + String cateCode = ""+id; | ||
38 | + //cateCode 生成 子级品类继承上级品类cateCode 父code_子code | ||
39 | + if (StringUtils.isNotBlank(category.getParentId())) { | ||
40 | + CategoryDo pCategoryDo = selectEntityById(Long.valueOf(category.getParentId())); | ||
41 | + cateCode = String.format("%s_%d", pCategoryDo.getCateCode(),id); | ||
42 | + } | ||
43 | + categoryDo.setCateCode(cateCode); | ||
44 | + categoryDao.insert(categoryDo); | ||
45 | + } | ||
46 | + | ||
47 | + @Override | ||
48 | + public void update(CategoryDto category) { | ||
49 | + CategoryDo categoryDo = new CategoryDo(); | ||
50 | + BeanUtils.copyProperties(category, categoryDo); | ||
51 | + categoryDao.update(categoryDo); | ||
52 | + } | ||
53 | + | ||
54 | + @Override | ||
55 | + public void delectById(Long id) { | ||
56 | + categoryDao.delect(id); | ||
57 | + } | ||
58 | + | ||
59 | + @Override | ||
60 | + public CategoryDo selectEntityById(Long id) { | ||
61 | + return categoryDao.selectEntityById(id); | ||
62 | + } | ||
63 | + | ||
64 | + @Override | ||
65 | + public List<CategoryDo> selectList(CategoryQueryDto categoryQueryDto) { | ||
66 | + return categoryDao.selectList(categoryQueryDto); | ||
67 | + } | ||
68 | + | ||
69 | + @Override | ||
70 | + public List<CategoryDo> selectCateChild(String cateCode) { | ||
71 | + return categoryDao.selectCateChild(cateCode); | ||
72 | + } | ||
73 | + | ||
74 | +} |
src/main/java/com/diligrp/xtrade/product/service/impl/MerchantServiceImpl.java
1 | package com.diligrp.xtrade.product.service.impl; | 1 | package com.diligrp.xtrade.product.service.impl; |
2 | 2 | ||
3 | -import com.diligrp.xtrade.product.domain.converter.MerchantConverter; | 3 | +import com.diligrp.xtrade.product.domain.builder.MerchantBuilder; |
4 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; | 4 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; |
5 | import com.diligrp.xtrade.product.domain.dto.MerchantResponseDto; | 5 | import com.diligrp.xtrade.product.domain.dto.MerchantResponseDto; |
6 | import com.diligrp.xtrade.product.domain.emuns.AccountType; | 6 | import com.diligrp.xtrade.product.domain.emuns.AccountType; |
7 | import com.diligrp.xtrade.product.domain.emuns.ResponseCode; | 7 | import com.diligrp.xtrade.product.domain.emuns.ResponseCode; |
8 | -import com.diligrp.xtrade.product.domain.entity.Account; | ||
9 | -import com.diligrp.xtrade.product.domain.entity.Merchant; | ||
10 | -import com.diligrp.xtrade.product.domain.entity.Operator; | 8 | +import com.diligrp.xtrade.product.domain.entity.AccountDo; |
9 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; | ||
10 | +import com.diligrp.xtrade.product.domain.entity.OperatorDo; | ||
11 | import com.diligrp.xtrade.product.exception.ProductException; | 11 | import com.diligrp.xtrade.product.exception.ProductException; |
12 | import com.diligrp.xtrade.product.repository.IAccountRepository; | 12 | import com.diligrp.xtrade.product.repository.IAccountRepository; |
13 | import com.diligrp.xtrade.product.repository.IMerchantRepository; | 13 | import com.diligrp.xtrade.product.repository.IMerchantRepository; |
@@ -24,33 +24,31 @@ public class MerchantServiceImpl implements MerchantService { | @@ -24,33 +24,31 @@ public class MerchantServiceImpl implements MerchantService { | ||
24 | @Autowired | 24 | @Autowired |
25 | private IMerchantRepository merchantRepository; | 25 | private IMerchantRepository merchantRepository; |
26 | @Autowired | 26 | @Autowired |
27 | - private MerchantConverter merchantConverter; | ||
28 | - @Autowired | ||
29 | private AccountService accountService; | 27 | private AccountService accountService; |
30 | 28 | ||
31 | @Override | 29 | @Override |
32 | @Transactional | 30 | @Transactional |
33 | public MerchantResponseDto create(MerchantRequestDto requestDto) throws Exception { | 31 | public MerchantResponseDto create(MerchantRequestDto requestDto) throws Exception { |
34 | - Operator operator = accountRepository.getOperator(); | ||
35 | - requestDto.setAccountId(operator.getAccountId()); | ||
36 | - requestDto.setRealName(operator.getName()); | ||
37 | - Account account = accountRepository.getAccountByName(requestDto.getUserName()); | ||
38 | - if (account != null) { | 32 | + OperatorDo operatorDo = accountRepository.getOperator(); |
33 | + requestDto.setAccountId(operatorDo.getAccountId()); | ||
34 | + requestDto.setRealName(operatorDo.getName()); | ||
35 | + AccountDo accountDo = accountRepository.getAccountByName(requestDto.getAccountName()); | ||
36 | + if (accountDo != null) { | ||
39 | throw new ProductException(ResponseCode.ACCOUNT_EXIST); | 37 | throw new ProductException(ResponseCode.ACCOUNT_EXIST); |
40 | } | 38 | } |
41 | - Merchant merchant = merchantRepository.getByAccountId(requestDto.getAccountId()); | ||
42 | - if (merchant == null){ | ||
43 | - merchant = merchantConverter.request2Entity(requestDto); | ||
44 | - merchantRepository.add(merchant); | 39 | + MerchantDo merchantDo = merchantRepository.getByAccountId(requestDto.getAccountId()); |
40 | + if (merchantDo == null){ | ||
41 | + merchantDo = MerchantBuilder.request2Entity(requestDto); | ||
42 | + merchantRepository.add(merchantDo); | ||
45 | } else { | 43 | } else { |
46 | - if (AccountType.PERSONAL.getCode() != merchant.getType()){ | 44 | + if (AccountType.PERSONAL.getCode() != merchantDo.getType()){ |
47 | throw new ProductException(ResponseCode.CARD_MERCHANT_CREATED); | 45 | throw new ProductException(ResponseCode.CARD_MERCHANT_CREATED); |
48 | } | 46 | } |
49 | - merchantRepository.update(merchant); | 47 | + merchantRepository.update(merchantDo); |
50 | } | 48 | } |
51 | //创建市场管理员账户 | 49 | //创建市场管理员账户 |
52 | - accountService.create(requestDto,merchant); | ||
53 | - return merchantConverter.entity2Response(merchant); | 50 | + accountService.create(requestDto, merchantDo); |
51 | + return MerchantBuilder.entity2Response(merchantDo); | ||
54 | } | 52 | } |
55 | 53 | ||
56 | } | 54 | } |
src/main/java/com/diligrp/xtrade/product/service/impl/ProductServiceImpl.java
@@ -14,7 +14,7 @@ public class ProductServiceImpl implements ProductService { | @@ -14,7 +14,7 @@ public class ProductServiceImpl implements ProductService { | ||
14 | 14 | ||
15 | @Override | 15 | @Override |
16 | public void createProduct(ProductCreateRequestDto productCreateRequestDto) { | 16 | public void createProduct(ProductCreateRequestDto productCreateRequestDto) { |
17 | - | 17 | + |
18 | } | 18 | } |
19 | 19 | ||
20 | @Override | 20 | @Override |
src/main/java/com/diligrp/xtrade/product/service/impl/ShopServiceImpl.java
@@ -25,7 +25,7 @@ public class ShopServiceImpl implements ShopService { | @@ -25,7 +25,7 @@ public class ShopServiceImpl implements ShopService { | ||
25 | private ShopDao shopDao; | 25 | private ShopDao shopDao; |
26 | @Autowired | 26 | @Autowired |
27 | private KeyGeneratorManager KeyGeneratorManager; | 27 | private KeyGeneratorManager KeyGeneratorManager; |
28 | - | 28 | + |
29 | @Override | 29 | @Override |
30 | public void insert(ShopDto shop) { | 30 | public void insert(ShopDto shop) { |
31 | ShopDo shopDo = new ShopDo(); | 31 | ShopDo shopDo = new ShopDo(); |
src/main/resources/ValidationMessages.properties
0 → 100644
1 | +illegal.pattern=\u542B\u6709\u975E\u6CD5\u5B57\u7B26 | ||
2 | +phone.pattern=\u7535\u8BDD\u53F7\u7801\u4E0D\u6B63\u786E | ||
3 | +account_name.not.blank=\u8D26\u6237\u540D\u5B57\u4E0D\u80FD\u4E3A\u7A7A | ||
4 | +account_password.not.blank=\u8D26\u6237\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A | ||
5 | +account_type.not.null=\u8D26\u6237\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A | ||
6 | +merchant_name.not.blank=\u5E02\u573A\u540D\u5B57\u4E0D\u80FD\u4E3A\u7A7A |
src/main/resources/mapping/com/diligrp/xtrade/order/OrderItemDao.xml
@@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
13 | VALUES (#{itemId}, #{orderId}, #{productName}, #{productId}, #{price}, #{amount}, #{saleUnit}, #{unitWeight}, #{scommission}, #{bcommission}, #{ruleid}, #{ruleRate}, #{}weight, #{totalMoney}, NOW(), NOW()); | 13 | VALUES (#{itemId}, #{orderId}, #{productName}, #{productId}, #{price}, #{amount}, #{saleUnit}, #{unitWeight}, #{scommission}, #{bcommission}, #{ruleid}, #{ruleRate}, #{}weight, #{totalMoney}, NOW(), NOW()); |
14 | </insert> | 14 | </insert> |
15 | 15 | ||
16 | - <select id="selectOrderItemByItemId" parameterType="long" resultType="orderItemDo"> | 16 | + <select id="selectItemsByOrderId" parameterType="long" resultType="orderItemDo"> |
17 | SELECT | 17 | SELECT |
18 | <include refid="QUERY_COLUMN_LIST"/> | 18 | <include refid="QUERY_COLUMN_LIST"/> |
19 | FROM `xt_order_item` | 19 | FROM `xt_order_item` |
src/main/resources/mapping/com/diligrp/xtrade/product/MerchantDao.xml
@@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | <mapper namespace="com.diligrp.xtrade.product.dao.MerchantDao"> | 3 | <mapper namespace="com.diligrp.xtrade.product.dao.MerchantDao"> |
4 | 4 | ||
5 | - <resultMap type="com.diligrp.xtrade.product.domain.entity.Merchant" id="XtMerchantMap"> | 5 | + <resultMap type="com.diligrp.xtrade.product.domain.entity.MerchantDo" id="XtMerchantMap"> |
6 | <result property="id" column="id"/> | 6 | <result property="id" column="id"/> |
7 | <result property="merId" column="mer_id"/> | 7 | <result property="merId" column="mer_id"/> |
8 | <result property="merName" column="mer_name"/> | 8 | <result property="merName" column="mer_name"/> |
@@ -28,37 +28,67 @@ | @@ -28,37 +28,67 @@ | ||
28 | created_time, | 28 | created_time, |
29 | modified_time | 29 | modified_time |
30 | </sql> | 30 | </sql> |
31 | - <sql id="Base_Condition_Column"> | ||
32 | - <if test="merId != null"> | 31 | + <sql id="UPDATE_Column"> |
32 | + <set> <if test="merId != null"> | ||
33 | mer_id = #{merId}, | 33 | mer_id = #{merId}, |
34 | </if> | 34 | </if> |
35 | - <if test="merName != null and merName != ''"> | ||
36 | - mer_name = #{merName}, | ||
37 | - </if> | ||
38 | - <if test="marketId != null and marketId != ''"> | ||
39 | - market_id = #{marketId}, | ||
40 | - </if> | ||
41 | - <if test="accountId != null"> | ||
42 | - account_id = #{accountId}, | ||
43 | - </if> | ||
44 | - <if test="accountName != null and accountName != ''"> | ||
45 | - account_name = #{accountName}, | ||
46 | - </if> | ||
47 | - <if test="type != null"> | ||
48 | - type = #{type}, | ||
49 | - </if> | ||
50 | - <if test="status != null"> | ||
51 | - `status` = #{status}, | ||
52 | - </if> | ||
53 | - <if test="description != null and description != ''"> | ||
54 | - `description` = #{description}, | ||
55 | - </if> | ||
56 | - <if test="createdTime != null"> | ||
57 | - created_time = #{createdTime}, | ||
58 | - </if> | ||
59 | - <if test="modifiedTime != null"> | ||
60 | - modified_time = #{modifiedTime}, | ||
61 | - </if> | 35 | + <if test="merName != null and merName != ''"> |
36 | + mer_name = #{merName}, | ||
37 | + </if> | ||
38 | + <if test="marketId != null and marketId != ''"> | ||
39 | + market_id = #{marketId}, | ||
40 | + </if> | ||
41 | + <if test="accountId != null"> | ||
42 | + account_id = #{accountId}, | ||
43 | + </if> | ||
44 | + <if test="accountName != null and accountName != ''"> | ||
45 | + account_name = #{accountName}, | ||
46 | + </if> | ||
47 | + <if test="type != null"> | ||
48 | + type = #{type}, | ||
49 | + </if> | ||
50 | + <if test="status != null"> | ||
51 | + `status` = #{status}, | ||
52 | + </if> | ||
53 | + <if test="description != null and description != ''"> | ||
54 | + `description` = #{description}, | ||
55 | + </if> | ||
56 | + <if test="createdTime != null"> | ||
57 | + created_time = #{createdTime}, | ||
58 | + </if> | ||
59 | + <if test="modifiedTime != null"> | ||
60 | + modified_time = #{modifiedTime}, | ||
61 | + </if> | ||
62 | + </set> | ||
63 | + </sql> | ||
64 | + | ||
65 | + <sql id="WHERE_COLUMN"> | ||
66 | + <where> | ||
67 | + <if test="merId != null"> | ||
68 | + and mer_id = #{merId} | ||
69 | + </if> | ||
70 | + <if test="merName != null and merName != ''"> | ||
71 | + and mer_name = #{merName} | ||
72 | + </if> | ||
73 | + <if test="marketId != null and marketId != ''"> | ||
74 | + and market_id = #{marketId} | ||
75 | + </if> | ||
76 | + <if test="accountId != null"> | ||
77 | + and account_id = #{accountId} | ||
78 | + </if> | ||
79 | + <if test="accountName != null and accountName != ''"> | ||
80 | + and account_name = #{accountName} | ||
81 | + </if> | ||
82 | + <if test="type != null"> | ||
83 | + and type = #{type} | ||
84 | + </if> | ||
85 | + <if test="status != null"> | ||
86 | + and `status` = #{status} | ||
87 | + </if> | ||
88 | + <if test="description != null and description != ''"> | ||
89 | + and `description` = #{description} | ||
90 | + </if> | ||
91 | + </where> | ||
62 | </sql> | 92 | </sql> |
63 | 93 | ||
64 | <!--查询单个--> | 94 | <!--查询单个--> |
@@ -77,19 +107,17 @@ | @@ -77,19 +107,17 @@ | ||
77 | limit #{offset}, #{limit} | 107 | limit #{offset}, #{limit} |
78 | </select> | 108 | </select> |
79 | 109 | ||
80 | - <select id="findByCondition" parameterType="com.diligrp.xtrade.product.domain.entity.Merchant" resultMap="XtMerchantMap"> | 110 | + <select id="findByCondition" parameterType="com.diligrp.xtrade.product.domain.entity.MerchantDo" resultMap="XtMerchantMap"> |
81 | SELECT | 111 | SELECT |
82 | <include refid="Base_Column"/> | 112 | <include refid="Base_Column"/> |
83 | from xt_merchant | 113 | from xt_merchant |
84 | - <where> | ||
85 | - <include refid="Base_Condition_Column"/> | ||
86 | - </where> | 114 | + <include refid="WHERE_COLUMN"/> |
87 | </select> | 115 | </select> |
88 | 116 | ||
89 | <!--新增所有列--> | 117 | <!--新增所有列--> |
90 | <insert id="insert" keyProperty="id" useGeneratedKeys="true"> | 118 | <insert id="insert" keyProperty="id" useGeneratedKeys="true"> |
91 | insert into xt_merchant(mer_id, mer_name, market_id, account_id, account_name, type, status, description, | 119 | insert into xt_merchant(mer_id, mer_name, market_id, account_id, account_name, type, status, description, |
92 | - created_time, modified_time) | 120 | + created_time, modified_time) |
93 | values (#{merId}, #{merName}, #{marketId}, #{accountId}, #{accountName}, #{type}, #{status}, #{description}, | 121 | values (#{merId}, #{merName}, #{marketId}, #{accountId}, #{accountName}, #{type}, #{status}, #{description}, |
94 | #{createdTime}, #{modifiedTime}) | 122 | #{createdTime}, #{modifiedTime}) |
95 | </insert> | 123 | </insert> |
@@ -97,9 +125,7 @@ | @@ -97,9 +125,7 @@ | ||
97 | <!--通过主键修改数据--> | 125 | <!--通过主键修改数据--> |
98 | <update id="update"> | 126 | <update id="update"> |
99 | update xt_merchant | 127 | update xt_merchant |
100 | - <set> | ||
101 | - <include refid="Base_Condition_Column"/> | ||
102 | - </set> | 128 | + <include refid="UPDATE_Column"/> |
103 | where id = #{id} | 129 | where id = #{id} |
104 | </update> | 130 | </update> |
105 | 131 |
src/test/java/com/diligrp/BaseTests.java
0 → 100644
1 | +package com.diligrp; | ||
2 | + | ||
3 | +import org.junit.runner.RunWith; | ||
4 | +import org.springframework.boot.test.context.SpringBootTest; | ||
5 | +import org.springframework.test.context.junit4.SpringRunner; | ||
6 | + | ||
7 | +/** | ||
8 | + * @Auther: miaoguoxin | ||
9 | + * @Date: 2019/7/18 21:42 | ||
10 | + */ | ||
11 | +@RunWith(SpringRunner.class) | ||
12 | +@SpringBootTest | ||
13 | +public class BaseTests { | ||
14 | + | ||
15 | +} |
src/test/java/com/diligrp/xtrade/product/controllor/MerchantDoControllerTest.java
0 → 100644
1 | +package com.diligrp.xtrade.product.controllor; | ||
2 | + | ||
3 | +import com.diligrp.BaseTests; | ||
4 | +import org.junit.jupiter.api.Test; | ||
5 | + | ||
6 | +/** | ||
7 | + * @Auther: miaoguoxin | ||
8 | + * @Date: 2020/4/22 13:58 | ||
9 | + */ | ||
10 | +class MerchantDoControllerTest extends BaseTests { | ||
11 | + | ||
12 | + @Test | ||
13 | + void save() { | ||
14 | + | ||
15 | + } | ||
16 | +} |
src/test/java/com/diligrp/xtrade/product/service/MerchantDoServiceTest.java
0 → 100644
1 | +package com.diligrp.xtrade.product.service; | ||
2 | + | ||
3 | +import com.diligrp.BaseTests; | ||
4 | +import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; | ||
5 | +import com.diligrp.xtrade.product.service.MerchantService; | ||
6 | +import com.diligrp.xtrade.shared.util.JsonUtils; | ||
7 | +import org.junit.jupiter.api.Test; | ||
8 | +import org.springframework.beans.factory.annotation.Autowired; | ||
9 | + | ||
10 | +import static org.junit.jupiter.api.Assertions.*; | ||
11 | + | ||
12 | +/** | ||
13 | + * @Auther: miaoguoxin | ||
14 | + * @Date: 2020/4/22 13:59 | ||
15 | + * @Description: | ||
16 | + */ | ||
17 | +class MerchantDoServiceTest extends BaseTests { | ||
18 | + @Autowired | ||
19 | + private MerchantService merchantService; | ||
20 | + @Test | ||
21 | + void create() throws Exception { | ||
22 | + String mockJson = "{\n" + | ||
23 | + " \"accountName\": \"test1\",\n" + | ||
24 | + " \"password\": \"123456\",\n" + | ||
25 | + " \"mobile\": \"135446546546\",\n" + | ||
26 | + " \"accountType\": 20,\n" + | ||
27 | + " \"merchantName\": \"测试商户\",\n" + | ||
28 | + " \"address\": \"成都市\"\n" + | ||
29 | + "}"; | ||
30 | + MerchantRequestDto requestDto = JsonUtils.fromJsonString(mockJson, MerchantRequestDto.class); | ||
31 | + merchantService.create(requestDto); | ||
32 | + } | ||
33 | +} |