From 3bc19580d55cad909d011dafa25a49152ca265a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Wed, 6 Jul 2022 00:24:51 +0800 Subject: [PATCH] task_order --- .../com/xm/core/ctrl/XmTaskController.java | 10 -- .../xm/core/ctrl/XmTaskOrderController.java | 117 +++++++++++++----- .../java/com/xm/core/vo/AddXmTaskOrderVo.java | 30 +++++ 3 files changed, 115 insertions(+), 42 deletions(-) create mode 100644 xm-core/src/main/java/com/xm/core/vo/AddXmTaskOrderVo.java diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java index 660a9538..36ae0666 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java @@ -249,16 +249,6 @@ public class XmTaskController { fields.add("parentTaskid"); fields.add("parentTaskname"); fields.add("executorUserid"); - fields.add("oshare"); - fields.add("shareFee"); - fields.add("top"); - fields.add("hot"); - fields.add("urgent"); - fields.add("topFee"); - fields.add("hotFee"); - fields.add("urgent"); - fields.add("efunds"); - fields.add("estate"); for (String fieldName : xmTaskMap.keySet()) { if(fields.contains(fieldName)){ return ResponseHelper.failed(fieldName+"-no-edit",fieldName+"不允许修改"); 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 31ef04d0..93f518ed 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 @@ -1,32 +1,36 @@ 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.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.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.XmTaskOrder; +import com.xm.core.service.XmTaskOrderService; +import com.xm.core.service.XmTaskService; +import com.xm.core.vo.AddXmTaskOrderVo; +import io.swagger.annotations.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; -import com.xm.core.service.XmTaskOrderService; -import com.xm.core.entity.XmTaskOrder; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static com.mdp.core.utils.BaseUtils.toMap; /** * url编制采用rest风格,如对xm_task_order 任务相关费用订单表的操作有增删改查,对应的url分别为:
@@ -42,6 +46,12 @@ public class XmTaskOrderController { @Autowired private XmTaskOrderService xmTaskOrderService; + + @Autowired + XmTaskService xmTaskService; + + @Autowired + ItemService itemService; Map fieldsMap = toMap(new XmTaskOrder()); @@ -74,27 +84,71 @@ public class XmTaskOrderController { } - - /** + @ApiOperation( value = "新增一条任务相关费用订单表信息",notes=" ") @ApiResponses({ @ApiResponse(code = 200,response=XmTaskOrder.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}") }) @RequestMapping(value="/add",method=RequestMethod.POST) - public Map addXmTaskOrder(@RequestBody XmTaskOrder xmTaskOrder) { + public Map addXmTaskOrder(@RequestBody AddXmTaskOrderVo xmTaskOrder) { Map m = new HashMap<>(); Tips tips=new Tips("成功新增一条数据"); try{ - boolean createPk=false; - if(!StringUtils.hasText(xmTaskOrder.getId())) { - createPk=true; - xmTaskOrder.setId(xmTaskOrderService.createKey("id")); + if(!StringUtils.hasText(xmTaskOrder.getTaskId())){ + return ResponseHelper.failed("taskId-0","任务编号不能为空"); + } + XmTask xmTaskDb=this.xmTaskService.selectOneById(xmTaskOrder.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(!"1".equals(xmTaskDb.getTop()) && !"1".equals(xmTaskDb.getOshare()) && !"1".equals(xmTaskDb.getUrgent()) && !"1".equals(xmTaskDb.getCrmSup()) && !"1".equals(xmTaskDb.getHot()) && !"1".equals(xmTaskDb.getEstate())){ + return ResponseHelper.failed("no-need-pay","该任务无须付款"); + } + User user= LoginUtils.getCurrentUserInfo(); + XmTaskOrder order=new XmTaskOrder(); + BeanUtils.copyProperties(xmTaskDb,order); + order.setId(this.xmTaskOrderService.createKey("id")); + order.setTaskId(xmTaskDb.getId()); + order.setUserid(user.getUserid()); + order.setBranchId(user.getBranchId()); + BigDecimal originFee=BigDecimal.ZERO; + if("1".equals(xmTaskDb.getEstate())){ + order.setEfunds(xmTaskDb.getBudgetAt()); + originFee=originFee.add(xmTaskDb.getBudgetAt()); + } + ItemVo itemVo=itemService.getDict("sysParam","crowd_task_market"); + if("1".equals(xmTaskDb.getTop())){ + order.setTopFee(NumberUtil.getBigDecimal(itemVo.getExtInfo("topFee").getValue(),BigDecimal.ZERO)); + order.setTopDays(NumberUtil.getInteger(itemVo.getExtInfo("topDays").getValue(),3)); + originFee=originFee.add(order.getTopFee()); + } + if("1".equals(xmTaskDb.getHot())){ + order.setHotFee(NumberUtil.getBigDecimal(itemVo.getExtInfo("topFee").getValue(),BigDecimal.ZERO)); + order.setHotDays(NumberUtil.getInteger(itemVo.getExtInfo("topDays").getValue(),3)); + originFee=originFee.add(order.getTopFee()); + } + if("1".equals(xmTaskDb.getTop())){ + order.setTopFee(NumberUtil.getBigDecimal(itemVo.getExtInfo("topFee").getValue(),BigDecimal.ZERO)); + order.setTopDays(NumberUtil.getInteger(itemVo.getExtInfo("topDays").getValue(),3)); + originFee=originFee.add(order.getTopFee()); + } + if("1".equals(xmTaskDb.getTop())){ + order.setTopFee(NumberUtil.getBigDecimal(itemVo.getExtInfo("topFee").getValue(),BigDecimal.ZERO)); + order.setTopDays(NumberUtil.getInteger(itemVo.getExtInfo("topDays").getValue(),3)); + originFee=originFee.add(order.getTopFee()); + } + if("1".equals(xmTaskDb.getTop())){ + order.setTopFee(NumberUtil.getBigDecimal(itemVo.getExtInfo("topFee").getValue(),BigDecimal.ZERO)); + order.setTopDays(NumberUtil.getInteger(itemVo.getExtInfo("topDays").getValue(),3)); + originFee=originFee.add(order.getTopFee()); } - if(createPk==false){ - if(xmTaskOrderService.selectOneObject(xmTaskOrder) !=null ){ - return failed("pk-exists","编号重复,请修改编号再提交"); - } - } xmTaskOrderService.insert(xmTaskOrder); m.put("data",xmTaskOrder); }catch (BizException e) { @@ -107,7 +161,6 @@ public class XmTaskOrderController { m.put("tips", tips); return m; } - */ /** @ApiOperation( value = "删除一条任务相关费用订单表信息",notes=" ") diff --git a/xm-core/src/main/java/com/xm/core/vo/AddXmTaskOrderVo.java b/xm-core/src/main/java/com/xm/core/vo/AddXmTaskOrderVo.java new file mode 100644 index 00000000..b6e6a12a --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/vo/AddXmTaskOrderVo.java @@ -0,0 +1,30 @@ +package com.xm.core.vo; + +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 AddXmTaskOrderVo implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(notes="任务编号",allowEmptyValue=true,example="",allowableValues="") + String taskId; + + /** + * 任务相关费用订单表 + **/ + public AddXmTaskOrderVo() { + } + +} \ No newline at end of file