Bladeren bron

订单如果是限定项目订单修改只能签限定项目

anderx 1 maand geleden
bovenliggende
commit
409a6ba9eb

+ 1 - 1
src/main/java/com/goafanti/business/service/impl/RestrictProjectServiceImpl.java

@@ -110,7 +110,7 @@ public class RestrictProjectServiceImpl extends BaseMybatisDao<RestrictProjectMa
     public Object list(InputRestrictProject in) {
         in.setAid(TokenManager.getAdminId());
         String aname=null;
-        List<OutRestrictProject> list = restrictProjectMapper.selectByUidAndAid(in);
+        List<OutRestrictProject> list = restrictProjectMapper.selectByAid(in);
         User u = userMapper.queryById(in.getUid());
         for (OutRestrictProject e : list) {
             if (e.getType()==null){

+ 1 - 1
src/main/java/com/goafanti/common/dao/RestrictProjectMapper.java

@@ -36,7 +36,7 @@ public interface RestrictProjectMapper {
      * @param in
      * @return
      */
-    List<OutRestrictProject> selectByUidAndAid(InputRestrictProject in);
+    List<OutRestrictProject> selectByAid(InputRestrictProject in);
 
     List<OutRestrictProject> selectByUid(String id);
 

+ 2 - 2
src/main/java/com/goafanti/common/mapper/RestrictProjectMapper.xml

@@ -120,7 +120,7 @@
 
 
 
-    <select id="selectByUidAndAid" resultType="com.goafanti.business.bo.OutRestrictProject">
+    <select id="selectByAid" resultType="com.goafanti.business.bo.OutRestrictProject">
         select a.id pid ,b.id,a.bname projectName,b.type,b.lock_time lockTime,b.release_time releaseTime ,
                c.nickname userName ,d.name adminName,b.create_time createTime,b.uid,b.aid
         from business_project a
@@ -181,7 +181,7 @@
                c.nickname userName ,d.name adminName,b.create_time createTime,b.uid,b.aid
         from  restrict_project b left join business_project a on b.pid =a.id
                  left join user c on b.uid=c.id left join admin d on b.aid=d.id
-        where  b.aid= #{aid,jdbcType=VARCHAR} and b.type in (1,2)
+        where  b.uid= #{uid,jdbcType=VARCHAR} and b.type in (1,2)
     </select>
     <select id="selectByParam" resultMap="BaseResultMap">
         select

+ 5 - 0
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -105,6 +105,11 @@ public class AdminNewOrderApiController extends CertifyApiController {
 			res.getError().add(buildError("订单主要任务已存在","订单主要任务已存在"));
 			return res;
 		}
+		if(orderNewService.checkLimit(in)){
+			res.getError().add(buildError("限定客户订单只能添加限定项目"));
+			return res;
+		}
+
 		return res.data(orderNewService.addOrderTask(in));
 	}
 

+ 2 - 0
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -251,4 +251,6 @@ public interface OrderNewService {
     Object pushOrderNewUser();
 
 	void updateOrderUrl(TOrderNew orderNew);
+
+	boolean checkLimit(InputAddTask in);
 }

+ 27 - 0
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -4,6 +4,7 @@ package com.goafanti.order.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.admin.service.DepartmentService;
+import com.goafanti.business.bo.OutRestrictProject;
 import com.goafanti.common.bo.EmailBo;
 import com.goafanti.common.bo.Error;
 import com.goafanti.common.bo.OrderOperator;
@@ -152,6 +153,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	private TemporaryReceivablesMapper temporaryReceivablesMapper;
 	@Autowired
 	private ProjectAsyncService projectAsyncService;
+	@Autowired
+	private RestrictProjectMapper restrictProjectMapper;
 
 
 	@Value(value = "${upload.path}")
@@ -2747,4 +2750,28 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		tOrderNewMapper.update(orderNew);
 	}
 
+	@Override
+	public boolean checkLimit(InputAddTask in) {
+		// true 返回错误,flase可以正常添加
+		TOrderNewBo orderNewBo = tOrderNewMapper.getOrderNewDetail(in.getOrderNo());
+		if (orderNewBo.getUserType()==3){
+			List<OutRestrictProject> outRestrictProjects = restrictProjectMapper.selectByUid(orderNewBo.getBuyerId());
+			for (OutRestrictProject e : outRestrictProjects) {
+				//找到配合的项目
+				if (e.getPid().equals(in.getCommodityId())){
+					//是私有或者签单
+					if (e.getType()==1||e.getType()==2){
+						if (e.getAid().equals(TokenManager.getAdminId())){
+							return false;
+						}
+					}
+				}
+			}
+		}else {
+			//非限定直接可以发起
+			return false;
+		}
+		return true;
+	}
+
 }