提交 d177cc97 作者: 恶龙咆哮

可以发多人订单,已经飞手多人抢单

上级 5752b6c5
...@@ -51,5 +51,7 @@ public class GrabTheOrderVO { ...@@ -51,5 +51,7 @@ public class GrabTheOrderVO {
@ApiModelProperty(value = "手机号", hidden = true) @ApiModelProperty(value = "手机号", hidden = true)
private String phoneNum; private String phoneNum;
@ApiModelProperty(value = "订单需求总人数")
private Integer requireNum;
} }
...@@ -113,4 +113,8 @@ public class ServiceRequirementsVO implements Serializable { ...@@ -113,4 +113,8 @@ public class ServiceRequirementsVO implements Serializable {
@ApiModelProperty(value = "区编码", required = false) @ApiModelProperty(value = "区编码", required = false)
private Integer districtCode; private Integer districtCode;
@ApiModelProperty(value = "订单总共需要多少人")
private Integer requireNum;
} }
...@@ -85,6 +85,9 @@ public interface RequirementsDao { ...@@ -85,6 +85,9 @@ public interface RequirementsDao {
void addPublishService(ServiceRequirementsDO requirementsInfoDO); void addPublishService(ServiceRequirementsDO requirementsInfoDO);
void addPublishServiceSon(ServiceRequirementsSonDO serviceRequirementsSonDO);
ServiceRequirementsDO grabTheOrder(Integer requirementsInfoId); ServiceRequirementsDO grabTheOrder(Integer requirementsInfoId);
void updateGrabTheOrder(Integer requirementsInfoId, Integer repertory); void updateGrabTheOrder(Integer requirementsInfoId, Integer repertory);
...@@ -217,4 +220,27 @@ public interface RequirementsDao { ...@@ -217,4 +220,27 @@ public interface RequirementsDao {
BigDecimal getServiceOrderAmount(); BigDecimal getServiceOrderAmount();
/**
* 根据父订单获取子订单中没被抢的id
* @param fatherRequireId 父订单id
* @return {@link Integer}
*/
Integer getRequirementsSonInfoId(Integer fatherRequireId);
/**
* 修改父订单中还需多少人字段
* @param fatherRequireId 父订单id
* @param fatherRepertory 还需多少人
* @return {@link Integer}
*/
Integer updateRequirementsInfoRepertory(Integer fatherRequireId,Integer fatherRepertory);
/**
* 查找用户有没有已经抢到这个订单了
* @param fatherRequireId 父订单id
* @param userId 抢单用户id
* @return {@link Integer}1 就是已经抢到这个订单了 0 就是没抢过
*/
Integer selectBooleanByFatherIdAndUserId(Integer fatherRequireId,Integer userId);
} }
...@@ -98,6 +98,22 @@ public class RequirementsAmountDO implements Serializable { ...@@ -98,6 +98,22 @@ public class RequirementsAmountDO implements Serializable {
this.levelWeChatAmount = requirementsInfoDO.getLevelWeChatAmount(); this.levelWeChatAmount = requirementsInfoDO.getLevelWeChatAmount();
this.levelCashAmount = requirementsInfoDO.getLevelCashAmount(); this.levelCashAmount = requirementsInfoDO.getLevelCashAmount();
} }
public RequirementsAmountDO(ServiceRequirementsSonDO requirementsInfoDO) {
this.requirementsInfoId = requirementsInfoDO.getId();
this.orderAmount = requirementsInfoDO.getOrderAmount();
this.totalAmount = requirementsInfoDO.getTotalAmount();
this.orderLevelAmount = requirementsInfoDO.getOrderLevelAmount();
this.orderLevel = requirementsInfoDO.getOrderLevel();
this.weChat = requirementsInfoDO.getWeChat();
this.salaryAmount = requirementsInfoDO.getSalaryAmount();
this.wechatPayOrderNumber = requirementsInfoDO.getWechatPayOrderNumber();
this.userAccountId = requirementsInfoDO.getUserAccountId();
this.cashAmount = requirementsInfoDO.getCashAmount();
this.levelSalaryAmount = requirementsInfoDO.getLevelSalaryAmount();
this.levelWeChatAmount = requirementsInfoDO.getLevelWeChatAmount();
this.levelCashAmount = requirementsInfoDO.getLevelCashAmount();
}
public RequirementsAmountDO(ServiceRequirementsEditVO requirementsEditVO) { public RequirementsAmountDO(ServiceRequirementsEditVO requirementsEditVO) {
this.orderAmount = requirementsEditVO.getOrderAmount(); this.orderAmount = requirementsEditVO.getOrderAmount();
......
...@@ -145,6 +145,8 @@ public class ServiceRequirementsDO { ...@@ -145,6 +145,8 @@ public class ServiceRequirementsDO {
@ApiModelProperty(value = "服务名称") @ApiModelProperty(value = "服务名称")
private String serviceName; private String serviceName;
@ApiModelProperty(value = "订单总共所需多少人")
private Integer requireNum;
public ServiceRequirementsDO(ServiceRequirementsVO serviceRequirementsVO) { public ServiceRequirementsDO(ServiceRequirementsVO serviceRequirementsVO) {
this.id = serviceRequirementsVO.getId(); this.id = serviceRequirementsVO.getId();
...@@ -172,5 +174,8 @@ public class ServiceRequirementsDO { ...@@ -172,5 +174,8 @@ public class ServiceRequirementsDO {
this.provinceCode = serviceRequirementsVO.getProvinceCode(); this.provinceCode = serviceRequirementsVO.getProvinceCode();
this.cityCode = serviceRequirementsVO.getCityCode(); this.cityCode = serviceRequirementsVO.getCityCode();
this.districtCode = serviceRequirementsVO.getDistrictCode(); this.districtCode = serviceRequirementsVO.getDistrictCode();
this.requireNum = serviceRequirementsVO.getRequireNum();
} }
} }
package com.mmc.csf.release.entity.requirements;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mmc.csf.config.IsNullConvertZero;
import com.mmc.csf.infomation.vo.OrderLevelEnum;
import com.mmc.csf.release.model.group.Insert;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
/**
* @author 张培
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ServiceRequirementsSonDO {
@ApiModelProperty(value = "id")
@NotNull(message = "id不能为空", groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "id")
@NotBlank(message = "服务类型id不能为空", groups = {Insert.class, Update.class})
private Integer serviceId;
@ApiModelProperty(value = "飞行日期——任务开始时间", example = "2023-07-25", required = true)
@NotNull(message = "任务开始时间不能为空", groups = {Insert.class, Update.class})
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date taskStartTime;
@ApiModelProperty(value = "飞行日期——任务结束时间", example = "2023-07-26", required = true)
@NotNull(message = "任务开始时间不能为空", groups = {Insert.class, Update.class})
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date taskEndTime;
@ApiModelProperty(value = "飞行位置——任务地址", example = "广东省深圳市", required = true)
@NotBlank(message = "任务地址不能为空", groups = {Insert.class, Update.class})
private String taskAddress;
@ApiModelProperty(value = "飞行位置——任务经度", example = "23.344324")
private Double longitude;
@ApiModelProperty(value = "飞行位置——任务纬度", example = "44.344324")
private Double latitude;
@ApiModelProperty(value = "省份编码", required = false)
//@NotNull(message = "省份编码不能为空", groups = {Insert.class})
private Integer provinceCode;
@ApiModelProperty(value = "市编码", required = false)
private Integer cityCode;
@ApiModelProperty(value = "区编码", required = false)
private Integer districtCode;
@ApiModelProperty(value = "需求描述", example = "描述一下", required = true)
@NotNull(message = "需求描述不能为空", groups = {Insert.class})
@Length(max = 300, message = "字符过长")
private String requireDescription;
@ApiModelProperty(value = "订单金额", example = "订单金额", required = true)
@NotNull(message = "订单金额", groups = {Insert.class})
@IsNullConvertZero
private BigDecimal orderAmount;
@ApiModelProperty(value = "飞手保险", example = "飞手保险", required = true)
@NotNull(message = "飞手保险", groups = {Insert.class})
private String insurance;
@ApiModelProperty(value = "订单级别", example = "订单级别", required = true)
@NotNull(message = "订单级别", groups = {Insert.class})
private OrderLevelEnum orderLevelEnum;
@ApiModelProperty(value = "后台获取token里面的用户id", hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "发布者姓名", example = "张三")
private String publishName;
@ApiModelProperty(value = "发布者电话", example = "1892994543", required = true)
@NotNull(message = "发布者电话不能为空", groups = {Insert.class})
private String publishPhone;
@ApiModelProperty(value = "发布者订单编号")
private String publisherNumber;
@ApiModelProperty(value = "0普通 100急单 300置顶")
@IsNullConvertZero
private BigDecimal orderLevelAmount;
@ApiModelProperty(value = "订单级别 REGULAR_ORDER,RUSH_ORDER,TOP_ORDER")
private String orderLevel;
@ApiModelProperty(value = "总金额", example = "100", required = true)
@NotNull(message = "总金额", groups = {Insert.class})
@IsNullConvertZero
private BigDecimal totalAmount;
@ApiModelProperty(value = "云享金", example = "10")
@IsNullConvertZero
private BigDecimal cashAmount;
@ApiModelProperty(value = "佣金", example = "10")
@IsNullConvertZero
private BigDecimal salaryAmount;
@ApiModelProperty(value = "微信金额", example = "10")
@IsNullConvertZero
private BigDecimal weChat;
@ApiModelProperty(value = "微信支付订单编号", example = "R202308191657303116170")
private String wechatPayOrderNumber;
private Integer repertory;
@ApiModelProperty(value = "支付方式,云享金:1,佣金:2,微信支付:3", example = "1,2,3")
private String paymentType;
@ApiModelProperty(value = "地区编码")
private String adcode;
@IsNullConvertZero
@ApiModelProperty(value = "置顶/加急 佣金支付多少", example = "100")
private BigDecimal levelSalaryAmount;
@ApiModelProperty(value = "置顶/加急 微信支付多少", example = "100")
@IsNullConvertZero
private BigDecimal levelWeChatAmount;
@ApiModelProperty(value = "置顶/加急 云享金支付多少", example = "100")
@IsNullConvertZero
private BigDecimal levelCashAmount;
@ApiModelProperty(value = "openid")
private String openid;
@ApiModelProperty(value = "服务名称")
private String serviceName;
@ApiModelProperty(value = "订单总共所需多少人")
private Integer requireNum;
@ApiModelProperty(value = "上级订单id")
private Integer fatherRequireId;
public ServiceRequirementsSonDO(ServiceRequirementsDO serviceRequirementsDO) {
BigDecimal decimalSum = new BigDecimal(serviceRequirementsDO.getRequireNum());
this.serviceId = serviceRequirementsDO.getServiceId();
this.taskStartTime = serviceRequirementsDO.getTaskStartTime();
this.taskEndTime = serviceRequirementsDO.getTaskEndTime();
this.taskAddress = serviceRequirementsDO.getTaskAddress();
this.longitude = serviceRequirementsDO.getLongitude();
this.latitude = serviceRequirementsDO.getLatitude();
this.provinceCode = serviceRequirementsDO.getProvinceCode();
this.cityCode = serviceRequirementsDO.getCityCode();
this.districtCode = serviceRequirementsDO.getDistrictCode();
this.requireDescription = serviceRequirementsDO.getRequireDescription();
this.orderAmount = serviceRequirementsDO.getOrderAmount().divide(decimalSum,2, RoundingMode.HALF_UP);
this.insurance = serviceRequirementsDO.getInsurance();
this.orderLevelEnum = serviceRequirementsDO.getOrderLevelEnum();
this.userAccountId = serviceRequirementsDO.getUserAccountId();
this.publishName = serviceRequirementsDO.getPublishName();
this.publishPhone = serviceRequirementsDO.getPublishPhone();
this.publisherNumber = serviceRequirementsDO.getPublisherNumber();
this.orderLevelAmount = serviceRequirementsDO.getOrderLevelAmount();
this.orderLevel = serviceRequirementsDO.getOrderLevel();
this.totalAmount = serviceRequirementsDO.getTotalAmount().divide(decimalSum,2,RoundingMode.HALF_UP);
this.cashAmount = serviceRequirementsDO.getCashAmount().divide(decimalSum,2,RoundingMode.HALF_UP);
this.salaryAmount = serviceRequirementsDO.getSalaryAmount().divide(decimalSum,2,RoundingMode.HALF_UP);
this.weChat = serviceRequirementsDO.getWeChat().divide(decimalSum,2,RoundingMode.HALF_UP);
this.wechatPayOrderNumber = serviceRequirementsDO.getWechatPayOrderNumber();
this.repertory = 1;
this.paymentType = serviceRequirementsDO.getPaymentType();
this.adcode = serviceRequirementsDO.getAdcode();
this.levelSalaryAmount = serviceRequirementsDO.getLevelSalaryAmount().divide(decimalSum,2,RoundingMode.HALF_UP);
this.levelWeChatAmount = serviceRequirementsDO.getLevelWeChatAmount().divide(decimalSum,2,RoundingMode.HALF_UP);
this.levelCashAmount = serviceRequirementsDO.getLevelCashAmount().divide(decimalSum,2,RoundingMode.HALF_UP);
this.openid = serviceRequirementsDO.getOpenid();
this.serviceName = serviceRequirementsDO.getServiceName();
this.requireNum = 1;
this.fatherRequireId = serviceRequirementsDO.getId();
}
}
...@@ -23,11 +23,13 @@ import com.mmc.csf.release.industry.IndustryTypeDTO; ...@@ -23,11 +23,13 @@ import com.mmc.csf.release.industry.IndustryTypeDTO;
import com.mmc.csf.release.industry.UserPayInfoVO; import com.mmc.csf.release.industry.UserPayInfoVO;
import com.mmc.csf.release.service.RequirementsService; import com.mmc.csf.release.service.RequirementsService;
import com.mmc.csf.release.util.RestTemplateUtil; import com.mmc.csf.release.util.RestTemplateUtil;
import com.sun.xml.bind.v2.TODO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.gavaghan.geodesy.Ellipsoid; import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator; import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GeodeticCurve; import org.gavaghan.geodesy.GeodeticCurve;
import org.gavaghan.geodesy.GlobalCoordinates; import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
...@@ -2446,6 +2448,8 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2446,6 +2448,8 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override @Override
public ResultBody publishService(ServiceRequirementsVO serviceRequirementsVO, HttpServletRequest request) { public ResultBody publishService(ServiceRequirementsVO serviceRequirementsVO, HttpServletRequest request) {
//这个是几个人的订单
Integer sum = serviceRequirementsVO.getRequireNum();
//获取用户基本信息 //获取用户基本信息
UserAccountSimpleDTO userAccountSimpleDTO = feignGetUserSimpleInfo(serviceRequirementsVO.getUserAccountId(), request); UserAccountSimpleDTO userAccountSimpleDTO = feignGetUserSimpleInfo(serviceRequirementsVO.getUserAccountId(), request);
String openid = userAccountSimpleDTO.getOpenid(); String openid = userAccountSimpleDTO.getOpenid();
...@@ -2580,8 +2584,6 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2580,8 +2584,6 @@ public class RequirementsServiceImpl implements RequirementsService {
} }
} }
System.out.println(requirementsInfoDO);
System.out.println(publisherWalletFlowVO);
if (orderLevelEnum.equals("RUSH_ORDER")) { if (orderLevelEnum.equals("RUSH_ORDER")) {
//加急的云享金 //加急的云享金
...@@ -2646,9 +2648,6 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2646,9 +2648,6 @@ public class RequirementsServiceImpl implements RequirementsService {
} }
System.out.println(requirementsInfoDO);
System.out.println(publisherWalletFlowVO);
//不存在加急或者置顶 //不存在加急或者置顶
if (rushAndTop.compareTo(BigDecimal.ZERO) == 0) { if (rushAndTop.compareTo(BigDecimal.ZERO) == 0) {
...@@ -2697,8 +2696,7 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2697,8 +2696,7 @@ public class RequirementsServiceImpl implements RequirementsService {
} }
} }
System.out.println(requirementsInfoDO);
System.out.println(publisherWalletFlowVO);
if (tempTotalAmount.compareTo(BigDecimal.ZERO) == 0) { if (tempTotalAmount.compareTo(BigDecimal.ZERO) == 0) {
System.out.println(requirementsInfoDO); System.out.println(requirementsInfoDO);
System.out.println(publisherWalletFlowVO); System.out.println(publisherWalletFlowVO);
...@@ -2722,17 +2720,43 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2722,17 +2720,43 @@ public class RequirementsServiceImpl implements RequirementsService {
IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsInfoDO.getServiceId()); IndustryTypeDTO industryTypeDTO = getIndustryTypeById(requirementsInfoDO.getServiceId());
requirementsInfoDO.setServiceName(industryTypeDTO.getTypeName()); requirementsInfoDO.setServiceName(industryTypeDTO.getTypeName());
requirementsInfoDO.setOpenid(openid); requirementsInfoDO.setOpenid(openid);
// sum是1说明订单只需一个人 sum>1 说明是多人需要创建子订单
requirementsInfoDO.setRepertory(requirementsInfoDO.getRequireNum());
requirementsDao.addPublishService(requirementsInfoDO); requirementsDao.addPublishService(requirementsInfoDO);
RequirementsAmountDO requirementsAmountDO = new RequirementsAmountDO(requirementsInfoDO); if(sum == 1) {
requirementsDao.addAmount(requirementsAmountDO); RequirementsAmountDO requirementsAmountDO = new RequirementsAmountDO(requirementsInfoDO);
requirementsDao.insertPlatformOrderEarnings(new BigDecimal(0), requirementsInfoDO.getId(), 0); requirementsDao.addAmount(requirementsAmountDO);
if (requirementsAmountDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0 requirementsDao.insertPlatformOrderEarnings(new BigDecimal(0), requirementsInfoDO.getId(), 0);
|| requirementsAmountDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0 if (requirementsAmountDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelCashAmount().compareTo(BigDecimal.ZERO) != 0 || requirementsAmountDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelSalaryAmount().compareTo(BigDecimal.ZERO) != 0) { || requirementsAmountDO.getLevelCashAmount().compareTo(BigDecimal.ZERO) != 0
feignWalletFlow(publisherWalletFlowVO, request.getHeader("token")); || requirementsAmountDO.getLevelSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
feignWalletFlow(publisherWalletFlowVO, request.getHeader("token"));
}
return ResultBody.success();
}else {
//循环添加子订单
for (int i = 0; i < sum; i++) {
ServiceRequirementsSonDO requirementsSonDO = new ServiceRequirementsSonDO(requirementsInfoDO);
requirementsDao.addPublishServiceSon(requirementsSonDO);
System.out.println(requirementsSonDO);
RequirementsAmountDO requirementsAmountDO = new RequirementsAmountDO(requirementsSonDO);
System.out.println(requirementsAmountDO);
System.out.println("-------------------------");
requirementsDao.addAmount(requirementsAmountDO);
requirementsDao.insertPlatformOrderEarnings(new BigDecimal(0), requirementsSonDO.getId(), 0);
if (requirementsAmountDO.getCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelCashAmount().compareTo(BigDecimal.ZERO) != 0
|| requirementsAmountDO.getLevelSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
feignWalletFlow(publisherWalletFlowVO, request.getHeader("token"));
}
}
return ResultBody.success();
} }
return ResultBody.success();
} else { } else {
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法 //云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
return ResultBody.success("下单失败"); return ResultBody.success("下单失败");
...@@ -2796,6 +2820,31 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2796,6 +2820,31 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override @Override
public ResultBody grabTheOrder(GrabTheOrderVO grabTheOrderVO, HttpServletRequest request) { public ResultBody grabTheOrder(GrabTheOrderVO grabTheOrderVO, HttpServletRequest request) {
//这是这个订单所需要的总人数
Integer requireNum = grabTheOrderVO.getRequireNum();
Integer fatherRequireId = null,fatherRepertory=null;
//requireNum >= 2就说明这个订单是分开的有子订单
if(requireNum >= 2) {
fatherRequireId = grabTheOrderVO.getRequirementsInfoId();
//不让同一个用户对一个多人订单重复下单
if(requirementsDao.selectBooleanByFatherIdAndUserId(fatherRequireId,grabTheOrderVO.getUserAccountId()) > 0) {
return ResultBody.error("不能重复抢一个订单");
}
ServiceRequirementsDO fatherRequirementsInfoDO = requirementsDao.grabTheOrder(fatherRequireId);
fatherRepertory = fatherRequirementsInfoDO.getRepertory();
if (fatherRepertory <= 0) {
return ResultBody.error("需求已被其他人抢走");
}
if (grabTheOrderVO.getRequirementsInfoId().equals(fatherRequirementsInfoDO.getId()) && grabTheOrderVO.getUserAccountId().equals(fatherRequirementsInfoDO.getUserAccountId())) {
return ResultBody.error("自己不能抢自己发布的需求");
}
//获取没被抢的子订单id
Integer requirementsSonInfoId = requirementsDao.getRequirementsSonInfoId(fatherRequireId);
grabTheOrderVO.setRequirementsInfoId(requirementsSonInfoId);
}
UserAccountSimpleDTO userAccountSimpleDTO = feignGetUserSimpleInfo(grabTheOrderVO.getUserAccountId(), request); UserAccountSimpleDTO userAccountSimpleDTO = feignGetUserSimpleInfo(grabTheOrderVO.getUserAccountId(), request);
String openid = userAccountSimpleDTO.getOpenid(); String openid = userAccountSimpleDTO.getOpenid();
...@@ -2919,6 +2968,10 @@ public class RequirementsServiceImpl implements RequirementsService { ...@@ -2919,6 +2968,10 @@ public class RequirementsServiceImpl implements RequirementsService {
|| requirementsServiceDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0) { || requirementsServiceDO.getSalaryAmount().compareTo(BigDecimal.ZERO) != 0) {
walletFlow(flyerWalletFlowVO, request.getHeader("token")); walletFlow(flyerWalletFlowVO, request.getHeader("token"));
} }
//如果是多人订单 还要去修改父订单还需多少人字段
if(requireNum >= 2) {
requirementsDao.updateRequirementsInfoRepertory(fatherRequireId,fatherRepertory - 1);
}
return ResultBody.success(); return ResultBody.success();
} else { } else {
......
...@@ -547,12 +547,26 @@ ...@@ -547,12 +547,26 @@
require_description, create_time, require_description, create_time,
update_time, task_start_time, task_end_time, task_address, longitude, update_time, task_start_time, task_end_time, task_address, longitude,
latitude, publisher_number, insurance, publish, latitude, publisher_number, insurance, publish,
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code) service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,require_num,repertory)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone}, VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(), #{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude}, NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid}, #{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{serviceName},#{provinceCode},#{cityCode},#{districtCode}); #{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{requireNum},#{repertory});
</insert>
<insert id="addPublishServiceSon" parameterType="com.mmc.csf.release.entity.requirements.ServiceRequirementsSonDO"
keyProperty="id" useGeneratedKeys="true">
INSERT INTO requirements_info(service_id, user_account_id, publish_name, publish_phone,
require_description, create_time,
update_time, task_start_time, task_end_time, task_address, longitude,
latitude, publisher_number, insurance, publish,
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,father_require_id)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{latitude}, #{publisherNumber}, #{insurance}, 1, 1, #{adcode}, #{orderLevelAmount}, #{openid},
#{serviceName},#{provinceCode},#{cityCode},#{districtCode},#{fatherRequireId});
</insert> </insert>
<insert id="addAmount" parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountDO" <insert id="addAmount" parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountDO"
...@@ -600,7 +614,7 @@ ...@@ -600,7 +614,7 @@
<update id="updateGrabTheOrder"> <update id="updateGrabTheOrder">
UPDATE requirements_info UPDATE requirements_info
set repertory=#{repertory}, set repertory=#{repertory},
service_flow_id = 2, service_flow_id = 10,
update_time=NOW() update_time=NOW()
where id = #{requirementsInfoId} where id = #{requirementsInfoId}
</update> </update>
...@@ -1559,4 +1573,19 @@ ...@@ -1559,4 +1573,19 @@
INNER JOIN requirements_amount ra ON ri.id = ra.requirements_info_id INNER JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
WHERE ri.service_flow_id <![CDATA[<>]]> 7 WHERE ri.service_flow_id <![CDATA[<>]]> 7
</select> </select>
<select id="getRequirementsSonInfoId" resultType="java.lang.Integer">
select id from requirements_info where father_require_id = #{fatherRequireId} and repertory = 1
limit 1
</select>
<select id="selectBooleanByFatherIdAndUserId" resultType="java.lang.Integer">
select count(ri.id) from requirements_service rs
inner join requirements_info ri on ri.id = rs.requirements_info_id
where ri.father_require_id =#{fatherRequireId}
and rs.pilot_certification_user_id = #{userId}
</select>
<update id="updateRequirementsInfoRepertory">
update requirements_info set repertory = #{fatherRepertory}
where id = #{fatherRequireId}
</update>
</mapper> </mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论