提交 408e1895 作者: 恶龙咆哮

Merge branch 'develop'

package com.mmc.csf.infomation.dto;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author 张培
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AgreePilotOrderDTO {
@ApiModelProperty(value = "订单id")
private Integer requirementsInfoId;
@ApiModelProperty(value = "状态")
private Integer serviceFlowId;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private FlowDictionaryDTO flowDictionaryDTO;
}
......@@ -27,6 +27,8 @@ public class FlowDictionaryAndTimeDTO implements Serializable {
@ApiModelProperty(value = "抢单", example = "抢单")
private RequirementsServiceDTO requirementsServiceDTO;
@ApiModelProperty(value = "需求方同意", example = "需求方同意")
private AgreePilotOrderDTO agreePilotOrderDTO;
//抵达现场地址
// service_arrive_scene
@ApiModelProperty(value = "抵达现场", example = "抵达现场")
......
package com.mmc.csf.infomation.qo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 张培
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AgreeOrRefusePilotQO {
@ApiModelProperty(value = "订单id")
private Integer requireInfoId;
@ApiModelProperty(value = "同意传2 进入飞手到达现场 拒绝传 11")
private Integer serviceFlowId;
@ApiModelProperty(value = "接单飞手的user_id")
private Integer pilotCertificationUserId;
}
......@@ -51,5 +51,7 @@ public class GrabTheOrderVO {
@ApiModelProperty(value = "手机号", hidden = true)
private String phoneNum;
@ApiModelProperty(value = "订单需求总人数")
private Integer requireNum;
}
package com.mmc.csf.infomation.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author 张培
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OnlyRequirementsInfoId {
@ApiModelProperty(value = "订单id")
private Integer requirementsInfoId;
}
......@@ -64,6 +64,8 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "任务纬度", example = "44.344324")
private Double latitude;
@ApiModelProperty(value = "订单的父订单id")
private Integer fatherRequireId;
@ApiModelProperty(value = "需求描述", example = "描述一下", required = true)
@NotNull(message = "需求描述不能为空", groups = {Insert.class})
......@@ -183,4 +185,10 @@ public class RequirementsInfoVO implements Serializable {
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "还剩多少人可以抢单")
private Integer repertory;
@ApiModelProperty(value = "订单共需多少人")
private Integer requireNum;
}
......@@ -113,4 +113,8 @@ public class ServiceRequirementsVO implements Serializable {
@ApiModelProperty(value = "区编码", required = false)
private Integer districtCode;
@ApiModelProperty(value = "订单总共需要多少人")
private Integer requireNum;
}
......@@ -18,4 +18,4 @@ patches:
images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/ims
newTag: 5b768dd050a69db88baacd372d9ebf0fb137f30a
newTag: 97386bd54f4c23cce1e94e1ed1602aaa7512b695
......@@ -2,6 +2,7 @@ package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
......@@ -13,6 +14,7 @@ import com.mmc.csf.release.model.group.Page;
import com.mmc.csf.release.model.group.Update;
import com.mmc.csf.release.service.RequirementsService;
import io.swagger.annotations.*;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -358,5 +360,19 @@ public class RequirementsController extends BaseController {
return requirementsService.deleteRequire(requirementsInfoId, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "小程序—获取子订单详细信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("selectRequireSonInfo")
public ResultBody<RequirementsInfoVO> selectRequireSonInfo(HttpServletRequest request, @Validated(value = {Page.class}) @ApiParam(value = "查询所有子订单信息", required = true) @RequestBody MyPublishQO param){
return ResultBody.success(requirementsService.selectRequireSonInfo(this.getUserLoginInfoFromRedis(request).getUserAccountId(), param));
}
@ApiOperation(value = "小程序—发单方(同意/拒绝)该飞手")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("agreeOrRefusePilot")
public ResultBody agreeOrRefusePilot(@RequestBody AgreeOrRefusePilotQO param) {
return requirementsService.agreeOrRefusePilot(param);
}
}
package com.mmc.csf.release.dao;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
......@@ -85,6 +87,9 @@ public interface RequirementsDao {
void addPublishService(ServiceRequirementsDO requirementsInfoDO);
void addPublishServiceSon(ServiceRequirementsSonDO serviceRequirementsSonDO);
ServiceRequirementsDO grabTheOrder(Integer requirementsInfoId);
void updateGrabTheOrder(Integer requirementsInfoId, Integer repertory);
......@@ -158,6 +163,8 @@ public interface RequirementsDao {
ServiceArriveSceneDTO serviceArriveSceneDTO(Integer requirementsInfoId);
AgreePilotOrderDTO serviceAgreePilotOrderDTO(Integer requirementsInfoId);
ServiceFulfilATaskDTO serviceFulfilATaskDTO(Integer requirementsInfoId);
ServiceSettleAccountsDTO settleAccountsDTO(Integer requirementsInfoId);
......@@ -217,4 +224,101 @@ public interface RequirementsDao {
BigDecimal getServiceOrderAmount();
/**
* 根据父订单获取子订单中没被抢的id
* @param fatherRequireId 父订单id
* @return {@link Integer} 没被抢的子订单id 只返回一个
*/
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);
/**
* 根据父订单id 查找所有子订单信息
* @param param 父订单id
* @return {@link List}<{@link RequirementsInfoDO}>
*/
List<RequirementsInfoDO> selectRequireSonInfo(MyPublishQO param);
/**
* 保存飞手被同意或拒绝接单信息
* @param param 是否同意飞手信息
*/
void insertAgreePilotOrder(AgreeOrRefusePilotQO param);
/**
* 根据订单id修改所需人数以及该订单的状态
* @param requireInfoId 订单id
*/
void updateRequirementsInfoByRefusePilot(Integer requireInfoId);
/**
* 根据订单查找父订单id
* @param requireInfoId 订单id
* @return {@link Integer}
*/
Integer selectFatherRequireIdBySonId(Integer requireInfoId);
/**
* 根据订单id查找该订单还需人数
* @param requireInfoId 订单id
* @return {@link Integer}
*/
Integer selectRepertoryByRequireId(Integer requireInfoId);
/**
* 根据订单id和飞手用户id删除接单的信息
* @param requireInfoId 订单id
* @param pilotUserId 飞手id
* @return {@link Integer}
*/
Integer updateRequirementsService(Integer requireInfoId,Integer pilotUserId);
/**
* 根据订单id和飞手用户id查询该飞手是被拒绝还是同意
* @param requirementsId 订单id 对应requirement_info表的id
* @param userAccountId 用户的id
* @return {@link Integer} 2 就是同意 11 是拒绝
*/
Integer selectServiceIdByRequireIdAndUserId(Integer requirementsId,Integer userAccountId);
/**
* 根绝订单id获取所需总人数
* @param requirementsId 订单id
* @return {@link Integer}
*/
Integer selectRequirementsNum(Integer requirementsId);
/**
* 根据父订单id查询不满足状态条件的子订单数量
* @param requirementsId 父订单id
* @return {@link Integer}
*/
Integer selectServiceFlowIdByFatherId(Integer requirementsId);
/**
* 去抢单表中查看用户是否被拒绝过
* @param requireId 订单的id
* @param userAccountId 抢单飞手的用户id
* @return {@link Integer}
*/
Integer selectRequirementsRefuse(Integer requireId,Integer userAccountId);
}
......@@ -98,6 +98,22 @@ public class RequirementsAmountDO implements Serializable {
this.levelWeChatAmount = requirementsInfoDO.getLevelWeChatAmount();
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) {
this.orderAmount = requirementsEditVO.getOrderAmount();
......
......@@ -93,6 +93,9 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty(value = "允许几人抢单", example = "允许几人抢单")
private Integer repertory;
@ApiModelProperty(value = "任务所需总人数")
private Integer requireNum;
private String insurance;
private String doing;
......@@ -177,6 +180,8 @@ public class RequirementsInfoDO implements Serializable {
@ApiModelProperty(value = "发布者openid")
private String openid;
@ApiModelProperty(value = "订单的父订单id")
private Integer fatherRequireId;
public RequirementsInfoVO buildRequirementsInfoVO() {
......@@ -191,6 +196,7 @@ public class RequirementsInfoDO implements Serializable {
.requireUrl(this.requireUrl)
.orderLevelEnum(this.orderLevel)
.serviceId(this.serviceId)
.fatherRequireId(this.fatherRequireId)
.serviceName(this.serviceName)
.totalAmount(this.totalAmount)
.insurance(this.insurance)
......@@ -211,6 +217,8 @@ public class RequirementsInfoDO implements Serializable {
.preemptPhone(this.preemptPhone)
.pilotCertificationId(this.pilotCertificationId)
.createTime(this.createTime)
.repertory(this.repertory)
.requireNum(this.requireNum)
.build();
}
......
......@@ -145,6 +145,8 @@ public class ServiceRequirementsDO {
@ApiModelProperty(value = "服务名称")
private String serviceName;
@ApiModelProperty(value = "订单总共所需多少人")
private Integer requireNum;
public ServiceRequirementsDO(ServiceRequirementsVO serviceRequirementsVO) {
this.id = serviceRequirementsVO.getId();
......@@ -172,5 +174,8 @@ public class ServiceRequirementsDO {
this.provinceCode = serviceRequirementsVO.getProvinceCode();
this.cityCode = serviceRequirementsVO.getCityCode();
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();
}
}
......@@ -3,6 +3,7 @@ package com.mmc.csf.release.service;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.*;
import com.mmc.csf.infomation.qo.AgreeOrRefusePilotQO;
import com.mmc.csf.infomation.qo.IndustryCaseQO;
import com.mmc.csf.infomation.qo.MyPreemptQO;
import com.mmc.csf.infomation.qo.MyPublishQO;
......@@ -126,4 +127,20 @@ public interface RequirementsService {
ResultBody flyHandAgree(FlyHandAgreeVO agreeVO, HttpServletRequest request);
ServiceRequirementsDO getRepertory(GrabTheOrderVO grabTheOrderVO, HttpServletRequest request);
/**
* 根据父订单的id找到所有子订单信息
* @param userAccountId 发单人的id
* @param param 条件 父id在里面
* @return {@link PageResult}
*/
PageResult selectRequireSonInfo(Integer userAccountId, MyPublishQO param);
/**
* 同意或者拒绝飞手接单
* @param param 参数
* @return {@link ResultBody}
*/
ResultBody agreeOrRefusePilot(AgreeOrRefusePilotQO param);
}
......@@ -483,7 +483,9 @@
ri.insurance,
ri.publish,
ri.service_name,
ri.create_time
ri.create_time,
ri.repertory,
ri.require_num
FROM requirements_info ri
left join requirements_amount ra
on ra.requirements_info_id = ri.id and ri.user_account_id = ra.user_account_id
......@@ -492,6 +494,8 @@
AND ri.service_flow = 1
AND ri.is_deleted = 0
AND ri.service_flow_id != 7
AND father_require_id = 0
AND repertory > 0
ORDER BY ri.order_level_amount DESC,
ri.id DESC
</select>
......@@ -512,6 +516,9 @@
ri.publish_phone,
ri.publisher_number,
ri.service_id,
ri.repertory,
ri.require_num,
ri.father_require_id,
ra.total_amount,
ri.insurance,
sf.doing,
......@@ -538,7 +545,7 @@
LEFT JOIN requirements_service rs ON rs.requirements_info_id = ri.id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
AND ra.user_account_id = ri.user_account_id
WHERE ri.id = #{id}
WHERE ri.id = #{id} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
<insert id="addPublishService" parameterType="com.mmc.csf.release.entity.requirements.ServiceRequirementsDO"
......@@ -547,12 +554,26 @@
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)
service_flow_id, adcode, order_level_amount, openid, service_name,province_code,city_code,district_code,require_num,repertory)
VALUES (#{serviceId}, #{userAccountId}, #{publishName}, #{publishPhone},
#{requireDescription}, NOW(),
NOW(), #{taskStartTime}, #{taskEndTime}, #{taskAddress}, #{longitude},
#{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 id="addAmount" parameterType="com.mmc.csf.release.entity.requirements.RequirementsAmountDO"
......@@ -600,7 +621,7 @@
<update id="updateGrabTheOrder">
UPDATE requirements_info
set repertory=#{repertory},
service_flow_id = 2,
service_flow_id = 10,
update_time=NOW()
where id = #{requirementsInfoId}
</update>
......@@ -613,7 +634,7 @@
wechat_pay_order_number, service_flow_id, preempt_total_amount, openid,
create_time, update_time, preempt_phone)
VALUES (#{requirementsInfoId}, #{pilotCertificationId}, #{pilotCertificationUserId},
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber}, 2,
#{teamId}, #{teamUserId}, #{cashAmount}, #{weChat}, #{salaryAmount}, #{wechatPayOrderNumber},10,
#{preemptTotalAmount}, #{openid}, NOW(), NOW(), #{phoneNum});
</insert>
......@@ -628,14 +649,15 @@
UPDATE requirements_service
set service_flow_id=#{serviceFlowId},
update_time=NOW()
where requirements_info_id = #{requirementsInfoId}
where requirements_info_id = #{requirementsInfoId} and (service_flow_id != 11 or service_flow_id is NULL)
</update>
<update id="updateInfo">
UPDATE requirements_info
set service_flow_id=#{serviceFlowId},
update_time=NOW()
where id = #{requirementsInfoId}
where id = #{requirementsInfoId} and service_flow_id != 11
and is_deleted != 1
</update>
<update id="updateFlow">
......@@ -698,6 +720,7 @@
#{userAccountId});
</insert>
<select id="evaluateDetails" resultType="com.mmc.csf.release.entity.requirements.ServiceEvaluateDO">
select id,
evaluation_content,
......@@ -757,7 +780,9 @@
sf.flyer_port,
sf.order_status,
ri.publish,
rau.update_order_amount
ri.require_num,
rau.update_order_amount,
ri.repertory
FROM
requirements_info ri
LEFT JOIN requirements_type rt ON rt.id = ri.requirement_type_id
......@@ -765,6 +790,7 @@
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
and father_require_id = 0
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
</if>
......@@ -826,10 +852,13 @@
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
# TODO 可能会有问题 删除的
# 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_update rau ON rau.requirements_info_id = ri.id
INNER JOIN requirements_service rs ON ri.id = rs.requirements_info_id
#增加的
LEFT JOIN service_flow sf ON sf.id = rs.service_flow_id
WHERE rs.pilot_certification_user_id = #{userAccountId} AND rs.is_deleted !=1
<if test=" requirementsInfoId != null ">
and ri.id=#{requirementsInfoId}
......@@ -930,7 +959,7 @@
LEFT JOIN requirements_amount ra ON ra.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.requirements_info_id = #{requirementsInfoId}
AND rs.requirements_info_id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
<select id="customerDroneFlyerCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsServiceDO">
......@@ -974,7 +1003,7 @@
LEFT JOIN service_flow sf ON sf.id = ri.service_flow_id
LEFT JOIN requirements_amount ra ON ra.requirements_info_id = ri.id
INNER JOIN requirements_service rs ON ri.id = rs.requirements_info_id
WHERE rs.requirements_info_id = #{requirementsInfoId}
WHERE rs.requirements_info_id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
<select id="publisherCancel" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
......@@ -1024,7 +1053,7 @@
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.user_account_id = #{userAccountId}
AND ri.id = #{requirementsInfoId}
AND ri.id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
......@@ -1074,7 +1103,7 @@
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}
WHERE ri.id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
......@@ -1124,7 +1153,7 @@
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}
WHERE ri.id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
<select id="publisherCancelFlyer" resultType="com.mmc.csf.release.entity.requirements.RequirementsInfoDO">
......@@ -1173,7 +1202,7 @@
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}
WHERE ri.id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
......@@ -1222,7 +1251,7 @@
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.publisher_number = #{publisherNumber}
WHERE ri.publisher_number = #{publisherNumber} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
<select id="flowDictionary" resultType="com.mmc.csf.release.entity.requirements.FlowDictionaryDO">
......@@ -1268,6 +1297,16 @@
</collection>
</resultMap>
<resultMap id="serviceAgreePilotOrderMap" type="com.mmc.csf.infomation.dto.AgreePilotOrderDTO">
<result property="createTime" column="create_time"/>
<result property="requirementsInfoId" column="require_info_id"/>
<result property="serviceFlowId" column="service_flow_id"/>
<collection property="flowDictionaryDTO" ofType="com.mmc.csf.infomation.dto.FlowDictionaryDTO"
select="selectServiceFlow"
column="{serviceFlowId=service_flow_id}">
</collection>
</resultMap>
<resultMap id="settleAccountsMap" type="com.mmc.csf.infomation.dto.ServiceSettleAccountsDTO">
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
......@@ -1329,7 +1368,7 @@
<select id="requirementsServiceDTO" resultMap="resultMap">
select requirements_info_id, create_time, update_time, service_flow
from requirements_service
where requirements_info_id = #{requirementsInfoId}
where requirements_info_id = #{requirementsInfoId} and (service_flow_id != 11 or service_flow_id is NULL)
</select>
<select id="serviceArriveSceneDTO" resultMap="resultMapCommon">
......@@ -1347,6 +1386,11 @@
where requirements_info_id = #{requirementsInfoId}
</select>
<select id="serviceAgreePilotOrderDTO" resultMap="serviceAgreePilotOrderMap">
select require_info_id,create_time,service_flow_id from agree_pilot_order
where service_flow_id = 2 and require_info_id = #{requirementsInfoId}
</select>
<select id="serviceFulfilATaskDTO" resultMap="serviceFulfilATaskMap">
SELECT id,
task_describe,
......@@ -1510,7 +1554,7 @@
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_service rs ON ri.id = rs.requirements_info_id
WHERE ri.id = #{requirementsInfoId}
WHERE ri.id = #{requirementsInfoId} and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
</select>
<update id="deletePublishService">
......@@ -1523,18 +1567,18 @@
SELECT count(*)
FROM requirements_service
WHERE requirements_info_id = #{requirementsInfoId}
AND pilot_certification_user_id = #{userAccountId}
AND pilot_certification_user_id = #{userAccountId} and (service_flow_id != 11 or service_flow_id is NULL)
</select>
<update id="deletePreempt">
update requirements_service
set is_deleted=1
where requirements_info_id = #{requirementsInfoId}
where requirements_info_id = #{requirementsInfoId} and (service_flow_id != 11 or service_flow_id is NULL)
</update>
<select id="serviceReq" resultType="com.mmc.csf.release.entity.requirements.RequirementsServiceDO">
select cash_amount, we_chat, salary_amount, wechat_pay_order_number, preempt_total_amount
from requirements_service
where requirements_info_id = #{requirementsInfoId}
where requirements_info_id = #{requirementsInfoId} and (service_flow_id != 11 or service_flow_id is NULL)
</select>
<update id="updateRepertory">
update requirements_info
......@@ -1559,4 +1603,100 @@
INNER JOIN requirements_amount ra ON ri.id = ra.requirements_info_id
WHERE ri.service_flow_id <![CDATA[<>]]> 7
</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} and rs.is_deleted = 0
</select>
<select id="selectRequireSonInfo" 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,
rau.update_order_amount,
ri.father_require_id,
rs.pilot_certification_id,
rs.pilot_certification_user_id
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_update rau ON rau.requirements_info_id = ri.id
left join requirements_service rs on ri.id = rs.requirements_info_id
WHERE ri.user_account_id = #{userAccountId} and ri.is_deleted!=1 and (rs.service_flow_id != 11 or rs.service_flow_id is NULL)
<if test=" requirementsInfoId != null ">
and ri.father_require_id=#{requirementsInfoId}
</if>
ORDER BY ri.id desc
limit #{pageNo}, #{pageSize}
</select>
<select id="selectFatherRequireIdBySonId" resultType="java.lang.Integer">
select father_require_id from requirements_info
where id = #{requireInfoId}
</select>
<select id="selectRepertoryByRequireId" resultType="java.lang.Integer">
select count(id) from requirements_info where father_require_id = #{requireInfoId}
and repertory = 1
</select>
<update id="updateRequirementsInfoRepertory">
update requirements_info set repertory = #{fatherRepertory}
where id = #{fatherRequireId}
</update>
<update id="updateRequirementsInfoByRefusePilot">
update requirements_info
set repertory = 1,service_flow_id = 1
where id=#{requireInfoId}
</update>
<update id="updateRequirementsService">
update requirements_service set service_flow_id = 11
where requirements_info_id = #{requireInfoId} and pilot_certification_user_id = #{pilotUserId}
</update>
<insert id="insertAgreePilotOrder">
insert into agree_pilot_order(require_info_id, service_flow_id, pilot_certification_user_id, create_time)
values(#{requireInfoId},#{serviceFlowId},#{pilotCertificationUserId},NOW())
</insert>
<select id="selectServiceIdByRequireIdAndUserId" resultType="java.lang.Integer">
select service_flow_id from agree_pilot_order
where require_info_id = #{requirementsId} and pilot_certification_user_id = #{userAccountId}
</select>
<select id="selectRequirementsNum" resultType="java.lang.Integer">
select count(id) from requirements_info where father_require_id =#{requirementsId}
</select>
<select id="selectServiceFlowIdByFatherId" resultType="java.lang.Integer">
select count(id) from requirements_info where father_require_id = #{requirementsId} and service_flow_id not in (1,10)
</select>
<select id="selectRequirementsRefuse" resultType="java.lang.Integer">
select count(id) from requirements_service where requirements_info_id = #{requireId} and pilot_certification_user_id = #{userAccountId}
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论