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