Browse Source

8.16 当一级商户叫车时,组长的脏数据无法取消订单

Mechrevo 1 year ago
parent
commit
62b756a91e

+ 6 - 3
sp-service/level-one-server/src/main/java/com/pj/tb_goods_cart/MethodGoodsCartService.java

@@ -41,7 +41,7 @@ public class MethodGoodsCartService {
         //创建返回值集合
         List<GoodsCartVo> resultList = new ArrayList<>();
         //遍历封装
-        cartList.forEach(item -> {
+        for (TbGoodsCart item : cartList){
             //获取店铺 todo:届时放开店铺信息
 //            TbShop tbShop = tbShopMapper.selectById(item.getShopId());
 //            if(tbShop == null)throw new ServiceException("店铺信息有误~");
@@ -50,7 +50,10 @@ public class MethodGoodsCartService {
             //设置重量
             Long goodsTransitId = item.getPublishGoodsId();
             TbGoodsTransit tbGoodsTransit = tbGoodsTransitMapper.selectById(goodsTransitId);
-            if(tbGoodsTransit == null)throw new ServiceException("商品信息有误~");
+            if(tbGoodsTransit == null){
+                System.out.println("\n过审商品信息有误!\n");
+                continue;
+            }
             Double grossWeight = tbGoodsTransit.getGrossWeight(); //毛重
             Double netWeight = tbGoodsTransit.getNetWeight(); //净重
             String goodsUnits = tbGoodsTransit.getGoodsUnits();
@@ -68,7 +71,7 @@ public class MethodGoodsCartService {
             goodsCartVo.setGrossWeight(grossWeight + goodsUnits);
             //装进集合
             resultList.add(goodsCartVo);
-        });
+        }
 
         return resultList;
     }

+ 6 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_goods_transit/GoodsTransitAppController.java

@@ -3,7 +3,9 @@ package com.pj.tb_goods_transit;
 
 import com.pj.api.dto.GoodsTransitDto;
 
+import com.pj.common.core.exception.ServiceException;
 import com.pj.enummj.DeleteStatus;
+import com.pj.enummj.IsOrders;
 import com.pj.tb_goods_transit.param.PurchaseLevelOneGoodsTransitParam;
 import com.pj.tb_goods_transit.param.TransactionGoodsParam;
 import com.pj.utils.sg.AjaxJson;
@@ -77,6 +79,10 @@ public class GoodsTransitAppController {
      */
     @RequestMapping("update")
     public AjaxJson update(TbGoodsTransit t) {
+        //修改前判断该商品是否已被下单,下单则无法进行下架
+        if(t.getIsOrders().equals(IsOrders.IS_ORDERS_ONE.getCode())){
+            throw new ServiceException("您的商品[ " + t.getGoodsName() + " ]已被下单,暂时无法修改信息,请先往处理订单再进行修改。");
+        }
         tbGoodsTransitService.update(t);
         return AjaxJson.getSuccess();
     }

+ 2 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/MethodOrderService.java

@@ -71,6 +71,8 @@ public class MethodOrderService {
                 break;
             case 5: // 一级市场商家
                 so.put("enterpriseId",fk);
+                //添加未被边民/组长取消条件
+                so.put("cancelPeople",0);
                 break;
             default:
                 throw new ServiceException("服务器繁忙~");

+ 11 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -16,6 +16,8 @@ import com.pj.common.core.exception.ServiceException;
 import com.pj.current.dto.APPLoginUserInfo;
 import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.enummj.*;
+import com.pj.tb_enterprise.TbEnterprise;
+import com.pj.tb_enterprise.TbEnterpriseMapper;
 import com.pj.tb_goods_transit.TbGoodsTransit;
 import com.pj.tb_goods_transit.TbGoodsTransitMapper;
 import com.pj.tb_goods_transit.TbGoodsTransitService;
@@ -55,6 +57,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 	private TbGoodsTransitService tbGoodsTransitService;
 	@Autowired
 	private LevelOneServerInterface levelOneServerInterface;
+	@Autowired
+	private TbEnterpriseMapper tbEnterpriseMapper;
 
 	/**
 	 * 远程调用
@@ -141,6 +145,13 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 		//查询订单
 		TbOrder tbOrder = tbOrderMapper.selectById(orderId);
 		if(tbOrder == null)throw new ServiceException("订单状态异常!");
+		//如果该订单商户已叫车则无法进行取消
+		if(tbOrder.getCallCarStatus() == 1 || tbOrder.getCallCarStatus() == 2){
+			TbEnterprise enterprise = tbEnterpriseMapper.selectById(appLoginInfo.getFk());
+			String phone = null;
+			if(enterprise != null)phone = enterprise.getContact();
+			throw new ServiceException("您的订单单号为[ " + tbOrder.getTradeNo() + " ]商户已叫车,无法进行取消,请联系商户电话[ " + phone + " ]进行取消。");
+		}
 		//将状态设置已取消
 		tbOrder.setCancelPeople(1);
 		//执行保存

+ 3 - 1
sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserAppController.java

@@ -4,6 +4,8 @@ import com.pj.api.dto.PurchaserDto;
 import com.pj.tb_purchaser.param.PurchaserParam;
 import com.pj.utils.sg.AjaxJson;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -39,7 +41,7 @@ public class TbPurchaserAppController {
 
 	/** 收购商认证 */
 	@RequestMapping("identification")
-	public AjaxJson identification(PurchaserParam purchaser) throws ParseException {
+	public AjaxJson identification(@RequestBody @Validated PurchaserParam purchaser) throws ParseException {
 		boolean identification = tbPurchaserService.identification(purchaser);
 		if(!identification) return AjaxJson.getError("收购商认证信息提交失败!!!");