Browse Source

调整

mssql
Yen 3 years ago
parent
commit
1aa4e8f5e6
  1. 2
      src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java
  2. 6
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  3. 1
      src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java
  4. 1
      src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRegionBatchBo.java
  5. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsBrandController.java
  6. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java
  7. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSeriesController.java
  8. 6
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java
  9. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java
  10. 5
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  11. 2
      src/main/java/com/qs/serve/modules/goods/controller/GoodsUnitController.java
  12. 2
      src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java
  13. 57
      src/main/java/com/qs/serve/modules/oms/controller/OmsOrderItemController.java
  14. 28
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  15. 5
      src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java
  16. 5
      src/main/java/com/qs/serve/modules/oms/entity/OmsShoppingCart.java
  17. 40
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java
  18. 47
      src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderBo.java
  19. 9
      src/main/java/com/qs/serve/modules/oms/entity/dto/ShoppingCartsCheckResult.java
  20. 11
      src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderResult.java
  21. 13
      src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java
  22. 64
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  23. 3
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java
  24. 5
      src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java
  25. 2
      src/main/resources/mapper/goods/GoodsSkuMapper.xml

2
src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java

@ -22,7 +22,7 @@ import javax.validation.constraints.NotBlank;
* @since 2022-10-26
*/
@Data
@TableName("biz_visit")
@TableName(value = "biz_visit",autoResultMap = true)
public class BizVisit implements Serializable {
private static final long serialVersionUID = 1L;

6
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -146,7 +146,8 @@ public class BmsSupplierController {
addIds = supplierIds;
}
if(CollectionUtil.isNotEmpty(addIds)){
SysUser user = sysUserService.getById(param.getUserId()); BmsSupplier bmsSupplier = new BmsSupplier();
SysUser user = sysUserService.getById(param.getUserId());
BmsSupplier bmsSupplier = new BmsSupplier();
LambdaQueryWrapper<BmsSupplier> lqw2 = new LambdaQueryWrapper<>();
lqw2.in(BmsSupplier::getId,addIds);
bmsSupplier.setUserCode(user.getCode());
@ -168,13 +169,12 @@ public class BmsSupplierController {
bmsSupplierMapper.removeRelateUserInfo(param.getSupplierId());
}else {
SysUser user = sysUserService.getById(param.getUserId());
LambdaQueryWrapper<BmsSupplier> lqw = new LambdaQueryWrapper<>();
BmsSupplier bmsSupplier = new BmsSupplier();
bmsSupplier.setId(param.getSupplierId().toString());
bmsSupplier.setUserCode(user.getCode());
bmsSupplier.setUserId(user.getId());
bmsSupplier.setUserName(user.getName());
bmsSupplierService.update(bmsSupplier,lqw);
bmsSupplierService.updateById(bmsSupplier);
}
return R.ok();
}

1
src/main/java/com/qs/serve/modules/bms/controller/api/BmsSupplierAddressApi.java

@ -81,6 +81,7 @@ public class BmsSupplierAddressApi {
BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(param.getId());
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
if(supplierAddress.getSupplierId().toString().equals(supplier.getId())){
param.setDefaultFlag(null);
boolean result = bmsSupplierAddressService.updateById(param);
return R.isTrue(result);
}

1
src/main/java/com/qs/serve/modules/bms/entity/bo/BmsRegionBatchBo.java

@ -18,7 +18,6 @@ public class BmsRegionBatchBo {
@Data
public static class BmsRegionBo{
/** id */
@NotNull(message = "id不能为空")
private String id;
/** 名称 */

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsBrandController.java

@ -94,7 +94,7 @@ public class GoodsBrandController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "品牌", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:brand:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = goodsBrandService.removeById(id);
return R.isTrue(result);
}

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsCategoryController.java

@ -130,7 +130,7 @@ public class GoodsCategoryController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "分类", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:category:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = goodsCategoryService.removeById(id);
return R.isTrue(result);
}

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsSeriesController.java

@ -94,7 +94,7 @@ public class GoodsSeriesController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "系列", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:series:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = goodsSeriesService.removeById(id);
return R.isTrue(result);
}

6
src/main/java/com/qs/serve/modules/goods/controller/GoodsSkuController.java

@ -41,7 +41,7 @@ public class GoodsSkuController {
* @param param
* @return
*/
@GetMapping("/page")
//@GetMapping("/page")
@PreAuthorize("hasRole('goods:sku:query')")
public R<PageVo<GoodSkuVo>> getPage(GoodsSku param){
PageUtil.startPage();
@ -54,7 +54,7 @@ public class GoodsSkuController {
* @param param
* @return
*/
@GetMapping("/page")
@GetMapping("/list")
@PreAuthorize("hasRole('goods:sku:query')")
public R<List<GoodSkuVo>> getList(GoodsSku param){
List<GoodSkuVo> list = goodsSkuService.selectSkuVo(param);
@ -95,7 +95,7 @@ public class GoodsSkuController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "sku", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:sku:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = goodsSkuService.removeById(id);
if(result){
//删除商品规格值

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpecValueController.java

@ -128,7 +128,7 @@ public class GoodsSpecValueController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "规格值", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:specValue:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
//含有正在使用的商品无法删除
LambdaQueryWrapper<GoodsSkuSpecValue> lqw = new LambdaQueryWrapper<>();
lqw.eq(GoodsSkuSpecValue::getSpecValueId,id);

5
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -92,7 +92,7 @@ public class GoodsSpuController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "spu", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:spu:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
//todo 拦截删除商品
boolean result = goodsSpuService.removeById(id);
if(result){
@ -122,8 +122,7 @@ public class GoodsSpuController {
@PreAuthorize("hasRole('goods:spu:insert')")
public R<?> saveBatchTasteSpu(@RequestBody GoodsSpuBatchTasteBo param){
ValidateTools.valid(param.getTasteProducts());
goodsSpuService.saveBatchTasteSpu(param);
return R.ok();
return R.ok(goodsSpuService.saveBatchTasteSpu(param));
}
}

2
src/main/java/com/qs/serve/modules/goods/controller/GoodsUnitController.java

@ -94,7 +94,7 @@ public class GoodsUnitController {
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.GOODS, title = "单位", biz = BizType.DELETE)
@PreAuthorize("hasRole('goods:unit:delete')")
public R<?> deleteById(@PathVariable("id") String id){
public R<?> deleteById(@PathVariable("id") Long id){
boolean result = goodsUnitService.removeById(id);
return R.isTrue(result);
}

2
src/main/java/com/qs/serve/modules/goods/entity/vo/GoodSkuVo.java

@ -12,6 +12,8 @@ public class GoodSkuVo extends GoodsSku {
private String name;
private String spuCode;
private Long spuId;
/** 是否上架(1是 0否) */

57
src/main/java/com/qs/serve/modules/oms/controller/OmsOrderItemController.java

@ -32,17 +32,17 @@ public class OmsOrderItemController {
private OmsOrderItemService omsOrderItemService;
/**
* 翻页查询
* @param param
* 查询订单项
* @param orderId
* @return
*/
@GetMapping("/page")
@GetMapping("/listByOrderId/{orderId}")
@PreAuthorize("hasRole('oms:orderItem:query')")
public R<PageVo<OmsOrderItem>> getPage(OmsOrderItem param){
PageUtil.startPage();
LambdaQueryWrapper<OmsOrderItem> orderItemWrapper = new LambdaQueryWrapper<>(param);
List<OmsOrderItem> list = omsOrderItemService.list(orderItemWrapper);
return R.byPageHelperList(list);
public R<List<OmsOrderItem>> listByOrderId(@PathVariable("orderId")Long orderId){
LambdaQueryWrapper<OmsOrderItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(OmsOrderItem::getOrderId,orderId);
List<OmsOrderItem> list = omsOrderItemService.list(lqw);
return R.ok(list);
}
/**
@ -58,46 +58,5 @@ public class OmsOrderItemController {
return R.ok(omsOrderItem);
}
/**
* 根据ID更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.UPDATE)
@PreAuthorize("hasRole('oms:orderItem:update')")
public R<?> updateById(@RequestBody @Valid OmsOrderItem param){
boolean result = omsOrderItemService.updateById(param);
return R.isTrue(result);
}
/**
* 新增订单明细
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.INSERT)
@PreAuthorize("hasRole('oms:orderItem:insert')")
public R<?> save(@RequestBody @Valid OmsOrderItem param){
boolean result = omsOrderItemService.save(param);
return R.isTrue(result);
}
/**
* 删除订单明细
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单明细", biz = BizType.DELETE)
@PreAuthorize("hasRole('oms:orderItem:delete')")
public R<?> deleteById(@PathVariable("id") String id){
boolean result = omsOrderItemService.removeById(id);
return R.isTrue(result);
}
}

28
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -10,12 +10,13 @@ import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo;
import com.qs.serve.modules.oms.entity.OmsOrderItem;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
import com.qs.serve.modules.oms.service.OmsOrderItemService;
import com.qs.serve.modules.oms.service.OmsOrderService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -33,15 +34,26 @@ import java.util.List;
public class OmsOrderApi {
private OmsOrderService omsOrderService;
private OmsOrderItemService omsOrderItemService;
/**
* 创建确认订单
* 确认订单
* @param confirmOrder
* @return
*/
@PostMapping("/generateConfirmOrder")
public R<OmsConfirmOrderResult> generateConfirmOrder(@RequestBody @Valid OmsConfirmOrderBo confirmOrder){
return R.ok(omsOrderService.generateConfirmOrder(confirmOrder));
public R<OmsConfirmOrderResult> confirmOrder(@RequestBody @Valid OmsOrderBo confirmOrder){
return R.ok(omsOrderService.confirmOrder(confirmOrder));
}
/**
* 创建订单
* @param createOrderBo
* @return
*/
@PostMapping("/createOrder")
public R<OmsConfirmOrderResult> createOrder(@RequestBody @Valid OmsOrderBo omsOrderBo){
return R.ok(omsOrderService.createOrder(omsOrderBo));
}
/**
@ -70,6 +82,10 @@ public class OmsOrderApi {
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
OmsOrder omsOrder = omsOrderService.getById(id);
if(omsOrder.getSupplierId().toString().equals(supplier.getId())){
LambdaQueryWrapper<OmsOrderItem> lqw = new LambdaQueryWrapper<>();
lqw.eq(OmsOrderItem::getOrderId,id);
List<OmsOrderItem> list = omsOrderItemService.list(lqw);
omsOrder.setOrderItems(list);
return R.ok(omsOrder);
}
return R.error();
@ -80,7 +96,7 @@ public class OmsOrderApi {
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
//@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("id") String id){
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();

5
src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java

@ -2,6 +2,7 @@ package com.qs.serve.modules.oms.entity;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -140,5 +141,9 @@ public class OmsOrder implements Serializable {
@JsonProperty
private Boolean delFlag;
/** 订单明细项 */
@TableField(exist = false)
private List<?> orderItems;
}

5
src/main/java/com/qs/serve/modules/oms/entity/OmsShoppingCart.java

@ -113,5 +113,10 @@ public class OmsShoppingCart implements Serializable {
@TableField(exist = false)
private String errMessage;
/** 异常信息 */
@JsonIgnore
@TableField(exist = false)
private BigDecimal itemSaleAmount;
}

40
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsConfirmOrderBo.java

@ -1,40 +0,0 @@
package com.qs.serve.modules.oms.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/14
*/
@Data
public class OmsConfirmOrderBo {
/**
* 订单类型0->普通订单
*/
@NotNull
private Integer orderType;
/**
* 立即购买或非普通订单
*/
private Long skuId;
/**
* 数量立即购买或非普通订单
*/
private Integer quantity;
/**
* 购物车ID(购物车方式下单)
*/
private List<Long> shoppingCartIds;
/**
* todo 促销活动id列表
*/
private List<Long> promotionIds;
}

47
src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderBo.java

@ -0,0 +1,47 @@
package com.qs.serve.modules.oms.entity.bo;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/14
*/
@Data
public class OmsOrderBo {
/** 订单类型:0->普通订单; */
@NotNull
private Integer orderType;
/** 立即购买或非普通订单 */
private Long skuId;
/** 数量(立即购买或非普通订单) */
private Integer quantity;
/** 购物车ID(购物车方式下单) */
private List<Long> shoppingCartIds;
/** todo 促销活动id列表 */
private List<Long> promotionIds;
/** 创建订单参数(确认订单时可不传) */
private CreateOrderParam createOrderParam;
@Data
public static class CreateOrderParam{
/** 发票类型:0->普通发票;1->增值税发票; */
private Integer billType;
/** 是否加急 */
private Integer urgentFlag;
/** 备注 */
private String remark;
}
}

9
src/main/java/com/qs/serve/modules/oms/entity/dto/ShoppingCartsCheckResult.java

@ -1,8 +1,17 @@
package com.qs.serve.modules.oms.entity.dto;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2022/10/26
*/
@Data
public class ShoppingCartsCheckResult {
private List<GoodSkuVo> goodsSkus;
}

11
src/main/java/com/qs/serve/modules/oms/entity/vo/OmsConfirmOrderResult.java

@ -1,10 +1,12 @@
package com.qs.serve.modules.oms.entity.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.oms.entity.OmsShoppingCart;
import com.qs.serve.modules.oms.entity.dto.OmsCalcAmount;
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult;
import lombok.Data;
import java.math.BigDecimal;
@ -17,13 +19,18 @@ import java.util.List;
@Data
public class OmsConfirmOrderResult {
private BmsSupplier supplier;
/** 购物车列表 */
private List<?> shoppingCarts;
private List<OmsShoppingCart> shoppingCarts;
/** 默认地址 */
private Object defaultAddress;
private BmsSupplierAddress defaultAddress;
/** 合计信息 */
private OmsCalcAmount amountInfo;
@JsonIgnore
private ShoppingCartsCheckResult cartsCheckResult;
}

13
src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java

@ -2,7 +2,7 @@ package com.qs.serve.modules.oms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
/**
@ -13,11 +13,18 @@ import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
public interface OmsOrderService extends IService<OmsOrder> {
/**
* 创建确认订单
* 确认订单
* @param confirmOrder
* @return
*/
OmsConfirmOrderResult generateConfirmOrder(OmsConfirmOrderBo confirmOrder);
OmsConfirmOrderResult confirmOrder(OmsOrderBo confirmOrder);
/**
* 创建订单
* @param omsOrderBo
* @return
*/
OmsConfirmOrderResult createOrder(OmsOrderBo omsOrderBo);
}

64
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -1,33 +1,35 @@
package com.qs.serve.modules.oms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.service.BmsRuleMainService;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.OmsShoppingCart;
import com.qs.serve.modules.oms.entity.bo.OmsConfirmOrderBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo;
import com.qs.serve.modules.oms.entity.bo.OmsOrderBo.*;
import com.qs.serve.modules.oms.entity.dto.OmsCalcAmount;
import com.qs.serve.modules.oms.entity.dto.ShoppingCartsCheckResult;
import com.qs.serve.modules.oms.entity.vo.OmsConfirmOrderResult;
import com.qs.serve.modules.oms.service.OmsShoppingCartService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.oms.entity.OmsOrder;
import com.qs.serve.modules.oms.service.OmsOrderService;
import com.qs.serve.modules.oms.mapper.OmsOrderMapper;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 订单 服务实现类
@ -43,10 +45,11 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService;
private BmsSupplierAddressService bmsSupplierAddressService;
private SysUserService sysUserService;
@Override
public OmsConfirmOrderResult generateConfirmOrder(OmsConfirmOrderBo confirmOrder) {
public OmsConfirmOrderResult confirmOrder(OmsOrderBo confirmOrder) {
BmsSupplier supplier = AuthContextUtils.getCurrentSupplier();
//购物车
List<OmsShoppingCart> shoppingCarts;
@ -64,16 +67,61 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
shoppingCart.setPicUrl(goodsSku.getPicUrl());
shoppingCarts = Arrays.asList(shoppingCart);
}
omsShoppingCartService.checkShoppingCarts(supplier,shoppingCarts,true);
ShoppingCartsCheckResult cartsCheckResult = omsShoppingCartService.checkShoppingCarts(supplier,shoppingCarts,true);
OmsCalcAmount calcAmount = new OmsCalcAmount();
BigDecimal totalAmount = BigDecimal.ZERO;
for (OmsShoppingCart shoppingCart : shoppingCarts) {
BigDecimal salePrice = null;
for (GoodSkuVo goodSkuVo : cartsCheckResult.getGoodsSkus()) {
if(shoppingCart.getSkuId().equals(goodSkuVo.getId())){
salePrice = goodSkuVo.getSalesPrice();
break;
}
}
BigDecimal itemPrice = new BigDecimal(shoppingCart.getQuantity()).multiply(salePrice);
shoppingCart.setItemSaleAmount(itemPrice);
totalAmount.add(itemPrice);
}
calcAmount.setTotalAmount(totalAmount);
//todo 计算供应商折扣
//todo 计算是否有活动优惠
BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getDefault(Long.parseLong(supplier.getId()));
OmsConfirmOrderResult confirmOrderResult = new OmsConfirmOrderResult();
//confirmOrderResult.setShoppingCarts(shoppingCarts);
confirmOrderResult.setSupplier(supplier);
confirmOrderResult.setShoppingCarts(shoppingCarts);
confirmOrderResult.setDefaultAddress(supplierAddress);
confirmOrderResult.setAmountInfo(calcAmount);
confirmOrderResult.setCartsCheckResult(cartsCheckResult);
return confirmOrderResult;
}
@Override
@Transactional(rollbackFor = Exception.class)
public OmsConfirmOrderResult createOrder(OmsOrderBo omsOrderBo) {
OmsConfirmOrderResult confirmOrder = this.confirmOrder(omsOrderBo);
CreateOrderParam createOrderParam = omsOrderBo.getCreateOrderParam();
SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId());
BmsSupplier supplier = confirmOrder.getSupplier();
BmsSupplierAddress address = confirmOrder.getDefaultAddress();
List<GoodSkuVo> goodSkuVos = confirmOrder.getCartsCheckResult().getGoodsSkus();
OmsOrder order = new OmsOrder();
order.setOrderSn("");
order.setSupplierId(Long.parseLong(supplier.getId()));
order.setSupplierCode(supplier.getCode());
order.setSupplierName(supplier.getName());
order.setSupplierAddrId(address.getId());
order.setUserId(user.getId());
order.setUserName(user.getName());
order.setUserCode(user.getCode());
order.setUserPhone(user.getMobile());
if(createOrderParam!=null){
order.setBillType(createOrderParam.getBillType());
order.setUrgentFlag(createOrderParam.getUrgentFlag());
}
this.save(order);
return null;
}
}

3
src/main/java/com/qs/serve/modules/oms/service/impl/OmsShoppingCartServiceImpl.java

@ -46,7 +46,6 @@ public class OmsShoppingCartServiceImpl extends ServiceImpl<OmsShoppingCartMappe
@Override
public ShoppingCartsCheckResult checkShoppingCarts(BmsSupplier supplier, List<OmsShoppingCart> shoppingCarts, boolean throwEx){
ShoppingCartsCheckResult cartsCheckResult = new ShoppingCartsCheckResult();
//校验
List<Long> skuIds = shoppingCarts.stream().map(OmsShoppingCart::getSkuId).collect(Collectors.toList());
GoodsSku goodsSku = new GoodsSku();
@ -88,6 +87,8 @@ public class OmsShoppingCartServiceImpl extends ServiceImpl<OmsShoppingCartMappe
}
}
}
ShoppingCartsCheckResult cartsCheckResult = new ShoppingCartsCheckResult();
cartsCheckResult.setGoodsSkus(goodsSkus);
return cartsCheckResult;
}

5
src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java

@ -323,7 +323,10 @@ public class SysUserController {
List<SysUserSales> sysUserSalesList = new ArrayList<>();
if(!userBo.getParentId().equals("0")){
final SysUserSales userSales = sysUserSalesService.getById(pid);
boolean isExist = userBo.getUserIds().stream().filter(StringUtils::hasText).anyMatch(objId->userSales.getPid().equals(objId));
boolean isExist = false;
if(userSales!=null){
isExist = userBo.getUserIds().stream().filter(StringUtils::hasText).anyMatch(objId->userSales.getPid().equals(objId));
}
if(isExist&&userBo.getUserIds().size()>1){
return R.error("多节点操作出现递归数据");
}

2
src/main/resources/mapper/goods/GoodsSkuMapper.xml

@ -85,11 +85,13 @@
<resultMap id="skuVoResultMap" type="com.qs.serve.modules.goods.entity.vo.GoodSkuVo" extends="goodsSkuMap">
<result property="name" column="name"/>
<result property="shelf" column="shelf"/>
<result property="spuCode" column="spu_code"/>
</resultMap>
<select id="selectSkuVo" parameterType="com.qs.serve.modules.goods.entity.GoodsSku" resultMap="skuVoResultMap">
SELECT
`goods_spu`.`name`,
`goods_spu`.`spu_code`,
`goods_spu`.`shelf`,
<include refid="goodsSkuSql"/>
FROM `goods_sku` `goods_sku`

Loading…
Cancel
Save