Browse Source

投标直通车

master
陈裕财 3 years ago
parent
commit
c04590b8f5
  1. 335
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java
  2. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java
  3. 112
      xm-core/src/main/java/com/xm/core/service/XmTaskBidOrderService.java
  4. 28
      xm-core/src/main/java/com/xm/core/vo/AddXmTaskBidOrderVo.java

335
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分别为:<br>
@ -43,6 +52,18 @@ public class XmTaskBidOrderController {
@Autowired
private XmTaskBidOrderService xmTaskBidOrderService;
@Autowired
XmTaskService xmTaskService;
@Autowired
ItemService itemService;
@Autowired
PushNotifyMsgService msgService;
@Autowired
RedisTemplate redisTemplate;
Map<String,Object> fieldsMap = toMap(new XmTaskBidOrder());
@ -75,58 +96,82 @@ public class XmTaskBidOrderController {
/**
@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<String,Object> 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:数据对象}")
})
@RequestMapping(value="/add",method=RequestMethod.POST)
public Map<String,Object> addXmTaskBidOrder(@RequestBody XmTaskBidOrder xmTaskBidOrder) {
public Map<String,Object> addXmTaskBidOrder(@RequestBody AddXmTaskBidOrderVo bidOrderVo) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据");
try{
boolean createPk=false;
if(!StringUtils.hasText(xmTaskBidOrder.getId())) {
createPk=true;
xmTaskBidOrder.setId(xmTaskBidOrderService.createKey("id"));
}
if(createPk==false){
if(xmTaskBidOrderService.selectOneObject(xmTaskBidOrder) !=null ){
return failed("pk-exists","编号重复,请修改编号再提交");
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","任务已不存在");
}
xmTaskBidOrderService.insert(xmTaskBidOrder);
m.put("data",xmTaskBidOrder);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
if(!"1".equals(xmTaskDb.getTaskOut())){
return ResponseHelper.failed("taskOut-0","不是外包任务,无须付款");
}
m.put("tips", tips);
return m;
}
*/
/**
@ApiOperation( value = "删除一条任务相关费用订单表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Map<String,Object> delXmTaskBidOrder(@RequestBody XmTaskBidOrder xmTaskBidOrder){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除一条数据");
try{
if(!StringUtils.hasText(xmTaskBidOrder.getId())) {
return failed("pk-not-exists","请上送主键参数id");
if(!"1".equals(xmTaskDb.getCrowd())){
return ResponseHelper.failed("taskOut-0","不是众包任务,无须付款");
}
XmTaskBidOrder xmTaskBidOrderDb = xmTaskBidOrderService.selectOneObject(xmTaskBidOrder);
if( xmTaskBidOrderDb == null ){
return failed("data-not-exists","数据不存在,无法删除");
if(!"2".equals(xmTaskDb.getBidStep()) ){
return ResponseHelper.failed("bidStep-no-2","当前任务不是投标阶段,无须购买投标直通车");
}
xmTaskBidOrderService.deleteByPk(xmTaskBidOrder);
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);
@ -137,160 +182,100 @@ public class XmTaskBidOrderController {
m.put("tips", tips);
return m;
}
*/
/**
@ApiOperation( value = "根据主键修改一条任务相关费用订单表信息",notes=" ")
@ApiOperation( value = "通过Id获取订单",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="/edit",method=RequestMethod.POST)
public Map<String,Object> editXmTaskBidOrder(@RequestBody XmTaskBidOrder xmTaskBidOrder) {
@RequestMapping(value="/getOrderById",method=RequestMethod.GET)
public Map<String,Object> getOrderById(String orderId) {
Map<String,Object> 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();
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="")
@ApiEntityParams( value = XmTaskBidOrder.class, props={ }, remark = "任务相关费用订单表", paramType = "body" )
@ApiOperation( value = "通过Id获取订单",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<String,Object> editSomeFields( @ApiIgnore @RequestBody Map<String,Object> xmTaskBidOrderMap) {
@RequestMapping(value="/orderPaySuccess",method=RequestMethod.POST)
public Map<String,Object> orderPaySuccess(@RequestBody XmTaskBidOrder order) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据");
try {
List<String> ids= (List<String>) xmTaskBidOrderMap.get("ids");
if(ids==null || ids.size()==0){
return failed("ids-0","ids不能为空");
}
Set<String> fields=new HashSet<>();
fields.add("id");
for (String fieldName : xmTaskBidOrderMap.keySet()) {
if(fields.contains(fieldName)){
return failed(fieldName+"-no-edit",fieldName+"不允许修改");
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","验证码错误");
}
Set<String> 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());
xmTaskBidOrderService.orderPaySuccess(order.getId(),order.getPayId(),order.getPrepayId(), order.getTranId(), order.getPayAt(), order.getRemark());
if(fieldKey.size()<=0) {
return failed("fieldKey-0","没有需要更新的字段");
}
XmTaskBidOrder xmTaskBidOrder = fromMap(xmTaskBidOrderMap,XmTaskBidOrder.class);
List<XmTaskBidOrder> xmTaskBidOrdersDb=xmTaskBidOrderService.selectListByIds(ids);
if(xmTaskBidOrdersDb==null ||xmTaskBidOrdersDb.size()==0){
return failed("data-0","记录已不存在");
}
List<XmTaskBidOrder> can=new ArrayList<>();
List<XmTaskBidOrder> 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);
}
}
if(can.size()>0){
xmTaskBidOrderMap.put("ids",can.stream().map(i->i.getId()).collect(Collectors.toList()));
xmTaskBidOrderService.editSomeFields(xmTaskBidOrderMap);
}
List<String> 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);
m.put("tips", tips);
return m;
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
return failed("data-0",e.getMessage());
} catch (Exception e) {
tips.setFailureMsg(e.getMessage());
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<String,Object> batchDelXmTaskBidOrder(@RequestBody List<XmTaskBidOrder> xmTaskBidOrders) {
@RequestMapping(value="/payCancel",method=RequestMethod.POST)
public Map<String,Object> payCancel(@RequestBody XmTaskBidOrder order) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除");
try {
if(xmTaskBidOrders.size()<=0){
return failed("data-0","请上送待删除数据列表");
}
List<XmTaskBidOrder> datasDb=xmTaskBidOrderService.selectListByIds(xmTaskBidOrders.stream().map(i-> i.getId() ).collect(Collectors.toList()));
List<XmTaskBidOrder> can=new ArrayList<>();
List<XmTaskBidOrder> no=new ArrayList<>();
for (XmTaskBidOrder data : datasDb) {
if(true){
can.add(data);
}else{
no.add(data);
}
Tips tips=new Tips("操作成功");
if(!StringUtils.hasText(order.getId())) {
return failed("data-0","订单Id不能为空");
}
List<String> 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()));
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","验证码错误");
}
this.xmTaskBidOrderService.payCancel(order.getId(),order.getPayId(), order.getRemark());
m.put("tips", tips);
return m;
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
return failed("data-0",e.getMessage());
} catch (Exception e) {
tips.setFailureMsg(e.getMessage());
logger.error("",e);
return failed("data-0", "付款取消操作失败");
}
}
@ApiOperation( value = "修改订单的第三方流水号",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/updatePrepayId",method=RequestMethod.POST)
public Map<String,Object> updatePrepayId(@RequestBody XmTaskBidOrder order) {
Map<String,Object> m = new HashMap<>();
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;
}
*/
}

2
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<String,Object> batchDelXmTaskOrder(String orderId) {
public Map<String,Object> getOrderById(String orderId) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
if(!StringUtils.hasText(orderId)) {

112
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;
/**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
@ -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<String> 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);
}
}
}

28
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 小模块 <br>
* 实体 XmTaskOrder所有属性名: <br>
* "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","分享赚佣金";<br>
* 当前主键(包括多主键):<br>
* id;<br>
*/
@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;
}
Loading…
Cancel
Save