提交 208b10bb 作者: 张小凤

Merge remote-tracking branch 'origin/develop'

......@@ -109,4 +109,11 @@ public class ServiceOrderFormDetailsDTO {
@ApiModelProperty(value = "状态", example = "100")
private String orderStatus;
@ApiModelProperty(value = "判定内容")
private String decisionContent;
@ApiModelProperty(value = "1:双方无责 2:发布者责任 3:飞手责任")
private Integer duty;
}
......@@ -29,5 +29,12 @@ public class LiabilityProblemVO {
private Integer duty;
@ApiModelProperty(value = "客服判定内容",example = "双方无责")
private String decisionContent;
@ApiModelProperty(value = "用户id",hidden = true)
private Integer userAccountId;
}
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: 4c17e602fcf7dc229e48e61efbd20115d3dabc9f
newTag: 83a12518b04af35aab5b359934a9e9553288ed94
......@@ -239,7 +239,7 @@ public class RequirementsController extends BaseController {
@PostMapping("confirmSettlement")
public ResultBody confirmSettlement(HttpServletRequest request, @RequestParam(value = "需求id") Integer requirementsInfoId) {
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return requirementsService.confirmSettlement(userAccountId, requirementsInfoId);
return requirementsService.confirmSettlement(userAccountId, requirementsInfoId,request);
}
@ApiOperation(value = "new——小程序-—发布者--订单结算详情")
......@@ -313,6 +313,12 @@ public class RequirementsController extends BaseController {
return requirementsService.updateAmountGetNumber(getNumberVO, request);
}
/**
* 客服介入
* @param request
* @param liabilityProblemVO
* @return
*/
@ApiOperation(value = "new2——后台管理取消订单(取消发布者与飞手共同建立的订单)")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("cancelAll")
......
......@@ -6,6 +6,7 @@ import com.mmc.csf.common.util.web.ResultEnum;
import com.mmc.csf.config.IsNullConvertZeroUtil;
import com.mmc.csf.infomation.vo.*;
import com.mmc.csf.release.dao.RequirementsDao;
import com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO;
import com.mmc.csf.release.entity.requirements.RequirementsInfoDO;
import com.mmc.csf.release.entity.requirements.RequirementsServiceDO;
import com.mmc.csf.release.entity.requirements.ServiceSettleAccountsDO;
......@@ -54,6 +55,11 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
super(listenerContainer);
}
/**
* 飞手未确认按照钱的计算
* @param message
* @param pattern
*/
@Override
public void onMessage(Message message, byte[] pattern) {
// 获取失效的key
......@@ -75,15 +81,30 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
private ResultBody getResultBody(RequirementsInfoDO infoDO) {
int count = requirementsDao.selectInfo(infoDO.getId());
if (count!=0){
return ResultBody.error("已结算");
}
ServiceSettleAccountsVO settleAccountsVO = new ServiceSettleAccountsVO();
settleAccountsVO.setRequirementsInfoId(infoDO.getId());
// RequirementsInfoDO infoDO = requirementsDao.selectSettleAccounts(settleAccountsVO);
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancel(infoDO.getId(), infoDO.getUserAccountId());
RequirementsServiceDO requirementsServiceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO);
if (requirementsInfoDO.getServiceFlowId()==5 || requirementsInfoDO.getServiceFlowId()==6
|| requirementsInfoDO.getServiceFlowId()==7){
return ResultBody.error("已结算");
}
RequirementsAmountUpdateDO updateAmount = requirementsDao.findUpdateAmount(infoDO.getId());
IsNullConvertZeroUtil.checkIsNull(infoDO);
IsNullConvertZeroUtil.checkIsNull(requirementsServiceDO);
ServiceSettleAccountsDO settleAccountsDO = new ServiceSettleAccountsDO(settleAccountsVO);
requirementsDao.settleAccounts(settleAccountsDO);
int i = requirementsDao.selectSettleAccountEs(settleAccountsDO.getRequirementsInfoId());
if (i==0){
requirementsDao.settleAccounts(settleAccountsDO);
}
requirementsDao.updateScene(settleAccountsVO.getRequirementsInfoId(), 5);
requirementsDao.updateInfo(settleAccountsVO.getRequirementsInfoId(), 5);
//正常结算
......@@ -97,11 +118,32 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
BigDecimal orderAmount = infoDO.getOrderAmount();
BigDecimal bigDecimal = new BigDecimal(0.9);
BigDecimal bigDecimal1 = orderAmount.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP);
publisherWalletFlowVO.setModeOfPayment(700);
BigDecimal bigDecimal2 = new BigDecimal(0.1);
BigDecimal orderEarnings = orderAmount.multiply(bigDecimal2).setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal orderEarnings1 = requirementsInfoDO.getOrderEarnings();
BigDecimal add = orderEarnings1.add(orderEarnings);
//平台收益
requirementsDao.updateOrderEarnings(add,requirementsInfoDO.getId());
publisherWalletFlowVO.setModeOfPayment(900);
publisherWalletFlowVO.setFlyerSalaryAmount(bigDecimal1);
publisherWalletFlowVO.setCashAmount(infoDO.getCashAmount().negate());
publisherWalletFlowVO.setSalaryAmount(infoDO.getSalaryAmount().negate());
//需要退回后面支付的金额
if (updateAmount.getCashAmount().compareTo(BigDecimal.ZERO)!=0||
updateAmount.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
publisherWalletFlowVO.setRefundCashAmount(updateAmount.getCashAmount());
publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getSalaryAmount());
}
//推发布者微信支付的金额
if (updateAmount.getWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("飞手未确认退款");
applyRefundVO.setRefund(updateAmount.getWeChat().multiply(new BigDecimal(100)).longValue());
applyRefundVO.setOutTradeNo(updateAmount.getWechatPayOrderNumber());
applyRefund(applyRefundVO,"");
}
publisherWalletFlowVO.setUserAccountId(infoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(0);
......@@ -114,7 +156,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
}
//退飞手钱
flyerWalletFlowVO.setModeOfPayment(700);
flyerWalletFlowVO.setModeOfPayment(900);
flyerWalletFlowVO.setCashAmount(requirementsServiceDO.getCashAmount());
flyerWalletFlowVO.setSalaryAmount(requirementsServiceDO.getSalaryAmount());
flyerWalletFlowVO.setUserAccountId(requirementsServiceDO.getPilotCertificationUserId());
......@@ -131,6 +173,8 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, "");
}
//推发布者微信账户
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancel(walletFlowVO, "");
......@@ -151,7 +195,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
HttpEntity<String> entity = new HttpEntity<>(JSONObject.toJSONString(walletFlowVO), headers);
ResponseEntity<Object> exchange = null;
try {
exchange = restTemplate.exchange(userApp + "/userapp/pay/feignWalletFlow", HttpMethod.POST, entity, Object.class);
exchange = restTemplate.exchange(userApp + "/userapp/pay/feignWalletFlowNO", HttpMethod.POST, entity, Object.class);
} catch (RestClientException e) {
return ResultBody.error(ResultEnum.THE_THIRD_PARTY_INTERFACE_IS_BEING_UPDATED);
}
......
......@@ -4,6 +4,7 @@ import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
import com.mmc.csf.infomation.vo.LiabilityProblemVO;
import com.mmc.csf.infomation.vo.ServiceSettleAccountsVO;
import com.mmc.csf.release.entity.requirements.*;
import org.apache.ibatis.annotations.Mapper;
......@@ -103,6 +104,8 @@ public interface RequirementsDao {
void settleAccounts(ServiceSettleAccountsDO settleAccountsDO);
int selectSettleAccountEs(Integer requirementsInfoId);
ServiceSettleAccountsDO settleAccountsDetails(Integer requirementsInfoId, Integer userAccountId);
void evaluate(ServiceEvaluateDO serviceEvaluateDO);
......@@ -120,6 +123,8 @@ public interface RequirementsDao {
RequirementsInfoDO publisherCancel(Integer requirementsInfoId, Integer userAccountId);
RequirementsInfoDO publisherCancelFlyers(Integer requirementsInfoId);
RequirementsInfoDO customerPublisherCancel(Integer requirementsInfoId, Integer userAccountId);
RequirementsInfoDO publisherCancelFlyer(Integer requirementsInfoId);
......@@ -195,4 +200,16 @@ public interface RequirementsDao {
RequirementsServiceDO serviceReq(Integer requirementsInfoId);
void updateRepertory(Integer requirementsInfoId);
int findAmountUpdate(Integer requirementsInfoId);
void updateRequirementsAmountUpdate(RequirementsAmountUpdateDO amountUpdateDO);
RequirementsAmountUpdateDO findUpdateAmount(Integer requirementsInfoId);
int selectInfo(Integer id);
void customerServiceIntervention(LiabilityProblemVO liabilityProblemVO);
int selectCustomer(Integer requirementsInfoId);
}
......@@ -174,6 +174,9 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty(value = "抢单飞手id")
private Integer pilotCertificationId;
@ApiModelProperty(value = "发布者openid")
private String openid;
public RequirementsInfoVO buildRequirementsInfoVO() {
return RequirementsInfoVO.builder().id(this.id).requirementTypeId(this.requirementTypeId).userAccountId(this.userAccountId).publishName(this.publishName)
.publishPhone(this.publishPhone).requireDescription(this.requireDescription).solved(this.solved).taskStartTime(this.taskStartTime).taskEndTime(this.taskEndTime)
......
......@@ -106,6 +106,13 @@ public class ServiceOrderFormDetailsDO {
private BigDecimal orderEarnings;
@ApiModelProperty(value = "判定内容")
private String decisionContent;
@ApiModelProperty(value = "1:双方无责 2:发布者责任 3:飞手责任")
private Integer duty;
public ServiceOrderFormDetailsDTO buildOrderFormDetails() {
return ServiceOrderFormDetailsDTO.builder()
.id(this.id)
......@@ -132,6 +139,8 @@ public class ServiceOrderFormDetailsDO {
.updateTime(this.updateTime)
.orderStatus(this.orderStatus)
.orderEarnings(this.orderEarnings)
.duty(this.duty)
.decisionContent(this.decisionContent)
.build();
}
}
......@@ -111,7 +111,7 @@ public interface RequirementsService {
ResultBody<FlowDictionaryDTO> flowDictionary();
ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId);
ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId,HttpServletRequest request);
ResultBody orderRequirements(String format);
......
......@@ -1249,6 +1249,14 @@ public class RequirementsServiceImpl implements RequirementsService {
public ResultBody cancelAll(LiabilityProblemVO liabilityProblemVO, Integer userAccountId,HttpServletRequest request) {
RequirementsServiceDO requirementsServiceDO = requirementsDao.customerDroneFlyerCancel(liabilityProblemVO.getRequirementsInfoId());
RequirementsInfoDO requirementsInfoDO = requirementsDao.customerPublisherCancel(liabilityProblemVO.getRequirementsInfoId(), userAccountId);
liabilityProblemVO.setUserAccountId(userAccountId);
int i = requirementsDao.selectCustomer(liabilityProblemVO.getRequirementsInfoId());
if (i!=0){
return ResultBody.error("请勿重复判定");
}
requirementsDao.customerServiceIntervention(liabilityProblemVO);
//双方无责
if (liabilityProblemVO.getDuty().equals(1)){
requirementsDao.updateInfo(liabilityProblemVO.getRequirementsInfoId(), 7);
......@@ -1290,43 +1298,142 @@ public class RequirementsServiceImpl implements RequirementsService {
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount());
flyerWalletFlowVO.setModeOfPayment(500);
flyerWalletFlowVO.setUserAccountId(requirementsServiceDO.getUserAccountId());
flyerWalletFlowVO.setUserAccountId(requirementsServiceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(userAccountId);
flyerWalletFlowVO.setCashAmount(requirementsServiceDO.getCashAmount());
flyerWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount());
flyerWalletFlowVO.setSalaryAmount(requirementsServiceDO.getSalaryAmount());
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancel(walletFlowVO,request.getHeader("token"));
//给发布者或者飞手发送信息
this.publicSendMsgPublishInfoAuth(requirementsServiceDO);
this.requirementsInfoInfoAuth(requirementsInfoDO);
return ResultBody.success();
}
}
//发布者责任
if (liabilityProblemVO.getDuty().equals(2)){
publisherCancel(liabilityProblemVO.getRequirementsInfoId(),requirementsInfoDO.getUserAccountId(),request);
requirementsDao.updateInfo(liabilityProblemVO.getRequirementsInfoId(), 7);
requirementsDao.updateScene(liabilityProblemVO.getRequirementsInfoId(), 7);
return ResultBody.success();
}
//飞手责任
if (liabilityProblemVO.getDuty().equals(3)){
droneFlyerCancel(liabilityProblemVO.getRequirementsInfoId(),requirementsServiceDO.getUserAccountId(),request);
droneFlyerCancel(liabilityProblemVO.getRequirementsInfoId(),requirementsServiceDO.getPilotCertificationUserId(),request);
requirementsDao.updateInfo(liabilityProblemVO.getRequirementsInfoId(), 7);
requirementsDao.updateScene(liabilityProblemVO.getRequirementsInfoId(), 7);
return ResultBody.success();
}
return ResultBody.success();
}
/**
* 给发布者发信息
*/
private void requirementsInfoInfoAuth(RequirementsInfoDO requirementsInfoDO) {
//订单编号
JSONObject value1 = new JSONObject();
value1.put("value", requirementsInfoDO.getPublisherNumber());
//订单金额
JSONObject value2 = new JSONObject();
value2.put("value", requirementsInfoDO.getOrderAmount());
//下单时间
JSONObject value3 = new JSONObject();
value3.put("value", requirementsInfoDO.getCreateTime());
//取消时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
String date = df.format(new Date());
JSONObject value4 = new JSONObject();
value4.put("value", date);
JSONObject value5 = new JSONObject();
String remark = "退回金额" + requirementsInfoDO.getOrderAmount() + "元";
value5.put("value", remark);
JSONObject datad = new JSONObject();
//订单编号
datad.put("character_string2", value1);
//订单金额
datad.put("amount3", value2);
//下单时间
datad.put("date5", value3);
//取消时间
datad.put("time7", value4);
//备注
datad.put("thing4", value5);
AppletMsgVOS appletMsgVO = new AppletMsgVOS();
appletMsgVO.setTouser(requirementsInfoDO.getOpenid());
appletMsgVO.setTemplate_id(WxMsgTemplete.INDEMNIFY_FOR_PUBLICATION);
appletMsgVO.setPage("pages/welcome/index");
appletMsgVO.setData(datad);
appletMsgVO.setMiniprogram_state(userSystemConstant.getMiniProgramState());
appletMsgVO.setLang("zh_CN");
sendUserAppletMsg(appletMsgVO);
}
/**
* 给飞手短信
* @param requirementsServiceDO
*/
private void publicSendMsgPublishInfoAuth(RequirementsServiceDO requirementsServiceDO) {
//订单编号
JSONObject value1 = new JSONObject();
value1.put("value", requirementsServiceDO.getPublisherNumber());
//订单金额
JSONObject value2 = new JSONObject();
value2.put("value", requirementsServiceDO.getPreemptTotalAmount());
//下单时间
JSONObject value3 = new JSONObject();
value3.put("value", requirementsServiceDO.getCreateTime());
//取消时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
String date = df.format(new Date());
JSONObject value4 = new JSONObject();
value4.put("value", date);
JSONObject value5 = new JSONObject();
String remark = "退回金额" + requirementsServiceDO.getPreemptTotalAmount() + "元";
value5.put("value", remark);
JSONObject datad = new JSONObject();
//订单编号
datad.put("character_string2", value1);
//订单金额
datad.put("amount3", value2);
//下单时间
datad.put("date5", value3);
//取消时间
datad.put("time7", value4);
//备注
datad.put("thing4", value5);
AppletMsgVOS appletMsgVO = new AppletMsgVOS();
appletMsgVO.setTouser(requirementsServiceDO.getOpenid());
appletMsgVO.setTemplate_id(WxMsgTemplete.INDEMNIFY_FOR_PUBLICATION);
appletMsgVO.setPage("pages/welcome/index");
appletMsgVO.setData(datad);
appletMsgVO.setMiniprogram_state(userSystemConstant.getMiniProgramState());
appletMsgVO.setLang("zh_CN");
sendUserAppletMsg(appletMsgVO);
}
/**
* 修改任务佣金
*
......@@ -1343,6 +1450,8 @@ public class RequirementsServiceImpl implements RequirementsService {
if (requirementsInfoDO == null) {
return ResultBody.error("只能修改自己发布的服务需求");
}
String json = stringRedisTemplate.opsForValue().get(amountVO.getWechatPayOrderNumber() + amountVO.getUserAccountId());
GetOrderNumberDTO numberDTO = JSONObject.parseObject(json, GetOrderNumberDTO.class);
//用户钱包信息接口
......@@ -1365,6 +1474,7 @@ public class RequirementsServiceImpl implements RequirementsService {
BigDecimal tempTotalAmount = orderAmount;
RequirementsAmountUpdateDO amountUpdateDO = new RequirementsAmountUpdateDO(amountVO, requirementsInfoDO);
IsNullConvertZeroUtil.checkIsNull(amountUpdateDO);
//校验是退款还是需要继续支付
//继续支付 需要增加冻结的任务佣金
if (amountVO.getUpdateOrderAmount().compareTo(requirementsInfoDO.getOrderAmount()) == 1) {
......@@ -1487,24 +1597,49 @@ public class RequirementsServiceImpl implements RequirementsService {
WalletFlowVO walletFlowVO = new WalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
//RequirementsServiceDO requirementsServiceDO = new RequirementsServiceDO();
System.out.println(amountUpdateDO);
publisherWalletFlowVO.setModeOfPayment(800);
publisherWalletFlowVO.setSalaryAmount(amountUpdateDO.getSalaryAmount().negate());
publisherWalletFlowVO.setCashAmount(amountUpdateDO.getCashAmount().negate());
publisherWalletFlowVO.setUserAccountId(amountUpdateDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(amountUpdateDO.getUserAccountId());
String wechatPayOrderNumber = amountUpdateDO.getWechatPayOrderNumber();
if (wechatPayOrderNumber!=null){
UserPayInfoVO userPayInfoVO = queryUserPayInfo(amountUpdateDO.getWechatPayOrderNumber(), request);
if (!userPayInfoVO.getTradeState().equals("SUCCESS")){
return ResultBody.error("支付失败,请重新支付");
}
}
if (tempTotalAmount.compareTo(BigDecimal.ZERO) == 0) {
//表示订单计算完成,需要支付的钱都算出来了
if (numberDTO != null) {
amountUpdateDO.setWechatPayOrderNumber(numberDTO.getPaymentOrderNumber());
}
requirementsDao.updateScene(amountVO.getRequirementsInfoId(), 8);
requirementsDao.updateInfo(amountVO.getRequirementsInfoId(), 8);
requirementsDao.requirementsAmountUpdate(amountUpdateDO);
redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 1, TimeUnit.HOURS);
int amountUpdate = requirementsDao.findAmountUpdate(amountUpdateDO.getRequirementsInfoId());
if (amountUpdate!=0){
return ResultBody.error("只能修改一次不能重复修改");
}else{
requirementsDao.requirementsAmountUpdate(amountUpdateDO);
}
if (amountUpdateDO.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0 ||
amountUpdateDO.getCashAmount().compareTo(BigDecimal.ZERO)!=0){
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
flyerCancelNO(walletFlowVO,request.getHeader("token"));
}
//倒计时
// redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 1, TimeUnit.HOURS);
redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 1, TimeUnit.MINUTES);
return ResultBody.success();
} else {
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
return ResultBody.success("修改失败");
return ResultBody.error("修改失败");
}
}
......@@ -1517,11 +1652,90 @@ public class RequirementsServiceImpl implements RequirementsService {
}
@Override
public ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId) {
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancel(requirementsInfoId, userAccountId);
public ResultBody confirmSettlement(Integer userAccountId, Integer requirementsInfoId,HttpServletRequest request) {
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancelFlyers(requirementsInfoId);
ServiceSettleAccountsVO settleAccountsVO = new ServiceSettleAccountsVO();
settleAccountsVO.setRequirementsInfoId(requirementsInfoId);
RequirementsServiceDO serviceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO);
RequirementsAmountUpdateDO updateAmount = requirementsDao.findUpdateAmount(requirementsInfoId);
WalletFlowVO walletFlowVO = new WalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
IsNullConvertZeroUtil.checkIsNull(serviceDO);
IsNullConvertZeroUtil.checkIsNull(requirementsInfoDO);
if (requirementsInfoDO == null) {
return ResultBody.error("结算失败");
}
BigDecimal earnings=BigDecimal.ZERO;
//修改金额
if (updateAmount!=null){
//继续支付需要扣除金额
IsNullConvertZeroUtil.checkIsNull(updateAmount);
publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount().negate());
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().negate());
publisherWalletFlowVO.setUserAccountId(requirementsInfoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(userAccountId);
publisherWalletFlowVO.setModeOfPayment(1000);
if (updateAmount.getCashAmount().compareTo(BigDecimal.ZERO)!=0||
updateAmount.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
BigDecimal cash = publisherWalletFlowVO.getCashAmount().negate();
BigDecimal salary = publisherWalletFlowVO.getSalaryAmount().negate();
BigDecimal add = cash.add(updateAmount.getCashAmount());
BigDecimal addSalary = salary.add(updateAmount.getSalaryAmount());
publisherWalletFlowVO.setCashAmount(add.negate());
publisherWalletFlowVO.setSalaryAmount(addSalary.negate());
// publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getSalaryAmount().negate());
//publisherWalletFlowVO.setRefundCashAmount(updateAmount.getCashAmount().negate());
}if(updateAmount.getReturnCashAmount().compareTo(BigDecimal.ZERO)!=0 ||
updateAmount.getReturnSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
publisherWalletFlowVO.setRefundCashAmount(updateAmount.getReturnCashAmount());
publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getReturnSalaryAmount());
}
if (updateAmount.getReturnWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("飞手确认退款");
applyRefundVO.setOutTradeNo(updateAmount.getWechatPayOrderNumber());
applyRefundVO.setRefund(updateAmount.getReturnWeChat().multiply(new BigDecimal(100)).longValue());
applyRefund(applyRefundVO, request.getHeader("token"));
}
//给飞手金额
BigDecimal updateOrderAmount = updateAmount.getUpdateOrderAmount();
BigDecimal multiply = updateOrderAmount.multiply(new BigDecimal(0.9)).setScale(2, BigDecimal.ROUND_HALF_UP);
publisherWalletFlowVO.setFlyerSalaryAmount(multiply);
//平台收益
earnings = updateOrderAmount.multiply(new BigDecimal(0.1)).setScale(2, BigDecimal.ROUND_HALF_UP);
}
flyerWalletFlowVO.setSalaryAmount(serviceDO.getSalaryAmount());
flyerWalletFlowVO.setCashAmount(serviceDO.getCashAmount());
flyerWalletFlowVO.setUserAccountId(serviceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(userAccountId);
flyerWalletFlowVO.setModeOfPayment(1000);
if (serviceDO.getWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("原路退回");
applyRefundVO.setOutTradeNo(serviceDO.getWechatPayOrderNumber());
BigDecimal weChat = serviceDO.getWeChat();
long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue();
applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, request.getHeader("token"));
}
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancelNO(walletFlowVO,request.getHeader("token"));
BigDecimal orderEarnings = requirementsInfoDO.getOrderEarnings();
BigDecimal add = orderEarnings.add(earnings);
requirementsDao.updateOrderEarnings(add,requirementsInfoId);
requirementsDao.updateInfo(requirementsInfoId, 5);
requirementsDao.updateScene(requirementsInfoId, 5);
return ResultBody.success();
......@@ -1774,87 +1988,141 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
public ResultBody flyHandAgree(FlyHandAgreeVO agreeVO, HttpServletRequest request) {
RequirementsInfoDO requirementsInfoDO = requirementsDao.publisherCancelFlyers(agreeVO.getRequirementsInfoId());
ServiceSettleAccountsVO settleAccountsVO = new ServiceSettleAccountsVO();
settleAccountsVO.setRequirementsInfoId(agreeVO.getRequirementsInfoId());
RequirementsInfoDO infoDO = requirementsDao.flyHandAgree(agreeVO.getRequirementsInfoId());
RequirementsServiceDO requirementsServiceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO);
RequirementsAmountUpdateDO amountUpdateDO = requirementsDao.selectAmountUpdate(agreeVO.getRequirementsInfoId());
IsNullConvertZeroUtil.checkIsNull(infoDO);
IsNullConvertZeroUtil.checkIsNull(requirementsServiceDO);
IsNullConvertZeroUtil.checkIsNull(amountUpdateDO);
ServiceSettleAccountsDO settleAccountsDO = new ServiceSettleAccountsDO(settleAccountsVO);
requirementsDao.settleAccounts(settleAccountsDO);
requirementsDao.updateScene(settleAccountsVO.getRequirementsInfoId(), 5);
requirementsDao.updateInfo(settleAccountsVO.getRequirementsInfoId(), 5);
//正常结算
RequirementsServiceDO serviceDO = requirementsDao.serviceSettleAccounts(settleAccountsVO);
RequirementsAmountUpdateDO updateAmount = requirementsDao.findUpdateAmount(agreeVO.getRequirementsInfoId());
WalletFlowVO walletFlowVO = new WalletFlowVO();
PublisherWalletFlowVO publisherWalletFlowVO = new PublisherWalletFlowVO();
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(publisherWalletFlowVO);
FlyerWalletFlowVO flyerWalletFlowVO = new FlyerWalletFlowVO();
IsNullConvertZeroUtil.checkIsNull(flyerWalletFlowVO);
//给发布者发送
BigDecimal orderAmount = infoDO.getUpdateOrderAmount();
BigDecimal bigDecimal = new BigDecimal(0.9);
BigDecimal bigDecimal1 = orderAmount.multiply(bigDecimal).setScale(2, BigDecimal.ROUND_HALF_UP);
publisherWalletFlowVO.setModeOfPayment(700);
publisherWalletFlowVO.setFlyerSalaryAmount(bigDecimal1);
IsNullConvertZeroUtil.checkIsNull(serviceDO);
IsNullConvertZeroUtil.checkIsNull(requirementsInfoDO);
//如果修改金额小于订单金额
if (infoDO.getOrderAmount().compareTo(infoDO.getUpdateOrderAmount()) == 1) {
BigDecimal cashAmount = infoDO.getCashAmount().add(amountUpdateDO.getCashAmount());
BigDecimal salaryAmount = infoDO.getSalaryAmount().add(amountUpdateDO.getSalaryAmount());
publisherWalletFlowVO.setCashAmount(cashAmount.negate());
publisherWalletFlowVO.setSalaryAmount(salaryAmount.negate());
publisherWalletFlowVO.setUserAccountId(infoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
} else if (infoDO.getOrderAmount().compareTo(infoDO.getUpdateOrderAmount()) == -1) {
BigDecimal cashAmount = infoDO.getCashAmount().subtract(amountUpdateDO.getReturnCashAmount());
BigDecimal salaryAmount = infoDO.getSalaryAmount().subtract(amountUpdateDO.getReturnSalaryAmount());
publisherWalletFlowVO.setCashAmount(cashAmount.negate());
publisherWalletFlowVO.setSalaryAmount(salaryAmount.negate());
publisherWalletFlowVO.setUserAccountId(settleAccountsVO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
if (requirementsInfoDO.getServiceFlowId()==5){
return ResultBody.error("已结算");
}
if ("TOP_ORDER".equals(infoDO.getOrderLevel())) {
publisherWalletFlowVO.setTopYxjAmount(infoDO.getLevelCashAmount().negate());
publisherWalletFlowVO.setTopSalaryAmount(infoDO.getLevelSalaryAmount().negate());
} else if ("RUSH_ORDER".equals(infoDO.getOrderLevel())) {
publisherWalletFlowVO.setUrgentYxjAmount(infoDO.getLevelCashAmount().negate());
publisherWalletFlowVO.setUrgentSalaryAmount(infoDO.getLevelSalaryAmount().negate());
}
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
//推发布者微信钱
if (amountUpdateDO.getReturnWeChat().compareTo(BigDecimal.ZERO) != 0) {
applyRefundVO.setReason("推发布者微信金额");
applyRefundVO.setOutTradeNo(infoDO.getWechatPayOrderNumber());
BigDecimal weChat = amountUpdateDO.getWeChat();
long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue();
applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, request.getHeader("token"));
if (requirementsInfoDO == null) {
return ResultBody.error("结算失败");
}
BigDecimal earnings=BigDecimal.ZERO;
//修改金额
if (updateAmount!=null){
//继续支付需要扣除金额
IsNullConvertZeroUtil.checkIsNull(updateAmount);
if (updateAmount.getUpdateOrderAmount().compareTo(updateAmount.getOrderAmount())==-1){
if (updateAmount.getReturnSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
BigDecimal orderAmount = updateAmount.getOrderAmount();
BigDecimal returnSalaryAmount = updateAmount.getReturnSalaryAmount();
BigDecimal subtract = orderAmount.subtract(returnSalaryAmount);
publisherWalletFlowVO.setSalaryAmount(subtract.negate());
if (requirementsInfoDO.getSalaryAmount().compareTo(updateAmount.getReturnSalaryAmount())==0){
publisherWalletFlowVO.setSalaryAmount(BigDecimal.ZERO);
}
//退飞手钱
flyerWalletFlowVO.setModeOfPayment(700);
flyerWalletFlowVO.setCashAmount(requirementsServiceDO.getCashAmount());
flyerWalletFlowVO.setSalaryAmount(requirementsServiceDO.getSalaryAmount());
flyerWalletFlowVO.setUserAccountId(requirementsServiceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(settleAccountsVO.getUserAccountId());
if (requirementsInfoDO.getSalaryAmount().compareTo(updateAmount.getReturnSalaryAmount())==1){
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().subtract(updateAmount.getReturnSalaryAmount()).negate());
}
}else{
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().negate());
}
if (updateAmount.getReturnCashAmount().compareTo(BigDecimal.ZERO)!=0){
BigDecimal orderAmount = updateAmount.getOrderAmount();
BigDecimal returnCashAmount = updateAmount.getReturnCashAmount();
BigDecimal subtract = orderAmount.subtract(returnCashAmount);
publisherWalletFlowVO.setCashAmount(subtract.negate());
if (requirementsInfoDO.getCashAmount().compareTo(updateAmount.getReturnCashAmount())==0){
publisherWalletFlowVO.setCashAmount(BigDecimal.ZERO);
}
if (updateAmount.getReturnCashAmount().compareTo(requirementsInfoDO.getCashAmount())==-1){
BigDecimal cashAmount = requirementsInfoDO.getCashAmount();
BigDecimal returnCashAmount1 = updateAmount.getReturnCashAmount();
BigDecimal subtract1 = cashAmount.subtract(returnCashAmount1);
publisherWalletFlowVO.setCashAmount(subtract1.negate());
}
if (requirementsServiceDO.getWeChat().compareTo(BigDecimal.ZERO) != 0) {
}else{
publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount().negate());
}
}
if (updateAmount.getUpdateOrderAmount().compareTo(updateAmount.getOrderAmount())==1){
publisherWalletFlowVO.setSalaryAmount(requirementsInfoDO.getSalaryAmount().negate());
publisherWalletFlowVO.setCashAmount(requirementsInfoDO.getCashAmount().negate());
}
publisherWalletFlowVO.setUserAccountId(requirementsInfoDO.getUserAccountId());
publisherWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
publisherWalletFlowVO.setModeOfPayment(1000);
if (updateAmount.getCashAmount().compareTo(BigDecimal.ZERO)!=0||
updateAmount.getSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
BigDecimal cash = publisherWalletFlowVO.getCashAmount().negate();
BigDecimal salary = publisherWalletFlowVO.getSalaryAmount().negate();
BigDecimal add = cash.add(updateAmount.getCashAmount());
BigDecimal addSalary = salary.add(updateAmount.getSalaryAmount());
publisherWalletFlowVO.setCashAmount(add.negate());
publisherWalletFlowVO.setSalaryAmount(addSalary.negate());
// publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getSalaryAmount().negate());
//publisherWalletFlowVO.setRefundCashAmount(updateAmount.getCashAmount().negate());
}if(updateAmount.getReturnCashAmount().compareTo(BigDecimal.ZERO)!=0 ||
updateAmount.getReturnSalaryAmount().compareTo(BigDecimal.ZERO)!=0){
publisherWalletFlowVO.setRefundCashAmount(updateAmount.getReturnCashAmount());
publisherWalletFlowVO.setRefundSalaryAmount(updateAmount.getReturnSalaryAmount());
}
if (updateAmount.getReturnWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("飞手确认退款");
applyRefundVO.setOutTradeNo(requirementsInfoDO.getWechatPayOrderNumber());
applyRefundVO.setRefund(updateAmount.getReturnWeChat().multiply(new BigDecimal(100)).longValue());
applyRefund(applyRefundVO, request.getHeader("token"));
}
//给飞手金额
BigDecimal updateOrderAmount = updateAmount.getUpdateOrderAmount();
BigDecimal multiply = updateOrderAmount.multiply(new BigDecimal(0.9)).setScale(2, BigDecimal.ROUND_HALF_UP);
publisherWalletFlowVO.setFlyerSalaryAmount(multiply);
//平台收益
earnings = updateOrderAmount.multiply(new BigDecimal(0.1)).setScale(2, BigDecimal.ROUND_HALF_UP);
}
flyerWalletFlowVO.setSalaryAmount(serviceDO.getSalaryAmount());
flyerWalletFlowVO.setCashAmount(serviceDO.getCashAmount());
flyerWalletFlowVO.setUserAccountId(serviceDO.getPilotCertificationUserId());
flyerWalletFlowVO.setOperateUserAccountId(agreeVO.getUserAccountId());
flyerWalletFlowVO.setModeOfPayment(1000);
/**
* 退飞手金额
*/
if (serviceDO.getWeChat().compareTo(BigDecimal.ZERO)!=0){
ApplyRefundVO applyRefundVO = new ApplyRefundVO();
applyRefundVO.setReason("原路退回");
applyRefundVO.setOutTradeNo(requirementsServiceDO.getWechatPayOrderNumber());
BigDecimal weChat = requirementsServiceDO.getWeChat();
BigDecimal decimal = new BigDecimal(100);
applyRefundVO.setOutTradeNo(serviceDO.getWechatPayOrderNumber());
BigDecimal weChat = serviceDO.getWeChat();
long longValueWeChat = weChat.multiply(new BigDecimal(100)).longValue();
applyRefundVO.setRefund(longValueWeChat);
applyRefund(applyRefundVO, request.getHeader("token"));
}
walletFlowVO.setPublisherWalletFlowVO(publisherWalletFlowVO);
walletFlowVO.setFlyerWalletFlowVO(flyerWalletFlowVO);
flyerCancel(walletFlowVO, request.getHeader("token"));
flyerCancelNO(walletFlowVO,request.getHeader("token"));
BigDecimal orderEarnings = requirementsInfoDO.getOrderEarnings();
BigDecimal add = orderEarnings.add(earnings);
requirementsDao.updateOrderEarnings(add,agreeVO.getRequirementsInfoId());
requirementsDao.updateInfo(agreeVO.getRequirementsInfoId(), 5);
requirementsDao.updateScene(agreeVO.getRequirementsInfoId(), 5);
return ResultBody.success();
}
......
......@@ -27,6 +27,8 @@
<result property="orderStatus" column="order_status"/>
<result property="doing" column="doing"/>
<result property="orderEarnings" column="order_earnings"/>
<result property="duty" column="duty"/>
<result property="decisionContent" column="decision_content"/>
<collection property="orderEarningsDTO" ofType="com.mmc.csf.infomation.dto.PlatformOrderEarningsDTO"
select="selectOrderEarnings"
column="{requirementsInfoId=id}">
......@@ -109,34 +111,38 @@
</select>
<select id="serviceOrderFormDetails" resultMap="serviceDetails">
SELECT ri.id,
ri.create_time,
ri.update_time,
ri.service_id,
ri.service_name,
ri.publisher_number,
ra.order_amount,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.latitude,
ri.longitude,
ra.cash_amount,
ra.salary_amount,
ra.we_chat,
rs.cash_amount AS preemptCashAmount,
rs.salary_amount AS preemptSalaryAmount,
rs.we_chat AS preemptWeChat,
ra.update_order_amount,
ri.require_description,
sf.order_status,
sf.doing,
ra.order_earnings
FROM requirements_info ri
LEFT JOIN requirements_amount ra
ON ri.id = ra.requirements_info_id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
SELECT
ri.id,
ri.create_time,
ri.update_time,
ri.service_id,
ri.service_name,
ri.publisher_number,
ra.order_amount,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.latitude,
ri.longitude,
ra.cash_amount,
ra.salary_amount,
ra.we_chat,
rs.cash_amount AS preemptCashAmount,
rs.salary_amount AS preemptSalaryAmount,
rs.we_chat AS preemptWeChat,
ra.update_order_amount,
ri.require_description,
sf.order_status,
sf.doing,
ra.order_earnings,
csi.decision_content,
csi.duty
FROM
requirements_info ri
LEFT JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN service_flow sf ON ri.service_flow_id = sf.id
LEFT JOIN customer_service_intervention csi ON csi.requirements_info_id = ri.id
WHERE ri.id = #{requirementsInfoId}
</select>
......
......@@ -57,12 +57,68 @@
#{returnSalaryAmount})
</insert>
<update id="updateRequirementsAmountUpdate" parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO">
update requirements_amount_update
<set>
<if test=" orderAmount != null ">
order_amount = #{orderAmount},
</if>
<if test=" cashAmount != null ">
cash_amount = #{cashAmount},
</if>
<if test=" weChat != null ">
we_chat = #{weChat},
</if>
<if test=" salaryAmount != null ">
salary_amount = #{salaryAmount},
</if>
<if test="wechatPayOrderNumber!=null">
wechat_pay_order_number= #{wechatPayOrderNumber},
</if>
create_time=NOW(),
update_time=NOW(),
reason=#{reason},
url=#{url},
user_account_id=#{userAccountId},
<if test="updateOrderAmount!=null">
update_order_amount=#{updateOrderAmount},
</if>
return_cash_amount=#{returnCashAmount},
return_we_chat =#{returnWeChat},
return_salary_amount=#{returnSalaryAmount}
</set>
where requirements_info_id=#{requirementsInfoId}
</update>
<select id="findUpdateAmount" resultType="com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO">
select requirements_info_id,order_amount,update_order_amount,return_cash_amount,return_we_chat,return_salary_amount,
cash_amount,cash_amount,we_chat,salary_amount,wechat_pay_order_number from
requirements_amount_update where requirements_info_id=#{requirementsInfoId}
</select>
<select id="selectInfo" resultType="java.lang.Integer">
select count(*) from requirements_info where service_flow_id =5 and id=#{id}
</select>
<insert id="insertPlatformOrderEarnings">
INSERT INTO platform_order_earnings(liquidated_damages, requirements_info_id, user_account_id, create_time,
update_time)
values (#{earnings}, #{requirementsInfoId}, #{userAccountId}, NOW(), NOW())
</insert>
<insert id="customerServiceIntervention" parameterType="com.mmc.csf.infomation.vo.LiabilityProblemVO">
INSERT INTO customer_service_intervention(requirements_info_id, create_time, update_time, user_account_id,
decision_content,duty)
values (#{requirementsInfoId}, NOW(), NOW(), #{userAccountId}, #{decisionContent},#{duty})
</insert>
<select id="selectCustomer" resultType="java.lang.Integer">
select count(*) from customer_service_intervention where requirements_info_id=#{requirementsInfoId}
</select>
<update id="updatePlatformOrderEarnings">
update platform_order_earnings
set liquidated_damages=#{earnings},
......@@ -595,6 +651,10 @@
VALUES (#{orderAmount}, #{requirementsInfoId}, #{remark}, NOW(), NOW());
</insert>
<select id="selectSettleAccountEs" resultType="java.lang.Integer" >
select count(*) from service_settle_accounts where requirements_info_id=#{requirementsInfoId}
</select>
<select id="settleAccountsDetails" resultType="com.mmc.csf.release.entity.requirements.ServiceSettleAccountsDO">
select id, order_amount, requirements_info_id, remark, create_time, update_time
......@@ -637,7 +697,8 @@
<select id="myPublish" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
SELECT
ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
......@@ -661,12 +722,14 @@
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
ri.publish,
rau.update_order_amount
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
left join requirements_amount ra on ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
......@@ -689,7 +752,8 @@
</select>
<select id="myPreempt" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
SELECT
ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
......@@ -714,11 +778,14 @@
ri.publish,
rs.preempt_total_amount,
ra.order_level,
ra.order_amount
FROM requirements_info ri
ra.order_amount,
rau.update_order_amount
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
left join requirements_amount ra on ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_amount_update rau ON rau.requirements_info_id = ri.id
INNER JOIN requirements_service rs ON ri.id = rs.requirements_info_id
WHERE rs.pilot_certification_user_id = #{userAccountId} AND rs.is_deleted !=1
<if test=" requirementsInfoId != null ">
......@@ -852,8 +919,9 @@
rs.wechat_pay_order_number,
rs.preempt_total_amount,
rs.service_flow_id,
rs.pilot_certification_user_id,
ra.order_amount,
ri.openid,
rs.openid,
ra.order_earnings
FROM requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
......@@ -914,7 +982,7 @@
</select>
<select id="customerPublisherCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
<select id="publisherCancelFlyers" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
......@@ -960,6 +1028,56 @@
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
WHERE ri.id = #{requirementsInfoId}
</select>
<select id="customerPublisherCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
SELECT ri.id,
ri.task_title,
ri.task_start_time,
ri.task_end_time,
ri.task_address,
ri.longitude,
ri.latitude,
ri.require_url,
ri.require_description,
ri.requirement_type_id,
ri.user_account_id,
rt.type_name AS requirementTypeName,
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ra.total_amount,
ri.insurance,
ra.order_level,
ra.order_amount,
sf.doing,
sf.waiting,
sf.user_port,
sf.flyer_port,
sf.order_status,
ri.publish,
ra.order_amount,
ra.we_chat,
ra.salary_amount,
ra.cash_amount,
ra.level_cash_amount,
ra.level_salary_amount,
ra.level_we_chat_amount,
ra.wechat_pay_order_number,
ri.service_flow_id,
rs.pilot_certification_user_id,
ri.openid,
ri.create_time,
ra.order_level_amount,
ra.order_earnings
FROM requirements_info ri
LEFT JOIN requirements_type rt
ON rt.id = ri.requirement_type_id
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
WHERE ri.id = #{requirementsInfoId}
</select>
......@@ -1377,4 +1495,8 @@
set repertory=1
where id = #{requirementsInfoId}
</update>
<select id="findAmountUpdate" resultType="java.lang.Integer">
select count(*) from requirements_amount_update where requirements_info_id=#{requirementsInfoId}
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论