11
This commit is contained in:
1 parent
d6d36d689f
commit
fdf6dc8072
12 files changed
+79
-38
No files matched your search
@@ -104,7 +104,7 @@
|
||||
<groupId>com.bsd</groupId>
|
||||
<artifactId>pjcloud-common-swagger</artifactId>
|
||||
</dependency>
|
||||
<!-- 引入分布式事务-->
|
||||
<!-- 引入分布式事务-->
|
||||
<dependency>
|
||||
<groupId>com.bsd</groupId>
|
||||
<artifactId>pjcloud-common-seata</artifactId>
|
||||
|
||||
+1
-1
@@ -56,7 +56,7 @@ public interface RemoteCanteenSpuService {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/canteenSpu/ad/updateSkuStock")
|
||||
R getAllSimple(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO);
|
||||
R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ public interface RemoteOnlineCanteenSpuService {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/canteenOnlineSpu/app/updateSkuStock")
|
||||
R getAllSimple(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO);
|
||||
R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ public class CanteenOnlineSpuServiceImpl extends ServiceImpl<CanteenOnlineSpuMap
|
||||
@Override
|
||||
public R<List<APPOnlineSpuVO>> getCanteenOnlineSpuList(String categoryId, String merchantId) {
|
||||
LambdaQueryWrapper<CanteenOnlineSpuEntity> canteenOnlineSpuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
canteenOnlineSpuEntityLambdaQueryWrapper.eq(StringUtils.isNotEmpty(categoryId),CanteenOnlineSpuEntity::getCategoryId, categoryId);
|
||||
canteenOnlineSpuEntityLambdaQueryWrapper.eq(StringUtils.isNotEmpty(categoryId), CanteenOnlineSpuEntity::getCategoryId, categoryId);
|
||||
canteenOnlineSpuEntityLambdaQueryWrapper.eq(CanteenOnlineSpuEntity::getMerchantId, merchantId);
|
||||
List<CanteenOnlineSpuEntity> canteenSpuEntities = baseMapper.selectList(canteenOnlineSpuEntityLambdaQueryWrapper);
|
||||
List<APPOnlineSpuVO> bean = BeanUtils.toBean(canteenSpuEntities, APPOnlineSpuVO.class);
|
||||
@@ -38,7 +38,7 @@ public class CanteenOnlineSpuServiceImpl extends ServiceImpl<CanteenOnlineSpuMap
|
||||
// 更新 SKU 库存
|
||||
canteenOnlineSpuUpdateStockReqDTO.getItems().forEach(item -> {
|
||||
int i = baseMapper.updateStock(item.getId(), item.getIncrCount());
|
||||
if (item.getIncrCount() < 0) {
|
||||
if (item.getIncrCount() <= 0) {
|
||||
if (i == 0) {
|
||||
R.failed("商品库存不足");
|
||||
}
|
||||
|
||||
+3
-4
@@ -40,20 +40,19 @@ public class CanteenSpuServiceImpl extends ServiceImpl<CanteenSpuMapper, Canteen
|
||||
// 更新 SKU 库存
|
||||
updateStockReqDTO.getItems().forEach(item -> {
|
||||
int i = baseMapper.updateStock(item.getId(), item.getIncrCount());
|
||||
if (item.getIncrCount() < 0) {
|
||||
if (item.getIncrCount() <= 0) {
|
||||
if (i == 0) {
|
||||
R.failed("商品库存不足");
|
||||
R.failed("商品库存不足");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@Override
|
||||
public R getCanteenSpuList(String categoryId) {
|
||||
List<CanteenSpuEntity> canteenSpuEntities = baseMapper.selectListByScope(new LambdaQueryWrapper<CanteenSpuEntity>()
|
||||
.eq(StringUtils.isNotEmpty(categoryId), CanteenSpuEntity::getCategoryId, categoryId),DataScope.of());
|
||||
.eq(StringUtils.isNotEmpty(categoryId), CanteenSpuEntity::getCategoryId, categoryId), DataScope.of());
|
||||
List<ADCanteenSpuListVO> bean = BeanUtils.toBean(canteenSpuEntities, ADCanteenSpuListVO.class);
|
||||
return R.ok(bean);
|
||||
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ public interface HardOrderService extends IService<HardOrderEntity> {
|
||||
void generateCode(HardOrderEntity order);
|
||||
|
||||
/**
|
||||
* 扣件库存
|
||||
* 扣减库存
|
||||
*/
|
||||
void fastenerInventory(HardOrderEntity order);
|
||||
|
||||
|
||||
+52
-12
@@ -10,6 +10,9 @@ import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteDeptService;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.admin.api.utils.DataUtil;
|
||||
import com.bsd.pjcloud.canteen.api.feign.RemoteCanteenSpuService;
|
||||
import com.bsd.pjcloud.canteen.api.feign.RemoteOnlineCanteenSpuService;
|
||||
import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.CollectionUtils;
|
||||
@@ -36,6 +39,9 @@ import com.bsd.pjcloud.hard.mapper.order.HardOrderMapper;
|
||||
import com.bsd.pjcloud.hard.service.HardCarService;
|
||||
import com.bsd.pjcloud.hard.service.HardManagerService;
|
||||
import com.bsd.pjcloud.hard.service.HardOrderService;
|
||||
import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketSpuService;
|
||||
import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketUnitSkuService;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletCodeBizEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum;
|
||||
@@ -89,6 +95,9 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
private final RemoteUserService userService;
|
||||
private final RemoteDeptService deptService;
|
||||
|
||||
private final RemoteOnlineCanteenSpuService onlineCanteenSpuService;
|
||||
private final RemoteSupermarketSpuService supermarketSpuService;
|
||||
|
||||
private final HardManagerMapper hardManagerMapper;
|
||||
|
||||
@Override
|
||||
@@ -234,6 +243,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
}
|
||||
|
||||
@Override
|
||||
@GlobalTransactional
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long appCreateOrder(@Valid HardAppCreateOrderDto dto) {
|
||||
// 钱包
|
||||
@@ -284,12 +294,13 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
// 钱包扣款
|
||||
if (isPay) getSelf().fastReduceBalance(orderObj);
|
||||
// 是否需要创建二维码
|
||||
generateCode(orderObj);
|
||||
getSelf().generateCode(orderObj);
|
||||
// 扣减库存
|
||||
getSelf().fastenerInventory(orderObj);
|
||||
return orderObj.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@GlobalTransactional
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void fastReduceBalance(HardOrderEntity order) {
|
||||
boolean isPay = isPay(HardOrderTypeEnum.valueOfByType(order.getOrderType()), HardPayTypeEnum.valueOfByType(order.getPayType()));
|
||||
@@ -298,7 +309,11 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
reduceBuild.setPrice(order.getPayPrice());
|
||||
reduceBuild.setBizId(String.valueOf(order.getId()));
|
||||
reduceBuild.setBizType(WalletBizEnum.PAYMENT);
|
||||
WalletTransactionEntity walletTransaction = walletTransactionService.reduceWalletBalance(reduceBuild).getData();
|
||||
R<WalletTransactionEntity> reduceRes = walletTransactionService.reduceWalletBalance(reduceBuild);
|
||||
if (reduceRes.getCode() != 0 || ObjectUtil.isEmpty(reduceRes.getData())) {
|
||||
throw new RuntimeException("钱包扣款错误");
|
||||
}
|
||||
WalletTransactionEntity walletTransaction = reduceRes.getData();
|
||||
if (ObjectUtil.isNotEmpty(walletTransaction)) {
|
||||
// 订单表订单状态
|
||||
Integer payPrice = isPay ? order.getTotalPrice() + order.getExtraPrice() : 0;
|
||||
@@ -307,10 +322,6 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
// 父购物车订单表订单状态
|
||||
HardParentCarEntity updateParentCar = HardParentCarEntity.builder().id(order.getParentCarId()).orderStatus(HardOrderStatusEnum.PAY.getType()).build();
|
||||
hardParentCarServiceImpl.updateById(updateParentCar);
|
||||
// 核销二维码
|
||||
cancelCode(order);
|
||||
// 扣件库存
|
||||
fastenerInventory(order);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -367,7 +378,6 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
}
|
||||
|
||||
@Override
|
||||
@GlobalTransactional
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void generateCode(HardOrderEntity order) {
|
||||
HardTypeEnum hardTypeEnum = HardTypeEnum.valueOfByType(order.getSysType());
|
||||
@@ -383,11 +393,13 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
codeType = WalletCodeBizEnum.SUPERMARKET_RESERVE;
|
||||
}
|
||||
if (ObjectUtil.isEmpty(codeType)) return;
|
||||
remoteCodeUseService.generateCode(order.getId(), order.getUserId(), codeType, 1);
|
||||
R<Boolean> res = remoteCodeUseService.generateCode(order.getId(), order.getUserId(), codeType, 1);
|
||||
if (res.getCode() != 0 || !res.getData()) {
|
||||
throw new RuntimeException("生成预约二维码错误");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@GlobalTransactional
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void fastenerInventory(HardOrderEntity order) {
|
||||
HardTypeEnum hardTypeEnum = HardTypeEnum.valueOfByType(order.getSysType());
|
||||
@@ -395,12 +407,40 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
|
||||
if (!ObjectUtil.isAllNotEmpty(hardTypeEnum, orderTypeEnum)) return;
|
||||
// 食堂扣件库存
|
||||
if (ObjectUtil.equals(hardTypeEnum, HardTypeEnum.CANTEEN) && ObjectUtil.equals(orderTypeEnum, HardOrderTypeEnum.RESERVE)) {
|
||||
|
||||
// 查询购物车
|
||||
List<HardCarEntity> carList = hardCarService.getByParentCarId(order.getParentCarId());
|
||||
if (ObjectUtil.isEmpty(carList)) throw new RuntimeException("扣减库存错误,购物车不存在");
|
||||
CanteenSpuUpdateStockReqDTO dto = new CanteenSpuUpdateStockReqDTO();
|
||||
List<CanteenSpuUpdateStockReqDTO.Item> list = carList.stream().map(v -> {
|
||||
CanteenSpuUpdateStockReqDTO.Item item = new CanteenSpuUpdateStockReqDTO.Item();
|
||||
item.setId(v.getProductId());
|
||||
item.setIncrCount(v.getProductCount());
|
||||
return item;
|
||||
}).toList();
|
||||
dto.setItems(list);
|
||||
R updateSkuStockRes = onlineCanteenSpuService.updateSkuStock(dto);
|
||||
if (updateSkuStockRes.getCode() != 0) {
|
||||
throw new RuntimeException("库存不足");
|
||||
}
|
||||
return;
|
||||
}
|
||||
// 超市扣家库存
|
||||
if (ObjectUtil.equals(hardTypeEnum, HardTypeEnum.SUPERMARKET) && ObjectUtil.equals(orderTypeEnum, HardOrderTypeEnum.RESERVE)) {
|
||||
|
||||
// 查询购物车
|
||||
List<HardCarEntity> carList = hardCarService.getByParentCarId(order.getParentCarId());
|
||||
if (ObjectUtil.isEmpty(carList)) throw new RuntimeException("扣减库存错误,购物车不存在");
|
||||
SupermarketSpuUpdateStockReqDTO dto = new SupermarketSpuUpdateStockReqDTO();
|
||||
List<SupermarketSpuUpdateStockReqDTO.Item> list = carList.stream().map(v -> {
|
||||
SupermarketSpuUpdateStockReqDTO.Item item = new SupermarketSpuUpdateStockReqDTO.Item();
|
||||
item.setId(v.getProductId());
|
||||
item.setIncrCount(v.getProductCount());
|
||||
return item;
|
||||
}).toList();
|
||||
dto.setItems(list);
|
||||
R updateSkuStockRes = supermarketSpuService.updateSpuStock(dto);
|
||||
if (updateSkuStockRes.getCode() != 0) {
|
||||
throw new RuntimeException("扣件库存错误");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ public interface RemoteSupermarketSpuService {
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/supermarketSpu/ad/updateSpuStock")
|
||||
R getSupermarketSpu(@RequestBody SupermarketSpuUpdateStockReqDTO updateStockReqDTO);
|
||||
R updateSpuStock(@RequestBody SupermarketSpuUpdateStockReqDTO updateStockReqDTO);
|
||||
|
||||
|
||||
|
||||
|
||||
+11
-10
@@ -41,6 +41,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
private final SupermarketUnitService supermarketUnitService;
|
||||
|
||||
private final SupermarketAuxiliaryCodeService supermarketAuxiliaryCodeService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public R saveSpu(SupermarketSpuEntity supermarketSpu) {
|
||||
@@ -52,15 +53,15 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
if (CollectionUtils.isNotEmpty(supermarketUnitEntityList)) {
|
||||
supermarketUnitEntityList.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId()));
|
||||
supermarketUnitService.saveBatch(supermarketUnitEntityList);
|
||||
}else {
|
||||
} else {
|
||||
return R.failed("包装类型不能为空");
|
||||
}
|
||||
//辅助条码
|
||||
List<SupermarketAuxiliaryCodeEntity> supermarketAuxiliaryCodeEntityList = supermarketSpu.getSupermarketAuxiliaryCodeEntityList();
|
||||
if (CollectionUtils.isNotEmpty(supermarketAuxiliaryCodeEntityList)) {
|
||||
supermarketAuxiliaryCodeEntityList.forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()));
|
||||
supermarketAuxiliaryCodeService.saveBatch(supermarketAuxiliaryCodeEntityList);
|
||||
}else {
|
||||
supermarketAuxiliaryCodeService.saveBatch(supermarketAuxiliaryCodeEntityList);
|
||||
} else {
|
||||
return R.failed("辅助条码不能为空");
|
||||
}
|
||||
|
||||
@@ -83,7 +84,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList());
|
||||
supermarketUnitService.updateBatchById(updateCollect);
|
||||
supermarketUnitService.saveBatch(insertCollect);
|
||||
}else {
|
||||
} else {
|
||||
return R.failed("包装类型不能为空");
|
||||
}
|
||||
//辅助条码
|
||||
@@ -94,7 +95,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
insertCollect.stream().forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()));
|
||||
supermarketAuxiliaryCodeService.saveBatch(insertCollect);
|
||||
supermarketAuxiliaryCodeService.updateBatchById(updateCollect);
|
||||
}else {
|
||||
} else {
|
||||
return R.failed("辅助条码不能为空");
|
||||
}
|
||||
return R.ok();
|
||||
@@ -106,11 +107,11 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
baseMapper.deleteByIds(list);
|
||||
|
||||
//删除
|
||||
list.forEach(id->{
|
||||
list.forEach(id -> {
|
||||
LambdaQueryWrapper<SupermarketAuxiliaryCodeEntity> supermarketAuxiliaryCodeEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
supermarketAuxiliaryCodeEntityLambdaQueryWrapper.eq(SupermarketAuxiliaryCodeEntity::getSpuId,id);
|
||||
supermarketAuxiliaryCodeEntityLambdaQueryWrapper.eq(SupermarketAuxiliaryCodeEntity::getSpuId, id);
|
||||
LambdaQueryWrapper<SupermarketUnitEntity> supermarketUnitEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
supermarketUnitEntityLambdaQueryWrapper.eq(SupermarketUnitEntity::getSpuId,id);
|
||||
supermarketUnitEntityLambdaQueryWrapper.eq(SupermarketUnitEntity::getSpuId, id);
|
||||
supermarketUnitService.remove(supermarketUnitEntityLambdaQueryWrapper);
|
||||
supermarketAuxiliaryCodeService.remove(supermarketAuxiliaryCodeEntityLambdaQueryWrapper);
|
||||
});
|
||||
@@ -124,7 +125,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
// 更新 SKU 库存
|
||||
updateStockReqDTO.getItems().forEach(item -> {
|
||||
int i = baseMapper.updateStock(item.getId(), item.getIncrCount());
|
||||
if (item.getIncrCount() < 0) {
|
||||
if (item.getIncrCount() <= 0) {
|
||||
if (i == 0) {
|
||||
R.failed("商品库存不足");
|
||||
}
|
||||
@@ -142,7 +143,7 @@ public class SupermarketSpuServiceImpl extends ServiceImpl<SupermarketSpuMapper,
|
||||
@Override
|
||||
public Object selectListAllScope(SupermarketSpuQueryDTO supermarketSpuQueryDTO) {
|
||||
|
||||
List<SupermarketSpuEntity> list=baseMapper.selectListAllScope(supermarketSpuQueryDTO, DataScope.of());
|
||||
List<SupermarketSpuEntity> list = baseMapper.selectListAllScope(supermarketSpuQueryDTO, DataScope.of());
|
||||
List<SupermarketSpuVo> bean = BeanUtils.toBean(list, SupermarketSpuVo.class);
|
||||
return bean;
|
||||
|
||||
|
||||
+1
-2
@@ -48,8 +48,7 @@ public class WalletCodeUseController {
|
||||
@Inner
|
||||
@GetMapping("/generate-code")
|
||||
public R<Boolean> generateCode(@RequestParam Long id, @RequestParam Long userId, @RequestParam WalletCodeBizEnum walletCodeBiz, @RequestParam Integer count) {
|
||||
walletCodeUseService.generate(id, userId, walletCodeBiz, count);
|
||||
return R.ok(true);
|
||||
return R.ok(walletCodeUseService.generate(id, userId, walletCodeBiz, count));
|
||||
}
|
||||
|
||||
@Inner
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotNull;
|
||||
|
||||
public interface WalletCodeUseService extends IService<WalletCodeUseEntity> {
|
||||
|
||||
void generate(@NotNull Long id, @NotNull Long userId, @NotNull WalletCodeBizEnum walletCodeBizEnum, @NotNull Integer count);
|
||||
Boolean generate(@NotNull Long id, @NotNull Long userId, @NotNull WalletCodeBizEnum walletCodeBizEnum, @NotNull Integer count);
|
||||
|
||||
Page<WalletCodeUseVo> pageJoin(Page page, WalletCodeUseDto dto);
|
||||
|
||||
|
||||
+4
-2
@@ -57,8 +57,8 @@ public class WalletCodeUseServiceImpl extends ServiceImpl<WalletCodeUseMapper, W
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void generate(Long id, Long userId, WalletCodeBizEnum biz, Integer count) {
|
||||
if (count == 0) return;
|
||||
public Boolean generate(Long id, Long userId, WalletCodeBizEnum biz, Integer count) {
|
||||
if (count == 0) return false;
|
||||
HardOrderTypeEnum orderType = HardOrderTypeEnum.FOREIGN_TICKET;
|
||||
HardPayTypeEnum payType = HardPayTypeEnum.FOREIGN_TICKET_QR_CODE;
|
||||
if (biz == WalletCodeBizEnum.STRIDE) {
|
||||
@@ -86,6 +86,7 @@ public class WalletCodeUseServiceImpl extends ServiceImpl<WalletCodeUseMapper, W
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -103,6 +104,7 @@ public class WalletCodeUseServiceImpl extends ServiceImpl<WalletCodeUseMapper, W
|
||||
}
|
||||
|
||||
@Override
|
||||
@GlobalTransactional
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean cancelCode(Long id) {
|
||||
WalletCodeUseEntity codeUse = baseMapper.selectById(id);
|
||||
|
||||
Reference in new issue
Block a user