diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java index 8fa6a651..ad43836a 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java @@ -1,32 +1,41 @@ package com.xm.core.ctrl; -import java.util.*; -import java.util.stream.Collectors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import io.swagger.annotations.*; - -import static com.mdp.core.utils.ResponseHelper.*; -import static com.mdp.core.utils.BaseUtils.*; +import com.alibaba.fastjson.JSON; import com.mdp.core.entity.Tips; import com.mdp.core.err.BizException; -import com.mdp.mybatis.PageUtils; -import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.NumberUtil; +import com.mdp.core.utils.RequestUtils; +import com.mdp.core.utils.ResponseHelper; +import com.mdp.meta.client.entity.ItemVo; +import com.mdp.meta.client.service.ItemService; +import com.mdp.msg.client.PushNotifyMsgService; +import com.mdp.mybatis.PageUtils; import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; +import com.mdp.swagger.ApiEntityParams; +import com.xm.core.entity.XmTask; +import com.xm.core.entity.XmTaskBidOrder; +import com.xm.core.service.XmTaskBidOrderService; +import com.xm.core.service.XmTaskService; +import com.xm.core.vo.AddXmTaskBidOrderVo; import io.swagger.annotations.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; -import com.xm.core.service.XmTaskBidOrderService; -import com.xm.core.entity.XmTaskBidOrder; +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import static com.mdp.core.utils.BaseUtils.toMap; +import static com.mdp.core.utils.ResponseHelper.failed; /** * url编制采用rest风格,如对xm_task_bid_order 任务相关费用订单表的操作有增删改查,对应的url分别为:
@@ -42,6 +51,18 @@ public class XmTaskBidOrderController { @Autowired private XmTaskBidOrderService xmTaskBidOrderService; + + @Autowired + XmTaskService xmTaskService; + + @Autowired + ItemService itemService; + + @Autowired + PushNotifyMsgService msgService; + + @Autowired + RedisTemplate redisTemplate; Map fieldsMap = toMap(new XmTaskBidOrder()); @@ -72,225 +93,189 @@ public class XmTaskBidOrderController { m.put("tips", tips); return m; } - - - - /** + + + + @ApiOperation( value = "计算订单金额",notes=" ") + @ApiResponses({ + @ApiResponse(code = 200,response= AddXmTaskBidOrderVo.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) + @RequestMapping(value="/calcOrder",method= RequestMethod.GET) + public Map calcOrder( AddXmTaskBidOrderVo xmTaskBidOrder) { + xmTaskBidOrder.setCalc(true); + return addXmTaskBidOrder(xmTaskBidOrder); + } + @ApiOperation( value = "新增一条任务相关费用订单表信息",notes=" ") @ApiResponses({ - @ApiResponse(code = 200,response=XmTaskBidOrder.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") - }) + @ApiResponse(code = 200,response= XmTaskBidOrder.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + }) @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmTaskBidOrder(@RequestBody XmTaskBidOrder xmTaskBidOrder) { + public Map addXmTaskBidOrder(@RequestBody AddXmTaskBidOrderVo bidOrderVo) { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ - boolean createPk=false; - if(!StringUtils.hasText(xmTaskBidOrder.getId())) { - createPk=true; - xmTaskBidOrder.setId(xmTaskBidOrderService.createKey("id")); + if(!StringUtils.hasText(bidOrderVo.getTaskId())){ + return ResponseHelper.failed("taskId-0","任务编号不能为空"); + } + XmTask xmTaskDb=this.xmTaskService.selectOneById(bidOrderVo.getTaskId()); + if(xmTaskDb==null){ + return ResponseHelper.failed("data-0","任务已不存在"); + } + if(!"1".equals(xmTaskDb.getTaskOut())){ + return ResponseHelper.failed("taskOut-0","不是外包任务,无须付款"); + } + + if(!"1".equals(xmTaskDb.getCrowd())){ + return ResponseHelper.failed("taskOut-0","不是众包任务,无须付款"); } - if(createPk==false){ - if(xmTaskBidOrderService.selectOneObject(xmTaskBidOrder) !=null ){ - return failed("pk-exists","编号重复,请修改编号再提交"); - } - } - xmTaskBidOrderService.insert(xmTaskBidOrder); - m.put("data",xmTaskBidOrder); - }catch (BizException e) { + if(!"2".equals(xmTaskDb.getBidStep()) ){ + return ResponseHelper.failed("bidStep-no-2","当前任务不是投标阶段,无须购买投标直通车"); + } + User user= LoginUtils.getCurrentUserInfo(); + bidOrderVo.setExecUserBranchId(user.getBranchId()); + bidOrderVo.setUsername(user.getUsername()); + bidOrderVo.setBranchId(xmTaskDb.getCbranchId()); + bidOrderVo.setProjectId(xmTaskDb.getProjectId()); + XmTaskBidOrder order=new XmTaskBidOrder(); + order.setId(this.xmTaskBidOrderService.createKey("id")); + order.setTaskId(xmTaskDb.getId()); + order.setOuserid(user.getUserid()); + order.setObranchId(user.getBranchId()); + order.setProjectId(xmTaskDb.getProjectId()); + order.setTaskBudgetAt(xmTaskDb.getBudgetAt()); + order.setName(xmTaskDb.getName()); + order.setBizType("1"); + BigDecimal originFee=BigDecimal.ZERO; + ItemVo itemVo=itemService.getDict("sysParam","crowd_task_bid_sfee"); + int bidFeeRate=NumberUtil.getInteger(itemVo.getExtInfo("bidFeeRate").getValue(),0); + originFee=originFee.add(order.getTaskBudgetAt().multiply(BigDecimal.valueOf(bidFeeRate).multiply(BigDecimal.valueOf(100)))); + + order.setName("购买投标直通车,任务【"+xmTaskDb.getName()+"】"); + order.setRemark(order.getName()); + + if(order.getOthFee()==null){ + order.setOthFee(BigDecimal.ZERO); + } + order.setOriginFee(originFee); + order.setFinalFee(originFee.add(order.getOthFee())); + order.setPayType(bidOrderVo.getPayType()); + order.setOstatus("2"); + order.setPayStatus("0"); + order.setBizType("1"); + order.setCtime(new Date()); + order.setLtime(new Date()); + if(!bidOrderVo.isCalc()){ + xmTaskBidOrderService.insert(order); + redisTemplate.opsForValue().set(XmTaskBidOrder.class.getSimpleName()+"-"+order.getId(), JSON.toJSONString(bidOrderVo),1, TimeUnit.HOURS); + String remark="投标直通车费用"; + msgService.pushMsg(user,user.getUserid(),user.getUsername(),"2",order.getProjectId(),order.getTaskId(),"您为任务支付"+remark+order.getFinalFee()+"元订单提交成功,请及时付款"); + } + m.put("data",order); + }catch (BizException e) { tips=e.getTips(); logger.error("",e); }catch (Exception e) { tips.setFailureMsg(e.getMessage()); logger.error("",e); - } + } m.put("tips", tips); return m; } - */ - - /** - @ApiOperation( value = "删除一条任务相关费用订单表信息",notes=" ") + + + @ApiOperation( value = "通过Id获取订单",notes=" ") @ApiResponses({ - @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") - }) - @RequestMapping(value="/del",method=RequestMethod.POST) - public Map delXmTaskBidOrder(@RequestBody XmTaskBidOrder xmTaskBidOrder){ + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/getOrderById",method=RequestMethod.GET) + public Map getOrderById(String orderId) { Map m = new HashMap<>(); - Tips tips=new Tips("成功删除一条数据"); - try{ - if(!StringUtils.hasText(xmTaskBidOrder.getId())) { - return failed("pk-not-exists","请上送主键参数id"); - } - XmTaskBidOrder xmTaskBidOrderDb = xmTaskBidOrderService.selectOneObject(xmTaskBidOrder); - if( xmTaskBidOrderDb == null ){ - return failed("data-not-exists","数据不存在,无法删除"); - } - xmTaskBidOrderService.deleteByPk(xmTaskBidOrder); - }catch (BizException e) { - tips=e.getTips(); - logger.error("",e); - }catch (Exception e) { - tips.setFailureMsg(e.getMessage()); - logger.error("",e); - } + Tips tips=new Tips("查询成功"); + if(!StringUtils.hasText(orderId)) { + return failed("data-0","订单Id不能为空"); + } + XmTaskBidOrder moOrder = xmTaskBidOrderService.selectOneById(orderId); m.put("tips", tips); + m.put("data", moOrder); return m; } - */ - - /** - @ApiOperation( value = "根据主键修改一条任务相关费用订单表信息",notes=" ") + + @ApiOperation( value = "通过Id获取订单",notes=" ") @ApiResponses({ - @ApiResponse(code = 200,response=XmTaskBidOrder.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") - }) - @RequestMapping(value="/edit",method=RequestMethod.POST) - public Map editXmTaskBidOrder(@RequestBody XmTaskBidOrder xmTaskBidOrder) { + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/orderPaySuccess",method=RequestMethod.POST) + public Map orderPaySuccess(@RequestBody XmTaskBidOrder order) { Map m = new HashMap<>(); - Tips tips=new Tips("成功更新一条数据"); - try{ - if(!StringUtils.hasText(xmTaskBidOrder.getId())) { - return failed("pk-not-exists","请上送主键参数id"); - } - XmTaskBidOrder xmTaskBidOrderDb = xmTaskBidOrderService.selectOneObject(xmTaskBidOrder); - if( xmTaskBidOrderDb == null ){ - return failed("data-not-exists","数据不存在,无法修改"); - } - xmTaskBidOrderService.updateSomeFieldByPk(xmTaskBidOrder); - m.put("data",xmTaskBidOrder); - }catch (BizException e) { - tips=e.getTips(); + try { + Tips tips=new Tips("操作成功"); + if(!StringUtils.hasText(order.getId())) { + return failed("data-0","订单Id不能为空"); + } + String flag= (String) this.redisTemplate.opsForValue().get("pay-notify-success-"+order.getPayId()); + if(!StringUtils.hasText(flag)|| !"1".equals(flag)){ + return failed("pay-notify-success-flag-0","验证码错误"); + } + xmTaskBidOrderService.orderPaySuccess(order.getId(),order.getPayId(),order.getPrepayId(), order.getTranId(), order.getPayAt(), order.getRemark()); + + m.put("tips", tips); + return m; + }catch (BizException e) { logger.error("",e); - }catch (Exception e) { - tips.setFailureMsg(e.getMessage()); + return failed("data-0",e.getMessage()); + } catch (Exception e) { logger.error("",e); - } - m.put("tips", tips); - return m; + return failed("data-0", "开通模块失败"); + } } - */ - /** - @ApiOperation( value = "批量修改某些字段",notes="") - @ApiEntityParams( value = XmTaskBidOrder.class, props={ }, remark = "任务相关费用订单表", paramType = "body" ) + @ApiOperation( value = "订单支付取消判断",notes=" ") @ApiResponses({ - @ApiResponse(code = 200,response=XmTaskBidOrder.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) - @RequestMapping(value="/editSomeFields",method=RequestMethod.POST) - public Map editSomeFields( @ApiIgnore @RequestBody Map xmTaskBidOrderMap) { + @RequestMapping(value="/payCancel",method=RequestMethod.POST) + public Map payCancel(@RequestBody XmTaskBidOrder order) { Map m = new HashMap<>(); - Tips tips=new Tips("成功更新一条数据"); - try{ - List ids= (List) xmTaskBidOrderMap.get("ids"); - if(ids==null || ids.size()==0){ - return failed("ids-0","ids不能为空"); - } - - Set fields=new HashSet<>(); - fields.add("id"); - for (String fieldName : xmTaskBidOrderMap.keySet()) { - if(fields.contains(fieldName)){ - return failed(fieldName+"-no-edit",fieldName+"不允许修改"); - } - } - Set fieldKey=xmTaskBidOrderMap.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet()); - fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmTaskBidOrderMap.get(i) )).collect(Collectors.toSet()); - - if(fieldKey.size()<=0) { - return failed("fieldKey-0","没有需要更新的字段"); - } - XmTaskBidOrder xmTaskBidOrder = fromMap(xmTaskBidOrderMap,XmTaskBidOrder.class); - List xmTaskBidOrdersDb=xmTaskBidOrderService.selectListByIds(ids); - if(xmTaskBidOrdersDb==null ||xmTaskBidOrdersDb.size()==0){ - return failed("data-0","记录已不存在"); + try { + Tips tips=new Tips("操作成功"); + if(!StringUtils.hasText(order.getId())) { + return failed("data-0","订单Id不能为空"); } - List can=new ArrayList<>(); - List no=new ArrayList<>(); - User user = LoginUtils.getCurrentUserInfo(); - for (XmTaskBidOrder xmTaskBidOrderDb : xmTaskBidOrdersDb) { - Tips tips2 = new Tips("检查通过"); - if(!tips2.isOk()){ - no.add(xmTaskBidOrderDb); - }else{ - can.add(xmTaskBidOrderDb); - } + String flag= (String) this.redisTemplate.opsForValue().get("pay-notify-cancel-"+order.getPayId()); + if(!StringUtils.hasText(flag)|| !"1".equals(flag)){ + return failed("pay-notify-cancel-flag-0","验证码错误"); } - if(can.size()>0){ - xmTaskBidOrderMap.put("ids",can.stream().map(i->i.getId()).collect(Collectors.toList())); - xmTaskBidOrderService.editSomeFields(xmTaskBidOrderMap); - } - List msgs=new ArrayList<>(); - if(can.size()>0){ - msgs.add(String.format("成功更新以下%s条数据",can.size())); - } - if(no.size()>0){ - msgs.add(String.format("以下%s个数据无权限更新",no.size())); - } - if(can.size()>0){ - tips.setOkMsg(msgs.stream().collect(Collectors.joining())); - }else { - tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); - } - //m.put("data",xmMenu); + this.xmTaskBidOrderService.payCancel(order.getId(),order.getPayId(), order.getRemark()); + m.put("tips", tips); + return m; }catch (BizException e) { - tips=e.getTips(); logger.error("",e); - }catch (Exception e) { - tips.setFailureMsg(e.getMessage()); + return failed("data-0",e.getMessage()); + } catch (Exception e) { logger.error("",e); + return failed("data-0", "付款取消操作失败"); } - m.put("tips", tips); - return m; } - */ - - /** - @ApiOperation( value = "根据主键列表批量删除任务相关费用订单表信息",notes=" ") + @ApiOperation( value = "修改订单的第三方流水号",notes=" ") @ApiResponses({ - @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") - }) - @RequestMapping(value="/batchDel",method=RequestMethod.POST) - public Map batchDelXmTaskBidOrder(@RequestBody List xmTaskBidOrders) { + @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") + }) + @RequestMapping(value="/updatePrepayId",method=RequestMethod.POST) + public Map updatePrepayId(@RequestBody XmTaskBidOrder order) { Map m = new HashMap<>(); - Tips tips=new Tips("成功删除"); - try{ - if(xmTaskBidOrders.size()<=0){ - return failed("data-0","请上送待删除数据列表"); - } - List datasDb=xmTaskBidOrderService.selectListByIds(xmTaskBidOrders.stream().map(i-> i.getId() ).collect(Collectors.toList())); - - List can=new ArrayList<>(); - List no=new ArrayList<>(); - for (XmTaskBidOrder data : datasDb) { - if(true){ - can.add(data); - }else{ - no.add(data); - } - } - List msgs=new ArrayList<>(); - if(can.size()>0){ - xmTaskBidOrderService.batchDelete(can); - msgs.add(String.format("成功删除%s条数据.",can.size())); - } - - if(no.size()>0){ - msgs.add(String.format("以下%s条数据不能删除.【%s】",no.size(),no.stream().map(i-> i.getId() ).collect(Collectors.joining(",")))); - } - if(can.size()>0){ - tips.setOkMsg(msgs.stream().collect(Collectors.joining())); - }else { - tips.setFailureMsg(msgs.stream().collect(Collectors.joining())); - } - }catch (BizException e) { - tips=e.getTips(); - logger.error("",e); - }catch (Exception e) { - tips.setFailureMsg(e.getMessage()); - logger.error("",e); - } - m.put("tips", tips); - return m; - } - */ + Tips tips=new Tips("查询成功"); + if(!StringUtils.hasText(order.getId())) { + return failed("data-0","订单Id不能为空"); + } + XmTaskBidOrder moOrder = new XmTaskBidOrder(); + moOrder.setId(order.getId()); + moOrder.setPayId(order.getPayId()); + moOrder.setPrepayId(order.getPrepayId()); + moOrder.setPayTime(new Date()); + xmTaskBidOrderService.updateSomeFieldByPk(moOrder); + m.put("tips", tips); + m.put("data", moOrder); + return m; + } } diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java index 87bb8a56..cb684835 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java @@ -457,7 +457,7 @@ public class XmTaskOrderController { @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") }) @RequestMapping(value="/getOrderById",method=RequestMethod.GET) - public Map batchDelXmTaskOrder(String orderId) { + public Map getOrderById(String orderId) { Map m = new HashMap<>(); Tips tips=new Tips("查询成功"); if(!StringUtils.hasText(orderId)) { diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskBidOrderService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskBidOrderService.java index 8675d4a4..7bd5c9f0 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskBidOrderService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskBidOrderService.java @@ -1,16 +1,29 @@ package com.xm.core.service; +import com.alibaba.fastjson.JSON; +import com.mdp.core.err.BizException; +import com.mdp.core.service.BaseService; +import com.mdp.msg.client.PushNotifyMsgService; +import com.xm.core.entity.XmTask; +import com.xm.core.entity.XmTaskBidOrder; +import com.xm.core.service.client.AcClient; +import com.xm.core.vo.AddXmTaskBidOrderVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.List; -import java.util.Map; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import com.mdp.core.service.BaseService; -import static com.mdp.core.utils.BaseUtils.*; -import com.mdp.core.entity.Tips; -import com.mdp.core.err.BizException; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; -import com.xm.core.entity.XmTaskBidOrder; /** * 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.
* 组织 com 顶级模块 xm 大模块 core 小模块
@@ -20,5 +33,90 @@ import com.xm.core.entity.XmTaskBidOrder; public class XmTaskBidOrderService extends BaseService { static Logger logger =LoggerFactory.getLogger(XmTaskBidOrderService.class); + @Autowired + XmTaskService xmTaskService; + + @Autowired + PushNotifyMsgService msgService; + + @Autowired + XmRecordService xmRecordService; + + @Autowired + XmTaskExecuserService execuserService; + + @Autowired + RedisTemplate redisTemplate; + + + + @Autowired + AcClient acClient; + + + @Transactional + public void orderPaySuccess(String orderId, String payId, String prepayId, String tranId, BigDecimal payAt, String remarks) { + //更新订单状态 + + if (!StringUtils.hasText(payId)) { + throw new BizException("payId-0", "参数不正确,payId不能为空"); + } + XmTaskBidOrder taskOrderDb = this.selectOneById(orderId); + XmTask xmTaskUpdate=new XmTask(); + xmTaskUpdate.setId(taskOrderDb.getTaskId()); + if (!payId.equals(taskOrderDb.getPayId())) { + throw new BizException("payId-err", "参数不正确,payId与实际不匹配"); + } + if (!"2".equals(taskOrderDb.getOstatus())) { + throw new BizException("该订单状态出错"); + } + XmTaskBidOrder order=new XmTaskBidOrder(); + //设置第三方付款号 + order.setTranId(tranId); + order.setPayAt(payAt); + //设置结算状态为已结算 + order.setPayStatus("1"); + //设置状态为已付款 + order.setOstatus("3"); + //设置付款确认时间 + order.setPayTime(new Date()); + + List marketNames=new ArrayList<>(); + order.setId(taskOrderDb.getId() ); + + + String json= (String) redisTemplate.opsForValue().get(XmTaskBidOrder.class.getSimpleName()+"-"+orderId); + AddXmTaskBidOrderVo bidOrderVo=JSON.parseObject(json,AddXmTaskBidOrderVo.class); + execuserService.addExecuser(bidOrderVo,true); + + BeanUtils.copyProperties(order,xmTaskUpdate); + xmTaskUpdate.setId(taskOrderDb.getTaskId()); + //托管资金后用户开始工作 + if("1".equals(taskOrderDb.getBizType()) && "2".equals(xmTaskUpdate.getEstate()) && "1".equals(taskOrderDb.getEstate())){ + xmTaskUpdate.setBidStep("5"); + xmTaskUpdate.setEfunds(payAt); + } + this.updateSomeFieldByPk(order); + if("1".equals(taskOrderDb.getBizType()) && "5".equals(xmTaskUpdate.getBidStep())){ + XmTask xmTaskDb=this.xmTaskService.selectOneById(taskOrderDb.getTaskId()); + msgService.pushMsg(taskOrderDb.getObranchId(),taskOrderDb.getOuserid(),xmTaskDb.getExecutorUserid(),"2",xmTaskDb.getProjectId(),xmTaskDb.getId(),"雇主成功托管佣金【"+taskOrderDb.getEfunds()+"】,实际到账金额【"+payAt+"】,当前任务进入用户工作阶段,请尽快开展工作。"); + xmRecordService.addXmTaskRecord(taskOrderDb.getProjectId(),taskOrderDb.getTaskId(),"托管佣金","成功托管佣金【"+taskOrderDb.getEfunds()+"】,实际到账金额【"+payAt+"】"); + }else{ + + xmRecordService.addXmTaskRecord(taskOrderDb.getProjectId(),taskOrderDb.getTaskId(),"营销活动","成功缴纳活动费用金额【"+taskOrderDb.getFinalFee()+"】,实际到账金额【"+payAt+"】。参加的活动为【"+marketNames.stream().collect(Collectors.joining(","))+"】"); + } + } + public void payCancel(String orderId, String payId, String remark) { + XmTaskBidOrder orderDb = this.selectOneById(orderId); + if(StringUtils.isEmpty(orderDb.getPayId()) ||orderDb.getPayId().equals(payId)){ + XmTaskBidOrder orderUpdate=new XmTaskBidOrder(); + orderUpdate.setId(orderId); + orderUpdate.setRemark(remark); + orderUpdate.setPayStatus("2"); + orderUpdate.setLtime(new Date()); + super.updateSomeFieldByPk(orderUpdate); + } + } + } diff --git a/xm-core/src/main/java/com/xm/core/vo/AddXmTaskBidOrderVo.java b/xm-core/src/main/java/com/xm/core/vo/AddXmTaskBidOrderVo.java new file mode 100644 index 00000000..ad09ada7 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/vo/AddXmTaskBidOrderVo.java @@ -0,0 +1,28 @@ +package com.xm.core.vo; + +import com.xm.core.entity.XmTaskExecuser; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 组织 com 顶级模块 xm 大模块 core 小模块
+ * 实体 XmTaskOrder所有属性名:
+ * "userid","用户编号","branchId","公司ID-下单客户对应的企业","ostatus","订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单","ctime","创建时间","ltime","更新时间","payType","支付方式","payStatus","支付状态0待付款,1已付款","payTime","支付时间","prepayId","第三方支付订单编号","id","订单编号","finalFee","最终总费用=origin_fee","othFee","其它费用","originFee","原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds+share_fee","payAt","最终付款金额-客户付款后回填","payAuthId","支付授权码","payOpenid","支付账户对应的第三方openid,注意,下单根付款不一定是同一个人","payUserid","付款用户编号","payUsername","付款用户名称","discount","折扣率0-199","topFee","置顶费用","topStime","置顶开始时间","topEtime","置顶结束时间","hotFee","热搜费用","hotStime","热搜开始时间","hotEtime","热搜结束时间","top","是否置顶0否1待付款2已开通3已过期","hot","是否热搜0否1待付款2已开通3已过期","crmSupFee","客服包办费用","urgentFee","加急费用","urgent","是否加急0否1待付款2已开通3已过期","crmSup","是否客服包办0否1待付款2已开通3已过期","efunds","托管金额","estate","资金托管状况0-无须托管,1-待付款,2-已托管资金,3-已付款给服务商,4-已退款","etoPlatTime","托管资金付款给平台的时间","etoDevTime","托管资金支付给服务商的时间","ebackTime","托管资金退回甲方时间","taskId","任务编号","topDays","置顶天数","hotDays","热搜天数","urgentDays","加急天数","urgentStime","加急开始时间","urgentEtime","加急结束时间","calcStatus","定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束","calcTime","计算时间","oshare","是否开启分享赚0否1待付款2已开通3已过期","shareFee","分享赚佣金";
+ * 当前主键(包括多主键):
+ * id;
+ */ + @Data +@ApiModel(description="任务相关费用订单表") +public class AddXmTaskBidOrderVo extends XmTaskExecuser implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(notes="付款方式1微信2支付宝",allowEmptyValue=true,example="",allowableValues="") + String payType; + + boolean calc=false; + + +} \ No newline at end of file