diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java index 3167b7d5..cf3a6e77 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java @@ -182,21 +182,25 @@ public class XmTaskExecuserController { m.put("tips", tips); return m; } - String colUserid=user.getBranchId(); + boolean isBranch=false; if(!xmTaskExecuser.getUserid().equals(user.getUserid())){ User userDb=sysClient.getUserByUserid(xmTaskExecuser.getUserid()); if(userDb==null){ return ResponseHelper.failed("userid-0","候选人不存在"); } - colUserid=userDb.getBranchId(); - xmTaskExecuser.setExecUserBranchId(userDb.getBranchId()); + isBranch=!"0".equals(userDb.getMemType()); + xmTaskExecuser.setExecUserBranchId(userDb.getBranchId()); }else{ + isBranch=!"0".equals(user.getMemType()); xmTaskExecuser.setExecUserBranchId(user.getBranchId()); } if("1".equals(xmTask.getCrowd()) && "1".equals(xmTask.getTaskOut())){ - - - Map result=mkClient.checkAndGetMemberInterests(colUserid,xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + Map result=null; + if(isBranch){ + result=mkClient.checkAndGetMemberInterests(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + }else{ + result= sysClient.checkAndGetBranchInterests(xmTaskExecuser.getExecUserBranchId(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + } Tips tips2= (Tips) result.get("tips"); if(!tips2.isOk()){ return ResponseHelper.failed(tips2); @@ -214,7 +218,12 @@ public class XmTaskExecuserController { if(user.getUserid().equals(xmTaskExecuser.getUserid())){//自己作为候选人 xmTaskExecuser.setExecUserBranchId(user.getBranchId()); xmTaskExecuserService.addExecuser(xmTaskExecuser); - mkClient.pushBidsAfterBidSuccess(colUserid,xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + if(isBranch){ + sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getExecUserBranchId(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + }else { + mkClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + } + m.put("data",xmTaskExecuser); }else { boolean isPm=groupService.checkUserIsProjectAdm(xmTask.getProjectId(),user.getUserid()); @@ -225,9 +234,13 @@ public class XmTaskExecuserController { return ResponseHelper.failed("no-qx","您无权操作!只有任务负责人、组长、项目管理者可以给任务分配候选人。"); } } - xmTaskExecuserService.addExecuser(xmTaskExecuser); - mkClient.pushBidsAfterBidSuccess(colUserid,xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); - m.put("data",xmTaskExecuser); + xmTaskExecuserService.addExecuser(xmTaskExecuser); + if(isBranch){ + sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getExecUserBranchId(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + }else { + mkClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTask.getBudgetAt(),xmTask.getBudgetWorkload(),1); + } + m.put("data",xmTaskExecuser); } }catch (BizException e) { diff --git a/xm-core/src/main/java/com/xm/core/service/client/MkClient.java b/xm-core/src/main/java/com/xm/core/service/client/MkClient.java index ef651120..44438d1a 100644 --- a/xm-core/src/main/java/com/xm/core/service/client/MkClient.java +++ b/xm-core/src/main/java/com/xm/core/service/client/MkClient.java @@ -38,7 +38,7 @@ public class MkClient { } /** - * 检查用户是否可以投标 + * 检查用户是否可以投标-针对私人用户 * @param userid * @param at * @param exp @@ -50,7 +50,7 @@ public class MkClient { return callBizService.getForTips(url,map("userid",userid ,"at",at,"exp",exp,"bids",bids)); } /** - * 检查用户是否可以投标 + * 检查用户是否可以投标-针对私人用户 * @param userid * @param at * @param exp @@ -63,7 +63,7 @@ public class MkClient { return re; } /** - * 检查用户是否可以投标 + * 检查用户是否可以投标-针对私人用户 * @param userid * @return Map */ @@ -74,7 +74,7 @@ public class MkClient { } /** - * 投标成功后登记投标次数 + * 投标成功后登记投标次数-针对私人用户 * @return */ public Tips pushBidsAfterBidSuccess(String userid,BigDecimal at,BigDecimal exp,Integer bids){ diff --git a/xm-core/src/main/java/com/xm/core/service/client/SysClient.java b/xm-core/src/main/java/com/xm/core/service/client/SysClient.java index 467c24c1..06edc540 100644 --- a/xm-core/src/main/java/com/xm/core/service/client/SysClient.java +++ b/xm-core/src/main/java/com/xm/core/service/client/SysClient.java @@ -25,6 +25,9 @@ public class SysClient { @Autowired CallBizService callBizService; + @Autowired + Push push; + /** * 查询用户详细资料 * @param userid @@ -41,4 +44,28 @@ public class SysClient { return user; } + /** + * 检查用户归属企业是否可以投标等等 + * @param branchId + * @param at + * @param exp + * @param bids + * @return {tipscode:bids-not-enough,msg:投标次数超限},{tipscode:smaxExp-not-enough,msg:投标工作量超限},{tipscode:smaxAt-not-enough,msg:投标金额超限}, + */ + public Map checkAndGetBranchInterests(String branchId,BigDecimal at,BigDecimal exp,Integer bids){ + String url="/sys/sys/branchInterests/checkBranchInterests?branchId={branchId}&at={at}&exp={exp}&bids={bids}"; + Map re=callBizService.getForMap(url,map("branchId",branchId ,"at",at,"exp",exp,"bids",bids)); + return re; + } + + /** + * 投标成功后登记投标次数-登记企业的投标次数 + * @return + */ + public Tips pushBidsAfterBidSuccess(String branchId,BigDecimal at,BigDecimal exp,Integer bids){ + Tips tips = new Tips("推送订单成功"); + push.leftPush("xm_task_bid_for_branch",map("branchId",branchId ,"at",at,"exp",exp,"bids",bids)); + // strRedisTemplate.convertAndSend("xm_task_settle", JSON.toJSONString(params)); + return tips; + } }