Commit cb720a7afe390af265a9ed765fd47b43c45a7863
Merge branch 'master' of http://git3.nong12.com/xtrade/order-service
Showing
16 changed files
with
185 additions
and
117 deletions
src/main/java/com/diligrp/xtrade/order/domain/builder/DefaultOrderCreator.java
... | ... | @@ -33,21 +33,32 @@ public class DefaultOrderCreator { |
33 | 33 | |
34 | 34 | private OrderCreateRequestDto orderCreateDto; |
35 | 35 | |
36 | - private DefaultOrderCreator(AccountDto saccountDto, OrderCreateRequestDto orderCreateDto) { | |
36 | + private DefaultOrderCreator(AccountDto saccountDto, AccountDto baccountDto, OrderCreateRequestDto orderCreateDto) { | |
37 | 37 | this.saccountDto = saccountDto; |
38 | 38 | this.orderCreateDto = orderCreateDto; |
39 | + this.baccountDto = baccountDto; | |
39 | 40 | } |
40 | 41 | |
41 | 42 | public static DefaultOrderCreator builder(AccountDto saccountDto, OrderCreateRequestDto orderCreateDto, |
42 | 43 | Long orderId) { |
43 | 44 | orderCreateDto.setOrderId(orderId); |
44 | - return new DefaultOrderCreator(saccountDto, orderCreateDto); | |
45 | + return new DefaultOrderCreator(saccountDto, null, orderCreateDto); | |
46 | + } | |
47 | + | |
48 | + public static DefaultOrderCreator builder(AccountDto saccountDto, AccountDto baccountDto, | |
49 | + OrderCreateRequestDto orderCreateDto, Long orderId) { | |
50 | + orderCreateDto.setOrderId(orderId); | |
51 | + return new DefaultOrderCreator(saccountDto, baccountDto, orderCreateDto); | |
52 | + } | |
53 | + | |
54 | + public static DefaultOrderCreator builder(AccountDto baccountDto) { | |
55 | + return new DefaultOrderCreator(null, baccountDto, null); | |
45 | 56 | } |
46 | 57 | |
47 | 58 | public OrderDo createOrder() { |
48 | 59 | return this.orderDo; |
49 | 60 | } |
50 | - | |
61 | + | |
51 | 62 | public List<OrderItemDo> createOrderItems() { |
52 | 63 | return this.items; |
53 | 64 | } | ... | ... |
src/main/java/com/diligrp/xtrade/order/domain/dto/OrderQueryResponseDto.java
... | ... | @@ -82,6 +82,9 @@ public class OrderQueryResponseDto { |
82 | 82 | //支付时间 |
83 | 83 | private LocalDateTime payTime; |
84 | 84 | |
85 | + //创建时间 | |
86 | + private LocalDateTime createdTime; | |
87 | + | |
85 | 88 | //订单详情 |
86 | 89 | private List<OrderItemDto> items = new ArrayList<OrderItemDto>(); |
87 | 90 | |
... | ... | @@ -280,5 +283,13 @@ public class OrderQueryResponseDto { |
280 | 283 | public void setOrderType(Integer orderType) { |
281 | 284 | this.orderType = orderType; |
282 | 285 | } |
286 | + | |
287 | + public LocalDateTime getCreatedTime() { | |
288 | + return createdTime; | |
289 | + } | |
290 | + | |
291 | + public void setCreatedTime(LocalDateTime createdTime) { | |
292 | + this.createdTime = createdTime; | |
293 | + } | |
283 | 294 | |
284 | 295 | } | ... | ... |
src/main/java/com/diligrp/xtrade/order/rpc/feign/AccountResolver.java
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 | -} | |
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.value() != 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
1 | 1 | package com.diligrp.xtrade.order.service; |
2 | 2 | |
3 | -import java.util.List; | |
4 | - | |
5 | 3 | import com.diligrp.xtrade.order.domain.dto.OrderCreateRequestDto; |
6 | 4 | import com.diligrp.xtrade.order.domain.dto.OrderQueryRequestDto; |
7 | 5 | import com.diligrp.xtrade.order.domain.dto.OrderQueryResponseDto; |
6 | +import com.diligrp.xtrade.shared.domain.Page; | |
8 | 7 | |
9 | 8 | /** |
10 | 9 | * |
... | ... | @@ -25,7 +24,7 @@ public interface OrderService { |
25 | 24 | * @Title orderLists |
26 | 25 | * @Description 获取订单列表 |
27 | 26 | */ |
28 | - List<OrderQueryResponseDto> orderLists(OrderQueryRequestDto orderQueryRequestDto); | |
27 | + Page<OrderQueryResponseDto> orderLists(OrderQueryRequestDto orderQueryRequestDto); | |
29 | 28 | |
30 | 29 | /** |
31 | 30 | * @Title orderDetail | ... | ... |
src/main/java/com/diligrp/xtrade/order/service/impl/OrderServiceImpl.java
... | ... | @@ -22,6 +22,7 @@ import com.diligrp.xtrade.order.domain.emuns.IdGenerator; |
22 | 22 | import com.diligrp.xtrade.order.domain.entity.OrderDo; |
23 | 23 | import com.diligrp.xtrade.order.rpc.feign.AccountResolver; |
24 | 24 | import com.diligrp.xtrade.order.service.OrderService; |
25 | +import com.diligrp.xtrade.shared.domain.Page; | |
25 | 26 | import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; |
26 | 27 | |
27 | 28 | @Service("orderService") |
... | ... | @@ -67,17 +68,23 @@ public class OrderServiceImpl implements OrderService { |
67 | 68 | |
68 | 69 | // TODO need modify because of change |
69 | 70 | @Override |
70 | - public List<OrderQueryResponseDto> orderLists(OrderQueryRequestDto orderQueryRequestDto) { | |
71 | + public Page<OrderQueryResponseDto> orderLists(OrderQueryRequestDto orderQueryRequestDto) { | |
72 | + Page<OrderQueryResponseDto> orderPage = new Page<OrderQueryResponseDto>(); | |
73 | + List<OrderQueryResponseDto> roResponseDtos = new ArrayList<OrderQueryResponseDto>(); | |
74 | + orderPage.setData(roResponseDtos); | |
71 | 75 | OrderDo order = new OrderDo(); |
72 | 76 | BeanUtils.copyProperties(orderQueryRequestDto, order); |
77 | + int total = orderDao.selectEntryListCount(order); | |
78 | + if (total == 0) { | |
79 | + return orderPage; | |
80 | + } | |
73 | 81 | List<OrderDo> orderDos = orderDao.selectEntryList(order); |
74 | - List<OrderQueryResponseDto> roResponseDtos = new ArrayList<OrderQueryResponseDto>(); | |
75 | 82 | for (OrderDo orderDo : orderDos) { |
76 | 83 | OrderQueryResponseDto orderQueryResponseDto = new OrderQueryResponseDto(); |
77 | 84 | BeanUtils.copyProperties(orderDo, orderQueryResponseDto); |
78 | 85 | roResponseDtos.add(orderQueryResponseDto); |
79 | 86 | } |
80 | - return roResponseDtos; | |
87 | + return orderPage; | |
81 | 88 | } |
82 | 89 | |
83 | 90 | // TODO need modify because of change | ... | ... |
src/main/java/com/diligrp/xtrade/product/dao/ShopDao.java
... | ... | @@ -6,24 +6,26 @@ import org.apache.ibatis.annotations.Mapper; |
6 | 6 | |
7 | 7 | import com.diligrp.xtrade.product.domain.dto.ShopQueryDto; |
8 | 8 | import com.diligrp.xtrade.product.domain.entity.ShopDo; |
9 | +import org.apache.ibatis.annotations.Param; | |
10 | + | |
9 | 11 | /** |
10 | - * | |
12 | + * @author yangfan | |
11 | 13 | * @ClassName: ShopDao |
12 | 14 | * @Description 店铺dao |
13 | - * @author yangfan | |
14 | 15 | * @date 2020年4月21日 |
15 | 16 | */ |
16 | 17 | @Mapper |
17 | 18 | public interface ShopDao { |
18 | - | |
19 | - void insert(ShopDo shop); | |
20 | - | |
21 | - void update(ShopDo shop); | |
22 | - | |
23 | - ShopDo selectByShopId(Long shopId); | |
24 | - | |
25 | - List<ShopDo> selectByMerId(Long merId); | |
26 | - | |
27 | - List<ShopDo> selectShop(ShopQueryDto shopQueryDto); | |
28 | - | |
19 | + | |
20 | + void insert(ShopDo shop); | |
21 | + | |
22 | + void update(ShopDo shop); | |
23 | + | |
24 | + ShopDo selectByShopId(Long shopId); | |
25 | + | |
26 | + List<ShopDo> selectByMerId(Long merId); | |
27 | + | |
28 | + List<ShopDo> selectShop(ShopQueryDto shopQueryDto); | |
29 | + | |
30 | + void updateTypeByMerId(@Param("type") Integer type, @Param("merId") Long merId); | |
29 | 31 | } | ... | ... |
src/main/java/com/diligrp/xtrade/product/domain/builder/MerchantAccountBuilder.java
0 → 100644
1 | +package com.diligrp.xtrade.product.domain.builder; | |
2 | + | |
3 | +import com.alibaba.nacos.common.utils.Md5Utils; | |
4 | +import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; | |
5 | +import com.diligrp.xtrade.product.domain.emuns.AccountStatus; | |
6 | +import com.diligrp.xtrade.product.domain.entity.AccountDo; | |
7 | + | |
8 | +import java.time.LocalDateTime; | |
9 | + | |
10 | +/** | |
11 | + * @Auther: miaoguoxin | |
12 | + * @Date: 2020/4/23 09:23 | |
13 | + */ | |
14 | +public class MerchantAccountBuilder { | |
15 | + | |
16 | + public static AccountDo buildDoFromMerchant(MerchantRequestDto requestDto, Long merId) { | |
17 | + String password = String.format("%s_%s", | |
18 | + requestDto.getAccountName(), requestDto.getPassword()); | |
19 | + AccountDo newAccountDo = new AccountDo(); | |
20 | + newAccountDo.setName(requestDto.getAccountName()); | |
21 | + newAccountDo.setRealName(requestDto.getRealName()); | |
22 | + newAccountDo.setPassword(Md5Utils.getMD5(password, "UTF-8")); | |
23 | + newAccountDo.setMobile(requestDto.getMobile()); | |
24 | + newAccountDo.setStatus(AccountStatus.NORMAL.getCode()); | |
25 | + newAccountDo.setIsAdmin(1); | |
26 | + newAccountDo.setMerId(merId); | |
27 | + newAccountDo.setCreatedTime(LocalDateTime.now()); | |
28 | + return newAccountDo; | |
29 | + } | |
30 | +} | ... | ... |
src/main/java/com/diligrp/xtrade/product/domain/builder/MerchantBuilder.java
... | ... | @@ -16,10 +16,10 @@ import java.util.Optional; |
16 | 16 | */ |
17 | 17 | public class MerchantBuilder { |
18 | 18 | |
19 | - public static MerchantDo request2Entity(MerchantRequestDto requestDto) { | |
19 | + public static MerchantDo buildDoFromRequest(MerchantRequestDto requestDto) { | |
20 | 20 | Integer type = Optional.ofNullable(requestDto.getAccountType()) |
21 | 21 | .map(AccountType::getCode) |
22 | - .orElse(0); | |
22 | + .orElse(null); | |
23 | 23 | MerchantDo merchantDo = new MerchantDo(); |
24 | 24 | merchantDo.setMerName(requestDto.getMerchantName()); |
25 | 25 | merchantDo.setAccountId(requestDto.getAccountId()); |
... | ... | @@ -30,7 +30,7 @@ public class MerchantBuilder { |
30 | 30 | return merchantDo; |
31 | 31 | } |
32 | 32 | |
33 | - public static MerchantResponseDto entity2Response(MerchantDo merchantDo){ | |
33 | + public static MerchantResponseDto buildResponseFromDo(MerchantDo merchantDo){ | |
34 | 34 | MerchantResponseDto responseDto = new MerchantResponseDto(); |
35 | 35 | BeanUtils.copyProperties(merchantDo,responseDto); |
36 | 36 | responseDto.setType(AccountType.getAccountType(merchantDo.getType())); | ... | ... |
src/main/java/com/diligrp/xtrade/product/repository/AccountRepository.java
1 | 1 | package com.diligrp.xtrade.product.repository; |
2 | 2 | |
3 | +import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | |
3 | 4 | import com.diligrp.xtrade.product.domain.entity.AccountDo; |
4 | 5 | import com.diligrp.xtrade.product.domain.entity.OperatorDo; |
6 | +import com.diligrp.xtrade.shared.sequence.IKeyGenerator; | |
7 | +import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | |
8 | +import org.springframework.beans.factory.annotation.Autowired; | |
5 | 9 | import org.springframework.stereotype.Repository; |
6 | 10 | |
7 | 11 | import java.util.ArrayList; |
... | ... | @@ -15,6 +19,8 @@ import java.util.List; |
15 | 19 | @Repository |
16 | 20 | public class AccountRepository implements IAccountRepository { |
17 | 21 | private final static List<AccountDo> ACCOUNT_DOS = new ArrayList<>(); |
22 | + @Autowired | |
23 | + private KeyGeneratorManager keyGeneratorManager; | |
18 | 24 | @Override |
19 | 25 | public OperatorDo getOperator() { |
20 | 26 | OperatorDo operatorDo = new OperatorDo(); |
... | ... | @@ -35,6 +41,8 @@ public class AccountRepository implements IAccountRepository { |
35 | 41 | |
36 | 42 | @Override |
37 | 43 | public void add(AccountDo accountDo) { |
44 | + IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.ACCOUNT_SEQUENCE); | |
45 | + accountDo.setId(keyGenerator.nextId()); | |
38 | 46 | ACCOUNT_DOS.add(accountDo); |
39 | 47 | } |
40 | 48 | } | ... | ... |
src/main/java/com/diligrp/xtrade/product/repository/MerchantRepository.java
... | ... | @@ -42,16 +42,11 @@ public class MerchantRepository implements IMerchantRepository { |
42 | 42 | public void add(MerchantDo newMerchantDo) { |
43 | 43 | IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.MERCHANT_SEQUENCE); |
44 | 44 | newMerchantDo.setMerId(keyGenerator.nextId()); |
45 | - newMerchantDo.setMarketId("SY001"); | |
46 | 45 | merchantDao.insert(newMerchantDo); |
47 | 46 | } |
48 | 47 | |
49 | 48 | @Override |
50 | 49 | public void update(MerchantDo merchantDo) { |
51 | - merchantDo.setModifiedTime(LocalDateTime.now()); | |
52 | - ShopDo shopDo = new ShopDo(); | |
53 | - shopDo.setType(AccountType.PUBLIC.getCode()); | |
54 | - shopDo.setMerId(merchantDo.getMerId()); | |
55 | - shopDao.update(shopDo); | |
50 | + merchantDao.update(merchantDo); | |
56 | 51 | } |
57 | 52 | } | ... | ... |
src/main/java/com/diligrp/xtrade/product/service/AccountService.java
... | ... | @@ -10,7 +10,5 @@ import com.diligrp.xtrade.product.domain.entity.MerchantDo; |
10 | 10 | */ |
11 | 11 | public interface AccountService { |
12 | 12 | |
13 | - AccountDo build(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception; | |
14 | - | |
15 | - void create(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception; | |
13 | + void create(MerchantRequestDto requestDto, MerchantDo merchantDo); | |
16 | 14 | } | ... | ... |
src/main/java/com/diligrp/xtrade/product/service/ShopService.java
... | ... | @@ -4,10 +4,11 @@ import java.util.List; |
4 | 4 | |
5 | 5 | import com.diligrp.xtrade.product.domain.dto.ShopDto; |
6 | 6 | import com.diligrp.xtrade.product.domain.dto.ShopQueryDto; |
7 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; | |
7 | 8 | import com.diligrp.xtrade.product.domain.entity.ShopDo; |
8 | 9 | |
9 | 10 | public interface ShopService { |
10 | - | |
11 | + | |
11 | 12 | /** |
12 | 13 | * @Title insert |
13 | 14 | * @Description 保存shop |
... | ... | @@ -15,18 +16,18 @@ public interface ShopService { |
15 | 16 | * @throws |
16 | 17 | */ |
17 | 18 | void insert(ShopDto shop); |
18 | - | |
19 | + | |
19 | 20 | /** |
20 | - * | |
21 | + * | |
21 | 22 | * @Title update |
22 | 23 | * @Description 修改 |
23 | 24 | * @param shop |
24 | 25 | * @throws |
25 | 26 | */ |
26 | 27 | void update(ShopDto shop); |
27 | - | |
28 | + | |
28 | 29 | /** |
29 | - * | |
30 | + * | |
30 | 31 | * @Title selectByMerId |
31 | 32 | * @Description 店铺id查询 |
32 | 33 | * @param merId |
... | ... | @@ -34,9 +35,9 @@ public interface ShopService { |
34 | 35 | * @throws |
35 | 36 | */ |
36 | 37 | ShopDo selectByShopId(Long shopId); |
37 | - | |
38 | + | |
38 | 39 | /** |
39 | - * | |
40 | + * | |
40 | 41 | * @Title selectByMerId |
41 | 42 | * @Description 根据商户id获取名下全部商铺 |
42 | 43 | * @param merId |
... | ... | @@ -44,9 +45,9 @@ public interface ShopService { |
44 | 45 | * @throws |
45 | 46 | */ |
46 | 47 | List<ShopDo> selectShopByMerId(Long merId); |
47 | - | |
48 | + | |
48 | 49 | /** |
49 | - * | |
50 | + * | |
50 | 51 | * @Title selectShop |
51 | 52 | * @Description 商铺查询 |
52 | 53 | * @param shopQuery |
... | ... | @@ -54,4 +55,6 @@ public interface ShopService { |
54 | 55 | * @throws |
55 | 56 | */ |
56 | 57 | List<ShopDo> selectShop(ShopQueryDto shopQuery); |
58 | + | |
59 | + void updateShopTypeWithMerchant(MerchantDo merchantDo); | |
57 | 60 | } | ... | ... |
src/main/java/com/diligrp/xtrade/product/service/impl/AccountServiceImpl.java
1 | 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.builder.MerchantAccountBuilder; | |
4 | 4 | import com.diligrp.xtrade.product.domain.dto.MerchantRequestDto; |
5 | -import com.diligrp.xtrade.product.domain.emuns.AccountStatus; | |
6 | -import com.diligrp.xtrade.product.domain.emuns.IKeyGeneratorKeys; | |
7 | 5 | import com.diligrp.xtrade.product.domain.entity.AccountDo; |
8 | 6 | import com.diligrp.xtrade.product.domain.entity.MerchantDo; |
9 | 7 | import com.diligrp.xtrade.product.repository.IAccountRepository; |
10 | 8 | import com.diligrp.xtrade.product.service.AccountService; |
11 | -import com.diligrp.xtrade.shared.sequence.IKeyGenerator; | |
12 | -import com.diligrp.xtrade.shared.sequence.KeyGeneratorManager; | |
13 | 9 | import org.springframework.beans.factory.annotation.Autowired; |
14 | 10 | import org.springframework.stereotype.Service; |
15 | 11 | |
16 | -import java.time.LocalDateTime; | |
17 | - | |
18 | 12 | /** |
19 | 13 | * @Auther: miaoguoxin |
20 | 14 | * @Date: 2020/4/22 11:10 |
... | ... | @@ -23,30 +17,10 @@ import java.time.LocalDateTime; |
23 | 17 | public class AccountServiceImpl implements AccountService { |
24 | 18 | @Autowired |
25 | 19 | private IAccountRepository accountRepository; |
26 | - @Autowired | |
27 | - private KeyGeneratorManager keyGeneratorManager; | |
28 | - | |
29 | - @Override | |
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()); | |
42 | - IKeyGenerator keyGenerator = keyGeneratorManager.getKeyGenerator(IKeyGeneratorKeys.ACCOUNT_SEQUENCE); | |
43 | - newAccountDo.setId(keyGenerator.nextId()); | |
44 | - return newAccountDo; | |
45 | - } | |
46 | 20 | |
47 | 21 | @Override |
48 | - public void create(MerchantRequestDto requestDto, MerchantDo merchantDo) throws Exception { | |
49 | - AccountDo newAccountDo = this.build(requestDto, merchantDo); | |
22 | + public void create(MerchantRequestDto requestDto, MerchantDo merchantDo) { | |
23 | + AccountDo newAccountDo = MerchantAccountBuilder.buildDoFromMerchant(requestDto, merchantDo.getMerId()); | |
50 | 24 | accountRepository.add(newAccountDo); |
51 | 25 | } |
52 | 26 | ... | ... |
src/main/java/com/diligrp/xtrade/product/service/impl/MerchantServiceImpl.java
... | ... | @@ -13,10 +13,13 @@ import com.diligrp.xtrade.product.repository.IAccountRepository; |
13 | 13 | import com.diligrp.xtrade.product.repository.IMerchantRepository; |
14 | 14 | import com.diligrp.xtrade.product.service.AccountService; |
15 | 15 | import com.diligrp.xtrade.product.service.MerchantService; |
16 | +import com.diligrp.xtrade.product.service.ShopService; | |
16 | 17 | import org.springframework.beans.factory.annotation.Autowired; |
17 | 18 | import org.springframework.stereotype.Service; |
18 | 19 | import org.springframework.transaction.annotation.Transactional; |
19 | 20 | |
21 | +import java.util.Optional; | |
22 | + | |
20 | 23 | @Service |
21 | 24 | public class MerchantServiceImpl implements MerchantService { |
22 | 25 | @Autowired |
... | ... | @@ -25,6 +28,8 @@ public class MerchantServiceImpl implements MerchantService { |
25 | 28 | private IMerchantRepository merchantRepository; |
26 | 29 | @Autowired |
27 | 30 | private AccountService accountService; |
31 | + @Autowired | |
32 | + private ShopService shopService; | |
28 | 33 | |
29 | 34 | @Override |
30 | 35 | @Transactional(rollbackFor = Exception.class) |
... | ... | @@ -38,17 +43,28 @@ public class MerchantServiceImpl implements MerchantService { |
38 | 43 | } |
39 | 44 | MerchantDo merchantDo = merchantRepository.getByAccountId(requestDto.getAccountId()); |
40 | 45 | if (merchantDo == null){ |
41 | - merchantDo = MerchantBuilder.request2Entity(requestDto); | |
46 | + merchantDo = MerchantBuilder.buildDoFromRequest(requestDto); | |
47 | + merchantDo.setMarketId("SYSGDL"); | |
42 | 48 | merchantRepository.add(merchantDo); |
43 | 49 | } else { |
44 | 50 | if (AccountType.PERSONAL.getCode() != merchantDo.getType()){ |
45 | 51 | throw new ProductException(ExceptionEnum.CARD_MERCHANT_CREATED); |
46 | 52 | } |
53 | + this.updateMerchant(merchantDo, requestDto); | |
47 | 54 | merchantRepository.update(merchantDo); |
55 | + shopService.updateShopTypeWithMerchant(merchantDo); | |
48 | 56 | } |
49 | 57 | //创建市场管理员账户 |
50 | 58 | accountService.create(requestDto, merchantDo); |
51 | - return MerchantBuilder.entity2Response(merchantDo); | |
59 | + return MerchantBuilder.buildResponseFromDo(merchantDo); | |
52 | 60 | } |
53 | 61 | |
62 | + private void updateMerchant(MerchantDo merchantDo, MerchantRequestDto requestDto) { | |
63 | + Integer accountType = Optional.ofNullable(requestDto.getAccountType()) | |
64 | + .map(AccountType::getCode).orElse(null); | |
65 | + merchantDo.setMerName(requestDto.getMerchantName()); | |
66 | + merchantDo.setAccountId(requestDto.getAccountId()); | |
67 | + merchantDo.setType(accountType); | |
68 | + merchantDo.setDescription(requestDto.getAddress()); | |
69 | + } | |
54 | 70 | } | ... | ... |
src/main/java/com/diligrp/xtrade/product/service/impl/ShopServiceImpl.java
1 | 1 | package com.diligrp.xtrade.product.service.impl; |
2 | 2 | |
3 | +import java.time.LocalDateTime; | |
3 | 4 | import java.util.List; |
4 | 5 | |
6 | +import com.diligrp.xtrade.product.domain.emuns.AccountType; | |
7 | +import com.diligrp.xtrade.product.domain.entity.MerchantDo; | |
5 | 8 | import org.springframework.beans.BeanUtils; |
6 | 9 | import org.springframework.beans.factory.annotation.Autowired; |
7 | 10 | import org.springframework.stereotype.Service; |
... | ... | @@ -68,4 +71,9 @@ public class ShopServiceImpl implements ShopService { |
68 | 71 | return shops; |
69 | 72 | } |
70 | 73 | |
74 | + @Override | |
75 | + public void updateShopTypeWithMerchant(MerchantDo merchantDo) { | |
76 | + shopDao.updateTypeByMerId(AccountType.PUBLIC.getCode(), merchantDo.getMerId()); | |
77 | + } | |
78 | + | |
71 | 79 | } | ... | ... |
src/main/resources/mapping/com/diligrp/xtrade/product/ShopDao.xml
1 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | 3 | <mapper namespace="com.diligrp.xtrade.product.dao.ShopDao"> |
4 | - | |
4 | + | |
5 | 5 | <sql id="QUERY_COLUMN_LIST"> |
6 | 6 | <![CDATA[ |
7 | 7 | `id`, `shop_id` AS shopId, `shop_name` AS shopName, `address`, `mer_id` AS merId, `type`, `status`, |
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 | <if test="selfShop != null and selfShop != ''"><![CDATA[AND self_shop = #{selfShop}]]></if> |
34 | 34 | </where> |
35 | 35 | </sql> |
36 | - | |
36 | + | |
37 | 37 | <insert id="insert" parameterType="com.diligrp.xtrade.product.domain.entity.ShopDo"> |
38 | 38 | <![CDATA[ |
39 | 39 | INSERT INTO `xt_shop`(`id`, `shop_id`, `shop_name`, `self_shop`, `mer_id`, `main_biz`, `type`, `status`, `address`, `description`, `created_time`, `modified_time`) |
... | ... | @@ -42,21 +42,27 @@ |
42 | 42 | </insert> |
43 | 43 | <select id="selectByShopId" parameterType="long" resultType="com.diligrp.xtrade.product.domain.entity.ShopDo"> |
44 | 44 | <![CDATA[ |
45 | - SELECT | |
45 | + SELECT | |
46 | 46 | ]]> |
47 | 47 | <include refid="QUERY_COLUMN_LIST" /> |
48 | 48 | <![CDATA[ |
49 | 49 | FROM `xt_shop` WHERE shop_id = #{shopId} |
50 | 50 | ]]> |
51 | 51 | </select> |
52 | - <update id="update" parameterType="com.diligrp.xtrade.product.domain.entity.ShopDo"> | |
52 | + <update id="update" parameterType="com.diligrp.xtrade.product.domain.entity.ShopDo"> | |
53 | 53 | <![CDATA[UPDATE `xt_shop`]]> |
54 | 54 | <include refid="UPDATE_COLUMN_SET" /> |
55 | 55 | <![CDATA[WHERE shop_id = #{shopId}]]> |
56 | 56 | </update> |
57 | - <select id="selectByMerId" parameterType="long" resultType="com.diligrp.xtrade.product.domain.entity.ShopDo"> | |
57 | + <update id="updateTypeByMerId"> | |
58 | + UPDATE xt_shop | |
59 | + SET type = #{type}, | |
60 | + modified_time = now() | |
61 | + WHERE mer_id = #{merId} | |
62 | + </update> | |
63 | + <select id="selectByMerId" parameterType="long" resultType="com.diligrp.xtrade.product.domain.entity.ShopDo"> | |
58 | 64 | <![CDATA[ |
59 | - SELECT | |
65 | + SELECT | |
60 | 66 | ]]> |
61 | 67 | <include refid="QUERY_COLUMN_LIST" /> |
62 | 68 | <![CDATA[ |
... | ... | @@ -65,12 +71,12 @@ |
65 | 71 | </select> |
66 | 72 | <select id="selectShop" parameterType="com.diligrp.xtrade.product.domain.dto.ShopQueryDto" resultType="com.diligrp.xtrade.product.domain.entity.ShopDo"> |
67 | 73 | <![CDATA[ |
68 | - SELECT | |
74 | + SELECT | |
69 | 75 | ]]> |
70 | 76 | <include refid="QUERY_COLUMN_LIST" /> |
71 | 77 | <![CDATA[ |
72 | - FROM `xt_shop` | |
78 | + FROM `xt_shop` | |
73 | 79 | ]]> |
74 | 80 | <include refid="QUERY_WHERE_CLAUSE" /> |
75 | 81 | </select> |
76 | -</mapper> | |
77 | 82 | \ No newline at end of file |
83 | +</mapper> | ... | ... |