|
@@ -12,11 +12,13 @@
|
|
|
*/
|
|
|
package vip.xiaonuo.biz.modular.bizorder.service.impl;
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollStreamUtil;
|
|
|
import cn.hutool.core.img.ImgUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -27,6 +29,14 @@ import org.apache.commons.compress.utils.Lists;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import vip.xiaonuo.auth.api.SaBaseLoginUserApi;
|
|
|
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
|
+import vip.xiaonuo.biz.modular.bizconfig.entity.BizConfig;
|
|
|
+import vip.xiaonuo.biz.modular.bizconfig.service.BizConfigService;
|
|
|
+import vip.xiaonuo.biz.modular.bizorderconfig.entity.BizOrderConfig;
|
|
|
+import vip.xiaonuo.biz.modular.bizorderconfig.service.BizOrderConfigService;
|
|
|
+import vip.xiaonuo.biz.modular.bizsaleorder.entity.BizSaleOrder;
|
|
|
+import vip.xiaonuo.biz.modular.bizsaleorder.service.BizSaleOrderService;
|
|
|
import vip.xiaonuo.biz.modular.customer.entity.BizCustomer;
|
|
|
import vip.xiaonuo.biz.modular.customer.service.BizCustomerService;
|
|
|
import vip.xiaonuo.biz.modular.bizorder.param.*;
|
|
@@ -45,6 +55,7 @@ import java.math.BigDecimal;
|
|
|
import java.net.URL;
|
|
|
import java.net.URLConnection;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 订单管理Service接口实现类
|
|
@@ -64,6 +75,18 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
@Resource
|
|
|
private BizGoodsConfService bizGoodsConfService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private BizOrderConfigService orderConfigService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BizConfigService bizConfigService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BizSaleOrderService bizSaleOrderService;
|
|
|
+
|
|
|
+ @Resource(name = "loginUserApi")
|
|
|
+ private SaBaseLoginUserApi loginUserApi;
|
|
|
+
|
|
|
@Override
|
|
|
public Page<BizOrder> page(BizOrderPageParam bizOrderPageParam) {
|
|
|
QueryWrapper<BizOrder> queryWrapper = getQueryWrapper(bizOrderPageParam);
|
|
@@ -82,11 +105,11 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
}
|
|
|
//客户名称查询
|
|
|
if(ObjectUtil.isNotEmpty(bizOrderPageParam.getCustomerName())){
|
|
|
- queryWrapper.like("bc.customer_name",bizOrderPageParam.getCustomerName());
|
|
|
+ queryWrapper.like("bc.name",bizOrderPageParam.getCustomerName());
|
|
|
}
|
|
|
//货品名称查询
|
|
|
if(ObjectUtil.isNotEmpty(bizOrderPageParam.getGoodsName())){
|
|
|
- queryWrapper.like("bg.`NAME`",bizOrderPageParam.getGoodsName());
|
|
|
+ queryWrapper.like("bg.`GOODS_NAME`",bizOrderPageParam.getGoodsName());
|
|
|
}
|
|
|
//状态查询
|
|
|
if(ObjectUtil.isNotEmpty(bizOrderPageParam.getOrderStatus())){
|
|
@@ -96,6 +119,11 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
if(ObjectUtil.isNotEmpty(bizOrderPageParam.getOrderSource())){
|
|
|
queryWrapper.eq("bo.order_source",bizOrderPageParam.getOrderSource());
|
|
|
}
|
|
|
+ // 校验数据范围
|
|
|
+ List<String> loginUserDataScope = StpLoginUserUtil.getLoginUserDataScope();
|
|
|
+ if(ObjectUtil.isEmpty(loginUserDataScope)) {
|
|
|
+ queryWrapper.eq("bo.customer_id", StpLoginUserUtil.getLoginUser().getCustomerId());
|
|
|
+ }
|
|
|
queryWrapper.eq("bo.delete_flag","NOT_DELETE");
|
|
|
queryWrapper.orderByDesc("bo.create_time");
|
|
|
return queryWrapper;
|
|
@@ -118,11 +146,20 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
bizOrder.setOrderWeight(bizOrder.getOrderWeight().multiply(new BigDecimal(1000)));
|
|
|
//来源,手动新增
|
|
|
bizOrder.setOrderSource("2");
|
|
|
- bizOrder.setOrderStatus("1");
|
|
|
+ bizOrder.setOrderStatus("0");
|
|
|
this.save(bizOrder);
|
|
|
|
|
|
//修改时段配置内物品重量
|
|
|
bizGoodsConfService.editUsedWeight(bizGoodsConf.getId(),bizOrderAddParam.getOrderWeight().multiply(new BigDecimal(1000)).doubleValue());
|
|
|
+
|
|
|
+ //修改销售订单状态
|
|
|
+ if(ObjectUtil.isNotEmpty(bizOrderAddParam.getSaleOrderInfo())){
|
|
|
+ BizSaleOrder bizSaleOrder = bizSaleOrderService.getById(bizOrderAddParam.getSaleOrderInfo());
|
|
|
+ if(ObjectUtil.isNotNull(bizSaleOrder)){
|
|
|
+ bizSaleOrder.setSaleStatus("2");
|
|
|
+ bizSaleOrderService.updateById(bizSaleOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -161,6 +198,26 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
bizGoodsConfService.editUsedWeight(bizGoodsConf.getId(),bizOrderEditParam.getOrderWeight().multiply(new BigDecimal(1000)).doubleValue());
|
|
|
}
|
|
|
}
|
|
|
+ //判断是否修改订单
|
|
|
+ if(!StringUtils.equals(bizOrder.getSaleOrderInfo(),bizOrderEditParam.getSaleOrderInfo())){
|
|
|
+ long count = this.count(new QueryWrapper<BizOrder>().lambda().eq(BizOrder::getSaleOrderInfo, bizOrderEditParam.getSaleOrderInfo()));
|
|
|
+ if(count>0){
|
|
|
+ throw new CommonException("销售订单已经添加过!");
|
|
|
+ }
|
|
|
+ //修改之前订单状态
|
|
|
+ BizSaleOrder bizSaleOrder = bizSaleOrderService.getById(bizOrder.getSaleOrderInfo());
|
|
|
+ if(ObjectUtil.isNotNull(bizSaleOrder)){
|
|
|
+ bizSaleOrder.setSaleStatus("1");
|
|
|
+ bizSaleOrderService.updateById(bizSaleOrder);
|
|
|
+ }
|
|
|
+
|
|
|
+ //修改现在订单状态
|
|
|
+ BizSaleOrder saleOrder = bizSaleOrderService.getById(bizOrderEditParam.getSaleOrderInfo());
|
|
|
+ if(ObjectUtil.isNotNull(saleOrder)){
|
|
|
+ saleOrder.setSaleStatus("2");
|
|
|
+ bizSaleOrderService.updateById(saleOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
BeanUtil.copyProperties(bizOrderEditParam, bizOrder);
|
|
|
bizOrder.setGoodId(bizGoodsConf.getGoodsId());
|
|
|
//设置订单重量
|
|
@@ -183,6 +240,13 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
//修改时段配置内物品重量
|
|
|
bizGoodsConfService.editUsedWeight(bizGoodsConf.getId(),bizOrder.getOrderWeight().negate().doubleValue());
|
|
|
}
|
|
|
+
|
|
|
+ //查询销售订单信息
|
|
|
+ BizSaleOrder bizSaleOrder = bizSaleOrderService.getById(bizOrder.getSaleOrderInfo());
|
|
|
+ if(ObjectUtil.isNotNull(bizSaleOrder)){
|
|
|
+ bizSaleOrder.setSaleStatus("1");
|
|
|
+ bizSaleOrderService.updateById(bizSaleOrder);
|
|
|
+ }
|
|
|
}
|
|
|
// 执行删除
|
|
|
this.removeByIds(CollStreamUtil.toList(bizOrderIdParamList, BizOrderIdParam::getId));
|
|
@@ -267,11 +331,21 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
this.updateById(bizOrder);
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public void orderConfirm(BizOrderEditParam bizOrderEditParam) {
|
|
|
BizOrder bizOrder = this.queryEntity(bizOrderEditParam.getId());
|
|
|
bizOrder.setOrderStatus("3");
|
|
|
this.updateById(bizOrder);
|
|
|
+
|
|
|
+ //存取预约次数配置
|
|
|
+ BizOrderConfig bizOrderConfig = new BizOrderConfig();
|
|
|
+ bizOrderConfig.setOrderId(bizOrder.getId());
|
|
|
+ BizConfig bizConfig = bizConfigService.getOne(new QueryWrapper<BizConfig>().lambda().last("limit 1"));
|
|
|
+ if(ObjectUtil.isNotNull(bizConfig)){
|
|
|
+ bizOrderConfig.setApplyNumber(bizConfig.getApplyCount());
|
|
|
+ }
|
|
|
+ orderConfigService.save(bizOrderConfig);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -280,15 +354,23 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
if(bizOrder.getNetWeight().compareTo(BigDecimal.ZERO) != 0){
|
|
|
BigDecimal orderBalance = bizOrder.getOrderWeight().subtract(bizOrder.getNetWeight());
|
|
|
BigDecimal result = orderBalance.divide(bizOrder.getOrderWeight()).multiply(new BigDecimal(100));
|
|
|
- if(result.compareTo(new BigDecimal(80)) >= 0){
|
|
|
+ if(result.compareTo(new BigDecimal(20)) <= 0){
|
|
|
//大于80%不需要审核
|
|
|
bizOrder.setOrderStatus("7");
|
|
|
+
|
|
|
+ //销售订单结束
|
|
|
+ BizSaleOrder bizSaleOrder = bizSaleOrderService.getById(bizOrder.getSaleOrderInfo());
|
|
|
+ if(ObjectUtil.isNotNull(bizSaleOrder)){
|
|
|
+ bizSaleOrder.setSaleStatus("3");
|
|
|
+ bizSaleOrderService.updateById(bizSaleOrder);
|
|
|
+ }
|
|
|
}else{
|
|
|
bizOrder.setOrderStatus("5");
|
|
|
}
|
|
|
}else{
|
|
|
- bizOrder.setOrderStatus("7");
|
|
|
+ bizOrder.setOrderStatus("5");
|
|
|
}
|
|
|
+ bizOrder.setEndReason(bizOrderEditParam.getEndReason());
|
|
|
this.updateById(bizOrder);
|
|
|
}
|
|
|
|
|
@@ -298,15 +380,29 @@ public class BizOrderServiceImpl extends ServiceImpl<BizOrderMapper, BizOrder> i
|
|
|
if(ObjectUtil.isNotEmpty(bizOrderEditParam.getAuditFlag())){
|
|
|
if(StringUtils.equals(bizOrderEditParam.getAuditFlag(),"true")){
|
|
|
//驳回
|
|
|
- bizOrder.setOrderStatus("6");
|
|
|
+ bizOrder.setOrderStatus("4");
|
|
|
bizOrder.setOrderReason(bizOrderEditParam.getOrderReason());
|
|
|
}else{
|
|
|
bizOrder.setOrderStatus("7");
|
|
|
+
|
|
|
+ //销售订单结束
|
|
|
+ BizSaleOrder bizSaleOrder = bizSaleOrderService.getById(bizOrder.getSaleOrderInfo());
|
|
|
+ if(ObjectUtil.isNotNull(bizSaleOrder)){
|
|
|
+ bizSaleOrder.setSaleStatus("3");
|
|
|
+ bizSaleOrderService.updateById(bizSaleOrder);
|
|
|
+ }
|
|
|
}
|
|
|
this.updateById(bizOrder);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void submit(BizOrderEditParam bizOrderEditParam) {
|
|
|
+ BizOrder bizOrder = this.queryEntity(bizOrderEditParam.getId());
|
|
|
+ bizOrder.setOrderStatus("1");
|
|
|
+ this.updateById(bizOrder);
|
|
|
+ }
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
|
String result = "";
|
|
|
try {
|