|
@@ -22,13 +22,11 @@ import com.fs.common.exception.CustomException;
|
|
import com.fs.common.exception.ServiceException;
|
|
import com.fs.common.exception.ServiceException;
|
|
import com.fs.common.utils.DateUtils;
|
|
import com.fs.common.utils.DateUtils;
|
|
import com.fs.common.utils.StringUtils;
|
|
import com.fs.common.utils.StringUtils;
|
|
-import com.fs.company.domain.Company;
|
|
|
|
-import com.fs.company.domain.CompanyDept;
|
|
|
|
-import com.fs.company.domain.CompanyMoneyLogs;
|
|
|
|
-import com.fs.company.domain.CompanyUser;
|
|
|
|
|
|
+import com.fs.company.domain.*;
|
|
import com.fs.company.mapper.CompanyDeptMapper;
|
|
import com.fs.company.mapper.CompanyDeptMapper;
|
|
import com.fs.company.mapper.CompanyMapper;
|
|
import com.fs.company.mapper.CompanyMapper;
|
|
import com.fs.company.mapper.CompanyMoneyLogsMapper;
|
|
import com.fs.company.mapper.CompanyMoneyLogsMapper;
|
|
|
|
+import com.fs.company.mapper.CompanyUserUserMapper;
|
|
import com.fs.company.service.ICompanyDeptService;
|
|
import com.fs.company.service.ICompanyDeptService;
|
|
import com.fs.company.service.ICompanyService;
|
|
import com.fs.company.service.ICompanyService;
|
|
import com.fs.company.service.ICompanyUserService;
|
|
import com.fs.company.service.ICompanyUserService;
|
|
@@ -115,7 +113,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private FsUserAddressMapper userAddressMapper;
|
|
private FsUserAddressMapper userAddressMapper;
|
|
-
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private CompanyUserUserMapper companyUserUserMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private FsStoreOrderMapper fsStoreOrderMapper;
|
|
private FsStoreOrderMapper fsStoreOrderMapper;
|
|
|
|
|
|
@@ -379,7 +378,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
FsUserAddress address= userAddressMapper.selectFsUserAddressByDefaultAddress(uid);
|
|
FsUserAddress address= userAddressMapper.selectFsUserAddressByDefaultAddress(uid);
|
|
List<FsStoreCartQueryVO> carts=cartMapper.selectFsStoreCartListByIds(cartParam.getCartIds());
|
|
List<FsStoreCartQueryVO> carts=cartMapper.selectFsStoreCartListByIds(cartParam.getCartIds());
|
|
for (FsStoreCartQueryVO cart : carts) {
|
|
for (FsStoreCartQueryVO cart : carts) {
|
|
- if (cart.getChangePrice() != null && BigDecimal.ZERO.compareTo(cart.getChangePrice())<0){
|
|
|
|
|
|
+ if (cart.getChangePrice() != null && BigDecimal.ZERO.compareTo(cart.getChangePrice())<=0){
|
|
cart.setPrice(cart.getChangePrice());
|
|
cart.setPrice(cart.getChangePrice());
|
|
//删除改价
|
|
//删除改价
|
|
FsStoreCart fsStoreCart = new FsStoreCart();
|
|
FsStoreCart fsStoreCart = new FsStoreCart();
|
|
@@ -391,7 +390,25 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
String uuid = IdUtil.randomUUID();
|
|
String uuid = IdUtil.randomUUID();
|
|
redisCache.setCacheObject("orderKey:"+uuid, cartParam.getCartIds(), 300, TimeUnit.SECONDS);
|
|
redisCache.setCacheObject("orderKey:"+uuid, cartParam.getCartIds(), 300, TimeUnit.SECONDS);
|
|
redisCache.setCacheObject("orderCarts:"+uuid, carts, 300, TimeUnit.SECONDS);
|
|
redisCache.setCacheObject("orderCarts:"+uuid, carts, 300, TimeUnit.SECONDS);
|
|
- return R.ok().put("orderKey",uuid).put("address",address).put("carts",carts);
|
|
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = new ArrayList<>();
|
|
|
|
+ if (StringUtils.isNotBlank(cartParam.getGiftCartIds())){
|
|
|
|
+ giftCarts=cartMapper.selectFsStoreCartListByIds(cartParam.getGiftCartIds());
|
|
|
|
+ if (giftCarts != null){
|
|
|
|
+ for (FsStoreCartQueryVO cart : giftCarts) {
|
|
|
|
+ if (cart.getChangePrice() != null && BigDecimal.ZERO.compareTo(cart.getChangePrice())<=0){
|
|
|
|
+ cart.setPrice(cart.getChangePrice());
|
|
|
|
+ //删除改价
|
|
|
|
+ FsStoreCart fsStoreCart = new FsStoreCart();
|
|
|
|
+ fsStoreCart.setId(cart.getId());
|
|
|
|
+ fsStoreCart.setChangePrice(BigDecimal.ZERO);
|
|
|
|
+ cartMapper.updateFsStoreCart(fsStoreCart);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ redisCache.setCacheObject("orderGiftCarts:"+uuid, giftCarts, 300, TimeUnit.SECONDS);
|
|
|
|
+ redisCache.setCacheObject("orderGiftKey:"+uuid, cartParam.getGiftCartIds(), 300, TimeUnit.SECONDS);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return R.ok().put("orderKey",uuid).put("address",address).put("carts",carts).put("giftCarts",giftCarts);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -402,6 +419,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
throw new CustomException("订单已过期",501);
|
|
throw new CustomException("订单已过期",501);
|
|
}
|
|
}
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = redisCache.getCacheObject("orderGiftCarts:" + param.getOrderKey());
|
|
|
|
+ if (giftCarts != null) {
|
|
|
|
+ carts.addAll(giftCarts);
|
|
|
|
+ }
|
|
BigDecimal payPrice=getOrderSumPrice(carts,"truePrice");
|
|
BigDecimal payPrice=getOrderSumPrice(carts,"truePrice");
|
|
if(StringUtils.isNotEmpty(param.getCreateOrderKey()))
|
|
if(StringUtils.isNotEmpty(param.getCreateOrderKey()))
|
|
{
|
|
{
|
|
@@ -502,6 +523,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
if(cartIds!=null){
|
|
if(cartIds!=null){
|
|
//获取购物车列表
|
|
//获取购物车列表
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = redisCache.getCacheObject("orderGiftCarts:" + param.getOrderKey());
|
|
|
|
+ if (giftCarts != null){
|
|
|
|
+ carts.addAll(giftCarts);
|
|
|
|
+ }
|
|
//获取地址
|
|
//获取地址
|
|
FsUserAddress address=userAddressMapper.selectFsUserAddressById(param.getAddressId());
|
|
FsUserAddress address=userAddressMapper.selectFsUserAddressById(param.getAddressId());
|
|
//生成分布式唯一值
|
|
//生成分布式唯一值
|
|
@@ -513,23 +538,42 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
storeOrder.setStoreHouseCode("CK01");
|
|
storeOrder.setStoreHouseCode("CK01");
|
|
storeOrder.setCompanyId(param.getCompanyId());
|
|
storeOrder.setCompanyId(param.getCompanyId());
|
|
storeOrder.setCompanyUserId(param.getCompanyUserId());
|
|
storeOrder.setCompanyUserId(param.getCompanyUserId());
|
|
|
|
+
|
|
|
|
+ String json = configService.selectConfigByKey("store.config");
|
|
|
|
+ StoreConfig config= JSONUtil.toBean(json,StoreConfig.class);
|
|
//绑定销售
|
|
//绑定销售
|
|
FsUser fsuser= userService.selectFsUserById(userId);
|
|
FsUser fsuser= userService.selectFsUserById(userId);
|
|
- if(param.getCompanyUserId()!=null){
|
|
|
|
- if (ObjectUtil.isNotEmpty(fsuser.getCompanyUserId())&&fsuser.getCompanyUserId()!=param.getCompanyUserId()){
|
|
|
|
- CompanyUser companyUser=companyUserService.selectCompanyUserById(fsuser.getCompanyUserId());
|
|
|
|
- return R.error(String.format("请联系%s销售进行购买商品!",companyUser.getNickName()));
|
|
|
|
- }else {
|
|
|
|
- fsuser.setCompanyUserId(param.getCompanyUserId());
|
|
|
|
- userService.updateFsUser(fsuser);
|
|
|
|
- }
|
|
|
|
- CompanyUser companyUser=companyUserService.selectCompanyUserById(param.getCompanyUserId());
|
|
|
|
- if(companyUser!=null){
|
|
|
|
- storeOrder.setDeptId(companyUser.getDeptId());
|
|
|
|
|
|
+ if(ObjectUtil.isNotEmpty(config.getOrderAttribution())
|
|
|
|
+ &&config.getOrderAttribution().equals(1)){
|
|
|
|
+ CompanyUserUser map=new CompanyUserUser();
|
|
|
|
+ map.setCompanyUserId(param.getCompanyUserId());
|
|
|
|
+ map.setUserId(userId);
|
|
|
|
+ List<CompanyUserUser> list= companyUserUserMapper.selectCompanyUserUserList(map);
|
|
|
|
+ if(list==null||list.size()==0){
|
|
|
|
+ CompanyUser companyUser=companyUserService.selectCompanyUserById(param.getCompanyUserId());
|
|
|
|
+ if(companyUser!=null&&companyUser.getStatus().equals("0")){
|
|
|
|
+ map.setCompanyId(companyUser.getCompanyId());
|
|
|
|
+ companyUserUserMapper.insertCompanyUserUser(map);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}else {
|
|
}else {
|
|
- storeOrder.setCompanyUserId(fsuser.getCompanyUserId());
|
|
|
|
|
|
+ if(param.getCompanyUserId()!=null){
|
|
|
|
+ if (ObjectUtil.isNotEmpty(fsuser.getCompanyUserId())&&fsuser.getCompanyUserId()!=param.getCompanyUserId()){
|
|
|
|
+ CompanyUser companyUser=companyUserService.selectCompanyUserById(fsuser.getCompanyUserId());
|
|
|
|
+ return R.error(String.format("请联系%s销售进行购买商品!",companyUser.getNickName()));
|
|
|
|
+ }else {
|
|
|
|
+ fsuser.setCompanyUserId(param.getCompanyUserId());
|
|
|
|
+ userService.updateFsUser(fsuser);
|
|
|
|
+ }
|
|
|
|
+ CompanyUser companyUser=companyUserService.selectCompanyUserById(param.getCompanyUserId());
|
|
|
|
+ if(companyUser!=null){
|
|
|
|
+ storeOrder.setDeptId(companyUser.getDeptId());
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ storeOrder.setCompanyUserId(fsuser.getCompanyUserId());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
storeOrder.setUserId(userId);
|
|
storeOrder.setUserId(userId);
|
|
storeOrder.setOrderCode(orderSn);
|
|
storeOrder.setOrderCode(orderSn);
|
|
storeOrder.setRealName(address.getRealName());
|
|
storeOrder.setRealName(address.getRealName());
|
|
@@ -584,8 +628,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
storeOrder.setShippingType(1);
|
|
storeOrder.setShippingType(1);
|
|
storeOrder.setCreateTime(new Date());
|
|
storeOrder.setCreateTime(new Date());
|
|
|
|
|
|
- String json=configService.selectConfigByKey("store.config");
|
|
|
|
- StoreConfig config=JSONUtil.toBean(json,StoreConfig.class);
|
|
|
|
if(config.getServiceFee()!=null){
|
|
if(config.getServiceFee()!=null){
|
|
storeOrder.setServiceFee(config.getServiceFee());
|
|
storeOrder.setServiceFee(config.getServiceFee());
|
|
}
|
|
}
|
|
@@ -687,6 +729,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
else{
|
|
else{
|
|
fsStoreCartDTO.setImage(vo.getProductAttrImage());
|
|
fsStoreCartDTO.setImage(vo.getProductAttrImage());
|
|
}
|
|
}
|
|
|
|
+ fsStoreCartDTO.setIsGift(vo.getIsGift());
|
|
|
|
|
|
FsStoreOrderItem item=new FsStoreOrderItem();
|
|
FsStoreOrderItem item=new FsStoreOrderItem();
|
|
item.setOrderId(storeOrder.getId());
|
|
item.setOrderId(storeOrder.getId());
|
|
@@ -713,7 +756,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
|
|
|
|
//删除缓存
|
|
//删除缓存
|
|
redisCache.deleteObject("orderKey:" + param.getOrderKey());
|
|
redisCache.deleteObject("orderKey:" + param.getOrderKey());
|
|
|
|
+ redisCache.deleteObject("orderGiftKey:" + param.getOrderKey());
|
|
redisCache.deleteObject("orderCarts:" + param.getOrderKey());
|
|
redisCache.deleteObject("orderCarts:" + param.getOrderKey());
|
|
|
|
+ redisCache.deleteObject("orderGiftCarts:" + param.getOrderKey());
|
|
|
|
|
|
//添加记录
|
|
//添加记录
|
|
orderStatusService.create(storeOrder.getId(), OrderLogEnum.CREATE_ORDER.getValue(),
|
|
orderStatusService.create(storeOrder.getId(), OrderLogEnum.CREATE_ORDER.getValue(),
|
|
@@ -743,6 +788,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
if(StringUtils.isNotEmpty(createOrderKey)){
|
|
if(StringUtils.isNotEmpty(createOrderKey)){
|
|
redisCache.deleteObject("createOrderKey:"+ createOrderKey);
|
|
redisCache.deleteObject("createOrderKey:"+ createOrderKey);
|
|
redisCache.deleteObject("orderCarts:" + createOrderKey);
|
|
redisCache.deleteObject("orderCarts:" + createOrderKey);
|
|
|
|
+ redisCache.deleteObject("orderGiftCarts:" + createOrderKey);
|
|
redisCache.deleteObject("createOrderMoney:" + createOrderKey);
|
|
redisCache.deleteObject("createOrderMoney:" + createOrderKey);
|
|
//货到付款自定义金额 key改为id存储
|
|
//货到付款自定义金额 key改为id存储
|
|
BigDecimal amount=redisCache.getCacheObject("createOrderAmount:"+createOrderKey);
|
|
BigDecimal amount=redisCache.getCacheObject("createOrderAmount:"+createOrderKey);
|
|
@@ -1290,6 +1336,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
}
|
|
}
|
|
//删除缓存
|
|
//删除缓存
|
|
redisCache.deleteObject("orderKey:" + param.getOrderKey());
|
|
redisCache.deleteObject("orderKey:" + param.getOrderKey());
|
|
|
|
+ redisCache.deleteObject("orderGiftKey:" + param.getOrderKey());
|
|
//添加记录
|
|
//添加记录
|
|
orderStatusService.create(storeOrder.getId(), OrderLogEnum.CREATE_ORDER.getValue(),
|
|
orderStatusService.create(storeOrder.getId(), OrderLogEnum.CREATE_ORDER.getValue(),
|
|
OrderLogEnum.CREATE_ORDER.getDesc());
|
|
OrderLogEnum.CREATE_ORDER.getDesc());
|
|
@@ -2019,11 +2066,19 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public R createSalesOrder(CompanyUser companyUser, String cateIds,Integer orderType,Integer orderMedium) {
|
|
|
|
|
|
+ public R createSalesOrder(CompanyUser companyUser, String cateIds,String giftCateIds,Integer orderType,Integer orderMedium) {
|
|
List<FsStoreCartQueryVO> carts=cartMapper.selectFsStoreCartListByIds(cateIds);
|
|
List<FsStoreCartQueryVO> carts=cartMapper.selectFsStoreCartListByIds(cateIds);
|
|
|
|
+
|
|
|
|
+
|
|
String uuid = IdUtil.randomUUID();
|
|
String uuid = IdUtil.randomUUID();
|
|
redisCache.setCacheObject("createOrderKey:"+uuid, companyUser.getCompanyId()+"-"+companyUser.getUserId(), 24, TimeUnit.HOURS);
|
|
redisCache.setCacheObject("createOrderKey:"+uuid, companyUser.getCompanyId()+"-"+companyUser.getUserId(), 24, TimeUnit.HOURS);
|
|
redisCache.setCacheObject("orderCarts:"+uuid, carts, 24, TimeUnit.HOURS);
|
|
redisCache.setCacheObject("orderCarts:"+uuid, carts, 24, TimeUnit.HOURS);
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = new ArrayList<>();
|
|
|
|
+ //赠品
|
|
|
|
+ if (giftCateIds != null){
|
|
|
|
+ giftCarts=cartMapper.selectFsStoreCartListByIds(giftCateIds);
|
|
|
|
+ redisCache.setCacheObject("orderGiftCarts:"+uuid, giftCarts, 24, TimeUnit.HOURS);
|
|
|
|
+ }
|
|
|
|
|
|
//2025.7.23 倍力优需求 制单添加订单类型,媒体来源(非必填)
|
|
//2025.7.23 倍力优需求 制单添加订单类型,媒体来源(非必填)
|
|
if (orderType != null || orderMedium != null) {
|
|
if (orderType != null || orderMedium != null) {
|
|
@@ -2038,19 +2093,38 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
for(FsStoreCartQueryVO vo:carts){
|
|
for(FsStoreCartQueryVO vo:carts){
|
|
totalMoney=totalMoney.add(vo.getPrice().multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
totalMoney=totalMoney.add(vo.getPrice().multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
}
|
|
}
|
|
|
|
+ if (giftCateIds != null){
|
|
|
|
+ for(FsStoreCartQueryVO vo:giftCarts){
|
|
|
|
+ totalMoney=totalMoney.add(vo.getPrice().multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
redisCache.setCacheObject("createOrderMoney:"+uuid, totalMoney, 24, TimeUnit.HOURS);
|
|
redisCache.setCacheObject("createOrderMoney:"+uuid, totalMoney, 24, TimeUnit.HOURS);
|
|
- return R.ok().put("orderKey",uuid).put("carts",carts);
|
|
|
|
|
|
+ return R.ok().put("orderKey",uuid).put("carts",carts).put("giftCarts",giftCarts);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public R getSalesOrder(String createOrderKey) {
|
|
|
|
|
|
+ public R getSalesOrder(String createOrderKey,Long userId) {
|
|
String key=redisCache.getCacheObject("createOrderKey:"+createOrderKey);
|
|
String key=redisCache.getCacheObject("createOrderKey:"+createOrderKey);
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + createOrderKey);
|
|
List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + createOrderKey);
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = redisCache.getCacheObject("orderGiftCarts:" + createOrderKey);
|
|
BigDecimal money=redisCache.getCacheObject("createOrderMoney:"+createOrderKey);
|
|
BigDecimal money=redisCache.getCacheObject("createOrderMoney:"+createOrderKey);
|
|
if (StringUtils.isEmpty(key)) {
|
|
if (StringUtils.isEmpty(key)) {
|
|
throw new CustomException("订单已过期",501);
|
|
throw new CustomException("订单已过期",501);
|
|
}
|
|
}
|
|
- return R.ok().put("carts",carts).put("totalMoney",money);
|
|
|
|
|
|
+ if(giftCarts == null){
|
|
|
|
+ giftCarts=cartMapper.selectFsStoreGiftCartList(userId);
|
|
|
|
+ if (giftCarts != null && !giftCarts.isEmpty()){
|
|
|
|
+ //计算总价
|
|
|
|
+ for(FsStoreCartQueryVO vo:giftCarts){
|
|
|
|
+ money=money.add(vo.getPrice().multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
|
|
+ }
|
|
|
|
+// redisCache.setCacheObject("orderGiftCarts:"+createOrderKey, giftCarts, 24, TimeUnit.HOURS);
|
|
|
|
+// redisCache.setCacheObject("createOrderMoney:"+createOrderKey, money, 24, TimeUnit.HOURS);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return R.ok().put("carts",carts).put("totalMoney",money).put("giftCarts",giftCarts);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -2077,11 +2151,32 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
cartMapper.insertFsStoreCart(storeCart);
|
|
cartMapper.insertFsStoreCart(storeCart);
|
|
ids.add(storeCart.getId());
|
|
ids.add(storeCart.getId());
|
|
}
|
|
}
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = redisCache.getCacheObject("orderGiftCarts:" + createOrderKey);
|
|
|
|
+ List<Long> giftIds=new ArrayList<>();
|
|
|
|
+ if(giftCarts != null){
|
|
|
|
+ for(FsStoreCartQueryVO vo : giftCarts){
|
|
|
|
+ FsStoreCart storeCart = FsStoreCart.builder()
|
|
|
|
+ .cartNum(vo.getCartNum())
|
|
|
|
+ .productAttrValueId(vo.getProductAttrValueId())
|
|
|
|
+ .productId(vo.getProductId())
|
|
|
|
+ .userId(userId)
|
|
|
|
+ .isPay(0)
|
|
|
|
+ .isDel(0)
|
|
|
|
+ .isBuy(1)
|
|
|
|
+ .changePrice(vo.getPrice())
|
|
|
|
+ .isGift(1)
|
|
|
|
+ .build();
|
|
|
|
+ storeCart.setCreateTime(new Date());
|
|
|
|
+ cartMapper.insertFsStoreCart(storeCart);
|
|
|
|
+ giftIds.add(storeCart.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
//删除REDIS
|
|
//删除REDIS
|
|
// redisCache.deleteObject("createOrderKey:"+createOrderKey);
|
|
// redisCache.deleteObject("createOrderKey:"+createOrderKey);
|
|
// redisCache.deleteObject("orderCarts:" + createOrderKey);
|
|
// redisCache.deleteObject("orderCarts:" + createOrderKey);
|
|
String[] idArr=key.split("-");
|
|
String[] idArr=key.split("-");
|
|
- return R.ok().put("cartIds",ids).put("companyId",idArr[0]).put("companyUserId",idArr[1]);
|
|
|
|
|
|
+ return R.ok().put("cartIds",ids).put("companyId",idArr[0]).put("companyUserId",idArr[1]).put("giftCartIds",giftIds);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2784,7 +2879,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
BigDecimal totalMoney= BigDecimal.ZERO;
|
|
BigDecimal totalMoney= BigDecimal.ZERO;
|
|
//新购物车明细
|
|
//新购物车明细
|
|
for(FsStoreCartQueryVO vo:carts){
|
|
for(FsStoreCartQueryVO vo:carts){
|
|
- //单个价格不能为0
|
|
|
|
BigDecimal price = vo.getPrice();
|
|
BigDecimal price = vo.getPrice();
|
|
if (price==null || price.compareTo(BigDecimal.ZERO)<0){
|
|
if (price==null || price.compareTo(BigDecimal.ZERO)<0){
|
|
return R.error("商品单价不能小于0");
|
|
return R.error("商品单价不能小于0");
|
|
@@ -2797,10 +2891,28 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
|
|
//计算总价
|
|
//计算总价
|
|
totalMoney=totalMoney.add(price.multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
totalMoney=totalMoney.add(price.multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
}
|
|
}
|
|
|
|
+ List<FsStoreCartQueryVO> giftCarts = param.getGiftCarts();
|
|
|
|
+ if (giftCarts != null && !giftCarts.isEmpty()) {
|
|
|
|
+ for(FsStoreCartQueryVO vo:giftCarts){
|
|
|
|
+ BigDecimal price = vo.getPrice();
|
|
|
|
+ if (price==null || price.compareTo(BigDecimal.ZERO)<0){
|
|
|
|
+ return R.error("商品单价不能小于0");
|
|
|
|
+ }
|
|
|
|
+ //更新购物车表
|
|
|
|
+ FsStoreCart storeCart = new FsStoreCart();
|
|
|
|
+ storeCart.setId(vo.getId());
|
|
|
|
+ storeCart.setChangePrice(price);
|
|
|
|
+ cartMapper.updateFsStoreCart(storeCart);
|
|
|
|
+ //计算总价
|
|
|
|
+ totalMoney=totalMoney.add(price.multiply(new BigDecimal(vo.getCartNum().toString())));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
redisCache.setCacheObject("createOrderMoney:"+createOrderKey, totalMoney, 24, TimeUnit.HOURS);
|
|
redisCache.setCacheObject("createOrderMoney:"+createOrderKey, totalMoney, 24, TimeUnit.HOURS);
|
|
//更新redis的购物车明细
|
|
//更新redis的购物车明细
|
|
redisCache.setCacheObject("orderCarts:" + createOrderKey,carts,24, TimeUnit.HOURS);
|
|
redisCache.setCacheObject("orderCarts:" + createOrderKey,carts,24, TimeUnit.HOURS);
|
|
|
|
+ redisCache.setCacheObject("orderGiftCarts:" + createOrderKey,giftCarts,24, TimeUnit.HOURS);
|
|
|
|
|
|
return R.ok();
|
|
return R.ok();
|
|
}
|
|
}
|