提交 f3849d63 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v5.7_break_contract_reverse_20231020
......@@ -36,4 +36,18 @@ public enum BreakContractSettlementOwnerEnum {
}
@Getter
@AllArgsConstructor
public enum DeleteStatus {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
}
......@@ -75,6 +75,10 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_NO_FOUND(1500, "订单不存在"),
BREAK_CONTRACT_NO_FOUND(1600, "违约不存在"),
BREAK_CONTRACT_RULE_NAME_EXIST(1601, "违约规则名称已存在"),
BREAK_CONTRACT_RULE_NO_FOUND(1601, "违约规则不存在"),
;
private final int code;
private final String msg;
......
package com.clx.performance.param.app.breakcontract;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class DriverPageBreakContractDriverRecordParam extends PageParam {
@ApiModelProperty(value = "类型:1违约记录 2平台补偿 ", example = "1")
@NotNull(message = "类型不能为空")
private Integer type;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "开始时间", hidden = true)
private String beginTime;
@ApiModelProperty(value = "结束时间", hidden = true)
private String endTime;
@ApiModelProperty(value = "用户编号", hidden = true)
private Long userNo;
}
\ No newline at end of file
package com.clx.performance.param.pc.breakcontract.carrier;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRuleVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.Valid;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BreakContractDriveRuleUpdateParam {
@Valid
@ApiModelProperty(value = "司机取消规则")
private BreakContractDriverRuleVO.DriverCancelRule driverCancelRule;
@Valid
@ApiModelProperty(value = "货源地超时规则")
private BreakContractDriverRuleVO.SendAddressRule sendAddressRule;
@Valid
@ApiModelProperty(value = "目的地超时规则")
private BreakContractDriverRuleVO.ReceiveAddressRule receiveAddressRule;
}
package com.clx.performance.param.pc.breakcontract;
package com.clx.performance.param.pc.breakcontract.carrier;
import com.msl.common.convertor.type.MoneyInConvert;
import io.swagger.annotations.ApiModelProperty;
......
package com.clx.performance.param.pc.breakcontract.carrier;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
public class BreakContractOwnerRuleAddParam {
@ApiModelProperty(value = "违约方案名称", example = "方案1")
@NotNull(message = "违约方案名称不能为空")
private String name;
@ApiModelProperty(value = "自动规则")
private BreakContractOwnerRuleVO.AutoRule autoRule;
@ApiModelProperty(value = "手动规则")
private BreakContractOwnerRuleVO.ManualRule manualRule;
}
package com.clx.performance.param.pc.breakcontract;
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
......@@ -17,7 +17,7 @@ import javax.validation.constraints.NotNull;
@Getter
@ToString
@NoArgsConstructor
public class BreakContractRuleUpdateStatusParam {
public class BreakContractOwnerRuleStatusUpdateParam {
@ApiModelProperty(value = "id", example = "1")
@NotNull(message = "id不能为空")
......
package com.clx.performance.param.pc.breakcontract.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageBreakContractDriverRecordParam extends PageParam {
@ApiModelProperty(value = "运单", example = "1000000000")
private String childNo;
@ApiModelProperty(value = "开始时间", example = "")
private String beginTime;
@ApiModelProperty(value = "结束时间", example = "")
private String endTime;
}
\ No newline at end of file
package com.clx.performance.param.pc.breakcontract.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageBreakContractOwnerRecordParam extends PageParam {
@ApiModelProperty(value = "订单号", example = "1000000000")
private String orderNo;
@ApiModelProperty(value = "开始时间", example = "")
private String beginTime;
@ApiModelProperty(value = "结束时间", example = "")
private String endTime;
}
package com.clx.performance.param.pc.breakcontract.carrier;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageBreakContractOwnerRuleParam extends PageParam {
@ApiModelProperty(value = "方案名称", example = "方案1")
private String name;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "1")
private Integer status;
@ApiModelProperty(value = "开始时间", example = "")
private String beginTime;
@ApiModelProperty(value = "结束时间", example = "")
private String endTime;
}
\ No newline at end of file
package com.clx.performance.param.pc.breakcontract.owner;
public class AA {
}
package com.clx.performance.param.pc.breakcontract;
package com.clx.performance.vo.app.breakcontract;
import com.msl.common.convertor.type.MoneyInConvert;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Setter
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BreakContractDriverRecordAddParam {
public class DriverBreakContractDriverRecordVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约方类型:1平台 3司机")
@NotNull(message = "违约方类型不能为空")
@ApiModelProperty("触发类型:1系统触发 2手动触发")
private Integer triggerType;
@ApiModelProperty("违约方类型:1平台 2货主 3司机")
private Integer breachContractPartyType;
@ApiModelProperty("违约运单")
@NotBlank(message = "违约运单不能为空")
private String childNo;
@ApiModelProperty("车牌号")
private String truckNo;
@ApiModelProperty("车主用户编号")
private Long truckOwnUserNo;
@ApiModelProperty("车主名称")
private String truckOwnName;
@ApiModelProperty("司机用户编号")
private Long driverUserNo;
@ApiModelProperty("司机名称")
private String driverName;
@ApiModelProperty("违约金")
@NotNull(message = "违约金不能为空")
@MoneyInConvert
@MoneyOutConvert
private BigDecimal figure;
@ApiModelProperty("接单时间限制(小时)")
private BigDecimal timeLimit;
@ApiModelProperty("接单限制时间")
private String limitTime;
@ApiModelProperty("结算单编号")
private String settlementNo;
@ApiModelProperty("备注")
@NotBlank(message = "违约原因不能为空")
private String remark;
@ApiModelProperty("创建时间")
private String createTime;
}
package com.clx.performance.param.pc.breakcontract.owner;
package com.clx.performance.vo.pc.breakcontract.carrier;
import com.msl.common.convertor.type.MoneyInConvert;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @Author: aiqingguo
* @Date: 2023-10-11 17:30:57
* @Version: 1.0
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Setter
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BreakContractDriverRecordAddParam {
public class BreakContractDriverRecordVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("违约方类型:1平台 3司机")
@NotNull(message = "违约方类型不能为空")
@ApiModelProperty("触发类型:1系统触发 2手动触发")
private Integer triggerType;
@ApiModelProperty("违约方类型:1平台 2货主 3司机")
private Integer breachContractPartyType;
@ApiModelProperty("违约运单")
@NotBlank(message = "违约运单不能为空")
private String childNo;
@ApiModelProperty("车牌号")
private String truckNo;
@ApiModelProperty("车主用户编号")
private Long truckOwnUserNo;
@ApiModelProperty("车主名称")
private String truckOwnName;
@ApiModelProperty("司机用户编号")
private Long driverUserNo;
@ApiModelProperty("司机名称")
private String driverName;
@ApiModelProperty("违约金")
@NotNull(message = "违约金不能为空")
@MoneyInConvert
@MoneyOutConvert
private BigDecimal figure;
@ApiModelProperty("接单时间限制(小时)")
private BigDecimal timeLimit;
@ApiModelProperty("接单限制时间")
private String limitTime;
@ApiModelProperty("结算单编号")
private String settlementNo;
@ApiModelProperty("备注")
@NotBlank(message = "违约原因不能为空")
private String remark;
@ApiModelProperty("创建时间")
private String createTime;
}
package com.clx.performance.vo.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BreakContractDriverRuleVO {
@ApiModelProperty(value = "司机取消规则")
private DriverCancelRule driverCancelRule;
@ApiModelProperty(value = "货源地超时规则")
private SendAddressRule sendAddressRule;
@ApiModelProperty(value = "目的地超时规则")
private ReceiveAddressRule receiveAddressRule;
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class DriverCancelRule{
@ApiModelProperty("接单时间小于X小时")
@NotNull(message = "参数不能为空")
private BigDecimal baseTime;
@ApiModelProperty("收费X元")
@NotNull(message = "参数不能为空")
private BigDecimal baseFigure;
@ApiModelProperty("每小时加收X元")
@NotNull(message = "参数不能为空")
private BigDecimal figurePerHour;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class SendAddressRule{
@ApiModelProperty("每小时收X元")
@NotNull(message = "参数不能为空")
private BigDecimal figurePerHour;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class ReceiveAddressRule{
@ApiModelProperty("每小时每吨收X元")
@NotNull(message = "参数不能为空")
private BigDecimal figurePerHour;
}
}
package com.clx.performance.vo.pc.breakcontract.carrier;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BreakContractOwnerRecordVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("触发类型:1系统触发 2手动触发")
private Integer triggerType;
@ApiModelProperty("违约方类型:1平台 2货主 3司机")
private Integer breachContractPartyType;
@ApiModelProperty("违约订单")
private String orderNo;
@ApiModelProperty("违约金(分)")
@MoneyOutConvert
private BigDecimal figure;
@ApiModelProperty("结算单编号")
private String settlementNo;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("创建时间")
private String createTime;
}
package com.clx.performance.vo.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BreakContractOwnerRuleVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty(value = "违约方案名称", example = "方案1")
private String name;
@ApiModelProperty(value = "状态:1启用 2禁用", example = "1")
private Integer status;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
@ApiModelProperty(value = "自动规则")
private AutoRule autoRule;
@ApiModelProperty(value = "手动规则")
private ManualRule manualRule;
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class AutoRule{
@ApiModelProperty(value = "订单吨数减少")
private OrderAmountReduceRule orderAmountReduceRule;
@ApiModelProperty(value = "订单取消")
private OrderCancelRule orderCancelRule;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class ManualRule{
private Integer id;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class OrderAmountReduceRule {
@ApiModelProperty(value = "总运费*X%", example = "1.23")
private BigDecimal ratio;
}
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class OrderCancelRule {
@ApiModelProperty(value = "挂单前,总运费*X%", example = "1.23")
private BigDecimal beforeRatio;
@ApiModelProperty(value = "挂单后,总运费*X%", example = "1.23")
private BigDecimal afterRatio;
@ApiModelProperty(value = "挂单后,车辆违约金X元/小时.车", example = "1.23")
private BigDecimal afterFigurePerHour;
}
}
package com.clx.performance.vo.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierBreakContractSettlementLogVO {
@ApiModelProperty("内容")
private String remark;
@ApiModelProperty("操作人类型1-货主, 2-承运端,3-司机")
private Integer createType;
@ApiModelProperty("操作人名称")
private String createName;
@ApiModelProperty("创建时间")
private String createTime;
}
package com.clx.performance.vo.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
import java.util.List;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierBreakContractSettlementOwnerDetailVO {
@ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breakContractPartyType;
@ApiModelProperty("违约方类型Msg:1平台 2货主 3车主")
private String breakContractPartyTypeMsg;
@ApiModelProperty("结算单号")
private String settlementNo;
@ApiModelProperty("货主用户编号")
private Long ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerName;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("状态msg")
private String statusMsg;
@ApiModelProperty("状态")
private Integer status;
@ApiModelProperty("违约金")
private BigDecimal figure;
@ApiModelProperty("操作人名称")
private String createName;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("结算凭证")
private String invoiceImg;
@ApiModelProperty("收款人")
private String payee;
@ApiModelProperty("收款银行")
private String payeeBankName;
@ApiModelProperty("收款银行卡卡号")
private String payeeBankCardNo;
@ApiModelProperty("付款凭证")
private String paymentImg;
@ApiModelProperty("付款银行")
private String paymentBankName;
@ApiModelProperty("付款银行卡卡号")
private String paymentBankCardNo;
@ApiModelProperty("操作日志")
private List<CarrierBreakContractSettlementLogVO> logs;
}
\ No newline at end of file
package com.clx.performance.controller.app.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/driver/breakContract/record")
@Validated
@Api(tags = "司机APP-违约")
@AllArgsConstructor
public class AppDriverBreakContractDriverRecordController {
private final BreakContractDriverRecordService breakContractDriverRecordService;
@ApiOperation(value = "分页搜索违约列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRecord")
@UnitCovert(param = false)
public Result<PageData<DriverBreakContractDriverRecordVO>> pageRecord(@RequestBody @Validated DriverPageBreakContractDriverRecordParam param) {
if (StringUtils.isBlank(param.getCreateTime())) {param.setCreateTime(LocalDateTimeUtils.formatTime());}
param.setBeginTime(LocalDateTimeUtils.getStringMonthStart(param.getCreateTime()));
param.setEndTime(LocalDateTimeUtils.getStringMonthEnd(param.getCreateTime()));
IPage<DriverBreakContractDriverRecordVO> page = breakContractDriverRecordService.driverPageRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
......@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.TimeUnit;
......@@ -135,4 +136,10 @@ public class GoodsOrderController {
public Result<String> orderCancel(@RequestParam(value = "orderNo") String orderNo) {
return Result.ok(orderGoodsService.orderCancel(orderNo));
}
@ApiOperation(value = "获取当前订单可取消吨数", notes = "<br>By:胡宇帆")
@GetMapping("/orderCancelResidueWeight")
public Result<BigDecimal> orderCancelResidueWeight(@RequestParam(value = "orderNo") String orderNo, @RequestParam(value = "optionType") String optionType) {
return Result.ok(orderGoodsService.orderCancelResidueWeight(orderNo,optionType));
}
}
package com.clx.performance.controller.pc.breakcontract.carrier;
import com.clx.performance.param.pc.breakcontract.BreakContractDriverRecordAddParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
......@@ -17,9 +21,9 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/breakContract/driver")
@RequestMapping(value="/pc/carrier/breakContract/driverRecord")
@Validated
@Api(tags = "承运端-货主违约管理")
@Api(tags = "承运端-司机违约管理")
@AllArgsConstructor
public class CarrierBreakContractDriverRecordController {
......@@ -35,4 +39,12 @@ public class CarrierBreakContractDriverRecordController {
return Result.ok();
}
@ApiOperation(value = "分页搜索违约列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRecord")
@UnitCovert(param = false)
public Result<PageData<BreakContractDriverRecordVO>> pageRecord(@RequestBody @Validated PageBreakContractDriverRecordParam param) {
IPage<BreakContractDriverRecordVO> page = breakContractDriverRecordService.pageRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.breakcontract.carrier;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriveRuleUpdateParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRuleService;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRuleVO;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/breakContract/driverRule")
@Validated
@Api(tags = "承运端-司机违约规则")
@AllArgsConstructor
public class CarrierBreakContractDriverRuleController {
private final BreakContractDriverRuleService breakContractDriverRuleService;
@ApiOperation(value = "更新司机违约规则", notes = "<br>By:艾庆国")
@PostMapping("/updateRule")
@UnitCovert()
public Result<Void> updateRule(@RequestBody @Validated BreakContractDriveRuleUpdateParam param) {
breakContractDriverRuleService.updateRule(param);
return Result.ok();
}
@ApiOperation(value = "查询规则详情", notes = "<br>By:艾庆国")
@GetMapping("/getRuleInfo")
public Result<BreakContractDriverRuleVO> getRuleInfo() {
return Result.ok(breakContractDriverRuleService.getRuleInfo());
}
}
package com.clx.performance.controller.pc.breakcontract.carrier;
import com.clx.performance.param.pc.breakcontract.BreakContractOwnerRecordAddParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
......@@ -17,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/breakContract/owner")
@RequestMapping(value="/pc/carrier/breakContract/ownerRecord")
@Validated
@Api(tags = "承运端-货主违约管理")
@AllArgsConstructor
......@@ -35,4 +39,12 @@ public class CarrierBreakContractOwnerRecordController {
return Result.ok();
}
@ApiOperation(value = "分页搜索违约列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRecord")
@UnitCovert(param = false)
public Result<PageData<BreakContractOwnerRecordVO>> pageRecord(@RequestBody @Validated PageBreakContractOwnerRecordParam param) {
IPage<BreakContractOwnerRecordVO> page = breakContractOwnerRecordService.pageRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.breakcontract.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleStatusUpdateParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRuleService;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/breakContract/ownerRule")
@Validated
@Api(tags = "承运端-货主违约规则")
@AllArgsConstructor
public class CarrierBreakContractOwnerRuleController {
private final BreakContractOwnerRuleService breakContractOwnerRuleService;
@ApiOperation(value = "新增货主违约规则", notes = "<br>By:艾庆国")
@PostMapping("/saveRule")
@UnitCovert
public Result<Void> saveRule(@RequestBody @Validated BreakContractOwnerRuleAddParam param) {
breakContractOwnerRuleService.saveRule(param);
return Result.ok();
}
@ApiOperation(value = "更新状态", notes = "<br>By:艾庆国")
@PostMapping("/updateStatus")
public Result<Void> updateStatus(@RequestBody @Validated BreakContractOwnerRuleStatusUpdateParam param) {
breakContractOwnerRuleService.updateStatus(param);
return Result.ok();
}
@ApiOperation(value = "查询规则详情", notes = "<br>By:艾庆国")
@GetMapping("/getRuleInfo")
@UnitCovert(param = false)
public Result<BreakContractOwnerRuleVO> getRuleInfo(Integer id) {
return Result.ok(breakContractOwnerRuleService.getRuleInfo(id));
}
@ApiOperation(value = "分页搜索违约列表",notes = "<br>By:艾庆国")
@PostMapping("/pageRule")
@UnitCovert(param = false)
public Result<PageData<BreakContractOwnerRuleVO>> pageRule(@RequestBody @Validated PageBreakContractOwnerRuleParam param) {
IPage<BreakContractOwnerRuleVO> page = breakContractOwnerRuleService.pageRule(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "查询方案下拉列表",notes = "<br>By:艾庆国")
@PostMapping("/listPullDown")
public Result<List<BreakContractOwnerRuleVO>> listPullDown() {
return Result.ok(breakContractOwnerRuleService.listPullDown());
}
}
package com.clx.performance.controller.pc.breakcontract.carrier;
import com.clx.performance.param.pc.breakcontract.BreakContractRuleUpdateStatusParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRuleService;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/breakContract")
@Validated
@Api(tags = "承运端-违约方案")
@AllArgsConstructor
public class CarrierBreakContractRuleController {
private final BreakContractOwnerRuleService breakContractOwnerRuleService;
@ApiOperation(value = "取消运单", notes = "<br>By:艾庆国")
@PostMapping("/updateStatus")
public Result<Void> updateStatus(@RequestBody @Validated BreakContractRuleUpdateStatusParam param) {
breakContractOwnerRuleService.updateStatus(param);
return Result.ok();
}
}
......@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/breakContract")
@RequestMapping(value="/pc/owner/breakContract")
@Validated
@Api(tags = "承运端-违约方案")
@AllArgsConstructor
......
......@@ -77,4 +77,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
@Param("confirmTime")String confirmTime,
@Param("list")List<String> orderGoodsNoList
);
List<OrderChild> selectResidueWeight(String orderNo);
}
package com.clx.performance.dao.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractDriverRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import com.msl.common.dao.BaseDao;
/**
......@@ -11,4 +16,8 @@ import com.msl.common.dao.BaseDao;
* Time 16:02
*/
public interface BreakContractDriverRecordDao extends BaseDao<BreakContractDriverRecordMapper, BreakContractDriverRecord, Integer> {
IPage<BreakContractDriverRecordVO> pageByParam(PageBreakContractDriverRecordParam param);
IPage<DriverBreakContractDriverRecordVO> driverPageByParam(DriverPageBreakContractDriverRecordParam param);
}
......@@ -11,4 +11,7 @@ import com.msl.common.dao.BaseDao;
* Time 16:02
*/
public interface BreakContractDriverRuleDao extends BaseDao<BreakContractDriverRuleMapper, BreakContractDriverRule, Integer> {
boolean updateRule(BreakContractDriverRule item);
}
package com.clx.performance.dao.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractOwnerRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.msl.common.dao.BaseDao;
/**
......@@ -11,4 +14,7 @@ import com.msl.common.dao.BaseDao;
* Time 16:02
*/
public interface BreakContractOwnerRecordDao extends BaseDao<BreakContractOwnerRecordMapper, BreakContractOwnerRecord, Integer> {
IPage<BreakContractOwnerRecordVO> pageByParam(PageBreakContractOwnerRecordParam param);
}
package com.clx.performance.dao.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractOwnerRuleMapper;
import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
public interface BreakContractOwnerRuleDao extends BaseDao<BreakContractOwnerRuleMapper, BreakContractOwnerRule, Integer> {
boolean updateRule(BreakContractOwnerRule item);
Optional<BreakContractOwnerRule> selectByName(String name);
List<BreakContractOwnerRule> listEnable();
IPage<BreakContractOwnerRuleVO> pageByParam(PageBreakContractOwnerRuleParam param);
}
......@@ -258,6 +258,13 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
);
}
@Override
public List<OrderChild> selectResidueWeight(String orderNo) {
return baseMapper.selectList(lambdaQuery().eq(OrderChild::getOrderNo,orderNo)
.lt(OrderChild::getStatus, OrderChildEnum.Status.ARRIVE_SEND.getCode())
);
}
@Override
public List<OrderChild> getOrderChildByOrderNo(String orderNo) {
LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper();
......
package com.clx.performance.dao.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.mapper.breakcontract.BreakContractDriverRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
......@@ -14,4 +20,16 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public class BreakContractDriverRecordDaoImpl extends BaseDaoImpl<BreakContractDriverRecordMapper, BreakContractDriverRecord, Integer> implements BreakContractDriverRecordDao {
@Override
public IPage<BreakContractDriverRecordVO> pageByParam(PageBreakContractDriverRecordParam param) {
Page<BreakContractDriverRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
@Override
public IPage<DriverBreakContractDriverRecordVO> driverPageByParam(DriverPageBreakContractDriverRecordParam param) {
Page<DriverBreakContractDriverRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.driverPageByParam(page,param);
}
}
......@@ -14,4 +14,11 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public class BreakContractDriverRuleDaoImpl extends BaseDaoImpl<BreakContractDriverRuleMapper, BreakContractDriverRule, Integer> implements BreakContractDriverRuleDao {
@Override
public boolean updateRule(BreakContractDriverRule item) {
return update(lUdWrapper()
.eq(BreakContractDriverRule::getId, item.getId())
.set(BreakContractDriverRule::getRuleJson, item.getRuleJson())
);
}
}
package com.clx.performance.dao.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.mapper.breakcontract.BreakContractOwnerRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
......@@ -14,4 +18,10 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public class BreakContractOwnerRecordDaoImpl extends BaseDaoImpl<BreakContractOwnerRecordMapper, BreakContractOwnerRecord, Integer> implements BreakContractOwnerRecordDao {
@Override
public IPage<BreakContractOwnerRecordVO> pageByParam(PageBreakContractOwnerRecordParam param) {
Page<BreakContractOwnerRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
package com.clx.performance.dao.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao;
import com.clx.performance.mapper.breakcontract.BreakContractOwnerRuleMapper;
import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author liruixin
* Date 2023-10-24
......@@ -14,4 +21,34 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public class BreakContractOwnerRuleDaoImpl extends BaseDaoImpl<BreakContractOwnerRuleMapper, BreakContractOwnerRule, Integer> implements BreakContractOwnerRuleDao {
@Override
public boolean updateRule(BreakContractOwnerRule item) {
return update(lUdWrapper()
.eq(BreakContractOwnerRule::getId, item.getId())
.set(BreakContractOwnerRule::getStatus, item.getStatus())
);
}
@Override
public Optional<BreakContractOwnerRule> selectByName(String name) {
return Optional.of(name)
.map(item -> lQrWrapper()
.eq(BreakContractOwnerRule::getName, item)
)
.map(super::getOne);
}
@Override
public List<BreakContractOwnerRule> listEnable() {
return list(lQrWrapper()
.eq(BreakContractOwnerRule::getStatus, 1)
);
}
@Override
public IPage<BreakContractOwnerRuleVO> pageByParam(PageBreakContractOwnerRuleParam param) {
Page<BreakContractOwnerRuleVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.breakcontract.BreakContractSettlementOwnerDao;
import com.clx.performance.enums.BreakContractSettlementOwnerEnum;
import com.clx.performance.mapper.breakcontract.BreakContractSettlementOwnerMapper;
import com.clx.performance.model.breakcontract.BreakContractSettlementOwner;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
......@@ -24,6 +25,7 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
@Override
public IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param) {
LambdaQueryWrapper<BreakContractSettlementOwner> query = new LambdaQueryWrapper<>();
query.eq(BreakContractSettlementOwner :: getDeleteStatus, BreakContractSettlementOwnerEnum.DeleteStatus.NO.getCode());
query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractSettlementOwner :: getOrderNo,param.getOrderNo());
query.eq(StringUtils.isNotBlank(param.getSettlementNo()),BreakContractSettlementOwner ::getSettlementNo ,param.getSettlementNo());
query.eq(Objects.nonNull(param.getBreakContractPartyType()),BreakContractSettlementOwner :: getBreakContractPartyType,param.getBreakContractPartyType());
......
package com.clx.performance.extranal.user;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import org.springframework.web.bind.annotation.RequestParam;
public interface OwnerInfoService {
OwnerInfoFeignVO getOwnerInfo(@RequestParam("userNo") Long userNo);
}
package com.clx.performance.extranal.user.impl;
import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.user.feign.OwnerInfoFeign;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.result.Result;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class OwnerInfoServiceImpl implements OwnerInfoService {
private final OwnerInfoFeign ownerInfoFeign;
@Override
public OwnerInfoFeignVO getOwnerInfo(Long userNo) {
return Optional.ofNullable(ownerInfoFeign.getOwnerInfo(userNo))
.filter(Result::succeed).map(item->item.getData()).orElseThrow(ResultCodeEnum.FAIL);
}
}
......@@ -2,7 +2,16 @@ package com.clx.performance.mapper.breakcontract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.sqlProvider.breakcontract.BreakContractDriverRecordSqlProvider;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author liruixin
......@@ -10,4 +19,17 @@ import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
* Time 16:02
*/
public interface BreakContractDriverRecordMapper extends BaseMapper<BreakContractDriverRecord> {
/**
* @see BreakContractDriverRecordSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, PageBreakContractDriverRecordParam)
*/
@SelectProvider(type = BreakContractDriverRecordSqlProvider.class, method = "pageByParam")
IPage<BreakContractDriverRecordVO> pageByParam(@Param("page") Page<BreakContractDriverRecordVO> page, @Param("param") PageBreakContractDriverRecordParam param);
/**
* @see BreakContractDriverRecordSqlProvider#driverPageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam)
*/
@SelectProvider(type = BreakContractDriverRecordSqlProvider.class, method = "driverPageByParam")
IPage<DriverBreakContractDriverRecordVO> driverPageByParam(@Param("page") Page<DriverBreakContractDriverRecordVO> page, @Param("param") DriverPageBreakContractDriverRecordParam param);
}
......@@ -2,7 +2,14 @@ package com.clx.performance.mapper.breakcontract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.sqlProvider.breakcontract.BreakContractOwnerRecordSqlProvider;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author liruixin
......@@ -10,4 +17,11 @@ import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
* Time 16:02
*/
public interface BreakContractOwnerRecordMapper extends BaseMapper<BreakContractOwnerRecord> {
/**
* @see BreakContractOwnerRecordSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, PageBreakContractOwnerRecordParam)
*/
@SelectProvider(type = BreakContractOwnerRecordSqlProvider.class, method = "pageByParam")
IPage<BreakContractOwnerRecordVO> pageByParam(@Param("page") Page<BreakContractOwnerRecordVO> page, @Param("param") PageBreakContractOwnerRecordParam param);
}
......@@ -2,7 +2,14 @@ package com.clx.performance.mapper.breakcontract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.sqlProvider.breakcontract.BreakContractOwnerRuleSqlProvider;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;
/**
* @author liruixin
......@@ -10,4 +17,11 @@ import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
* Time 16:02
*/
public interface BreakContractOwnerRuleMapper extends BaseMapper<BreakContractOwnerRule> {
/**
* @see BreakContractOwnerRuleSqlProvider#pageByParam(com.baomidou.mybatisplus.extension.plugins.pagination.Page, com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam)
*/
@SelectProvider(type = BreakContractOwnerRuleSqlProvider.class, method = "pageByParam")
IPage<BreakContractOwnerRuleVO> pageByParam(@Param("page") Page<BreakContractOwnerRuleVO> page, @Param("param") PageBreakContractOwnerRuleParam param);
}
......@@ -47,6 +47,7 @@ public class OrderChild implements HasKey<Integer> {
private LocalDateTime loadDeadline; //最晚装货时间
private Long truckOwnUserNo; //车主编号
private String truckOwnName; //车主姓名
private Integer truckId; //车辆ID
private String truckNo; //车牌号
private BigDecimal truckLoad; //载重(单位吨)
......
......@@ -35,6 +35,10 @@ public class BreakContractDriverRecord implements HasKey<Integer> {
@ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breachContractPartyType;
@TableField("break_no")
@ApiModelProperty(value = "违约单号", example = "")
private String breakNo;
@TableField("child_no")
@ApiModelProperty("违约运单")
private String childNo;
......@@ -79,6 +83,14 @@ public class BreakContractDriverRecord implements HasKey<Integer> {
@ApiModelProperty("备注")
private String remark;
@TableField("create_by")
@ApiModelProperty(value = "操作人编号", example = "")
private Long createBy;
@TableField("create_name")
@ApiModelProperty(value = "操作人名称", example = "")
private String createName;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
......
package com.clx.performance.model.breakcontract;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
......@@ -8,8 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
/**
......
......@@ -35,10 +35,22 @@ public class BreakContractOwnerRecord implements HasKey<Integer> {
@ApiModelProperty("违约方类型:1平台 2货主 3车主")
private Integer breachContractPartyType;
@TableField("break_no")
@ApiModelProperty(value = "违约单号", example = "")
private String breakNo;
@TableField("order_no")
@ApiModelProperty("违约订单")
private String orderNo;
@TableField("owner_user_no")
@ApiModelProperty("货主用户编号")
private Long ownerUserNo;
@TableField("owner_name")
@ApiModelProperty("货主名称")
private String ownerName;
@TableField("figure")
@ApiModelProperty("违约金(分)")
private BigDecimal figure;
......@@ -51,6 +63,14 @@ public class BreakContractOwnerRecord implements HasKey<Integer> {
@ApiModelProperty("备注")
private String remark;
@TableField("create_by")
@ApiModelProperty(value = "操作人编号", example = "")
private Long createBy;
@TableField("create_name")
@ApiModelProperty(value = "操作人名称", example = "")
private String createName;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
......
......@@ -36,7 +36,8 @@ public interface OrderGoodsService {
List<OrderGoods> getOrderGoodsList(String orderNo, LocalDateTime lastArriveSendTime);
String orderCancel(String orderNo);
String orderCancel();
BigDecimal orderCancelResidueWeight(String orderNo,String optionType);
void updateEditOrderGoods(UpdateEditOrderGoodsParam param);
}
package com.clx.performance.service.breakcontract;
import com.clx.performance.param.pc.breakcontract.BreakContractDriverRecordAddParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
/**
* @author liruixin
......@@ -10,4 +15,9 @@ import com.clx.performance.param.pc.breakcontract.BreakContractDriverRecordAddPa
public interface BreakContractDriverRecordService {
void saveRecord(BreakContractDriverRecordAddParam param);
IPage<BreakContractDriverRecordVO> pageRecord(PageBreakContractDriverRecordParam param);
IPage<DriverBreakContractDriverRecordVO> driverPageRecord(DriverPageBreakContractDriverRecordParam param);
}
package com.clx.performance.service.breakcontract;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriveRuleUpdateParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRuleVO;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
public interface BreakContractDriverRuleService {
void updateRule(BreakContractDriveRuleUpdateParam param);
BreakContractDriverRuleVO getRuleInfo();
}
package com.clx.performance.service.breakcontract;
import com.clx.performance.param.pc.breakcontract.BreakContractOwnerRecordAddParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
/**
* @author liruixin
......@@ -10,4 +13,7 @@ import com.clx.performance.param.pc.breakcontract.BreakContractOwnerRecordAddPar
public interface BreakContractOwnerRecordService {
void saveRecord(BreakContractOwnerRecordAddParam param);
IPage<BreakContractOwnerRecordVO> pageRecord(PageBreakContractOwnerRecordParam param);
}
package com.clx.performance.service.breakcontract;
import com.clx.performance.param.pc.breakcontract.BreakContractRuleUpdateStatusParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleStatusUpdateParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import java.util.List;
/**
* @author liruixin
......@@ -9,6 +15,11 @@ import com.clx.performance.param.pc.breakcontract.BreakContractRuleUpdateStatusP
*/
public interface BreakContractOwnerRuleService {
void updateStatus(BreakContractRuleUpdateStatusParam param);
void saveRule(BreakContractOwnerRuleAddParam param);
void updateStatus(BreakContractOwnerRuleStatusUpdateParam param);
BreakContractOwnerRuleVO getRuleInfo(Integer id);
IPage<BreakContractOwnerRuleVO> pageRule(PageBreakContractOwnerRuleParam param);
List<BreakContractOwnerRuleVO> listPullDown();
}
......@@ -5,10 +5,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.feign.OrderFeign;
import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.order.params.UpdateEditOrderGoodsParam;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.OrderGoodsDriverTruckDao;
import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind;
......@@ -62,6 +65,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
@Autowired
private UserClxFeign userClxFeign;
@Autowired
private OrderChildDao orderChildDao;
@Override
public OrderGoodsVO getOrderGoodsInfoByOrderGoodsNoForPC(String orderGoodsNo) {
OrderGoodsVO orderGoodsVO = orderGoodsDao.getOrderGoodsInfoByOrderGoodsNoForPC(orderGoodsNo).map(orderGoodsStruct::convert).get();
......@@ -193,8 +199,25 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
}
public String getOrderRe(String orderNo) {
return "";
@Override
public BigDecimal orderCancelResidueWeight(String orderNo, String optionType) {
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderNo);
if (StringUtils.equals(optionType,"1")) {
return new BigDecimal(orderInfoFeign.getResidueWeight());
} else {
String residueWeight = orderInfoFeign.getResidueWeight();
List<OrderChild> orderChildList = orderChildDao.selectResidueWeight(orderNo);
BigDecimal childResidueWeight = orderChildList.stream().map(OrderChild::getWeight).reduce(BigDecimal::add).get();
return childResidueWeight.add(new BigDecimal(residueWeight));
}
}
@Override
public void updateEditOrderGoods(UpdateEditOrderGoodsParam param) {
}
......
package com.clx.performance.service.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.param.pc.breakcontract.BreakContractDriverRecordAddParam;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import com.msl.common.utils.LocalDateTimeUtils;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Slf4j
@Service
public class BreakContractDriverRecordServiceImpl implements BreakContractDriverRecordService {
......@@ -25,24 +38,71 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
private BreakContractDriverRecordDao breakContractDriverRecordDao;
@Autowired
private OrderChildDao orderChildDao;
@Autowired
private UniqueOrderNumService uniqueOrderNumService;
@Override
public void saveRecord(BreakContractDriverRecordAddParam param) {
orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
String breakNo = childNoGenerate();
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
LocalDateTime time = LocalDateTime.now();
BreakContractDriverRecord record = new BreakContractDriverRecord();
record.setBreakNo(breakNo);
record.setTriggerType(BreakContractRecordEnum.TriggerType.MANUAL.getCode());
if (Objects.equals(param.getBreachContractPartyType(), BreakContractRecordEnum.BreachContractPartyType.DRIVER.getCode())) {
record.setBreachContractPartyType(BreakContractRecordEnum.BreachContractPartyType.DRIVER.getCode());
if (param.getTimeLimit() != null) {
record.setTimeLimit(param.getTimeLimit());
record.setLimitTime(time.plusSeconds(param.getTimeLimit().multiply(BigDecimal.valueOf(3600L)).intValue()));
}
}
else {
record.setBreachContractPartyType(BreakContractRecordEnum.BreachContractPartyType.PLATFORM.getCode());
}
record.setChildNo(param.getChildNo());
record.setFigure(param.getFigure());
if (param.getTimeLimit() != null) {
record.setTimeLimit(param.getTimeLimit());
record.setLimitTime(LocalDateTime.now().plusSeconds(param.getTimeLimit().multiply(BigDecimal.valueOf(3600L)).intValue()));
}
record.setRemark(param.getRemark());
record.setTruckNo(orderChild.getTruckNo());
record.setTruckOwnUserNo(orderChild.getTruckOwnUserNo());
record.setTruckOwnName(orderChild.getTruckOwnName());
record.setDriverUserNo(orderChild.getDriverUserNo());
record.setDriverName(orderChild.getDriverName());
record.setCreateBy(userNo);
record.setCreateName(loginUserInfo.getUserName());
record.setCreateTime(time);
breakContractDriverRecordDao.saveEntity(record);
}
@Override
public IPage<BreakContractDriverRecordVO> pageRecord(PageBreakContractDriverRecordParam param) {
return breakContractDriverRecordDao.pageByParam(param);
}
@Override
public IPage<DriverBreakContractDriverRecordVO> driverPageRecord(DriverPageBreakContractDriverRecordParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
param.setUserNo(userNo);
return breakContractDriverRecordDao.driverPageByParam(param);
}
/**
* 创建违约号
*/
private String childNoGenerate() {
return uniqueOrderNumService.getUniqueOrderNum(
LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), LocalDateTimeUtils.DATE_DAY));
}
}
package com.clx.performance.service.impl.breakcontract;
import com.alibaba.fastjson.JSON;
import com.clx.performance.dao.breakcontract.BreakContractDriverRuleDao;
import com.clx.performance.model.breakcontract.BreakContractDriverRule;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriveRuleUpdateParam;
import com.clx.performance.service.breakcontract.BreakContractDriverRuleService;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRuleVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
......@@ -11,4 +17,41 @@ import org.springframework.stereotype.Service;
*/
@Service
public class BreakContractDriverRuleServiceImpl implements BreakContractDriverRuleService {
@Autowired
private BreakContractDriverRuleDao breakContractDriverRuleDao;
@Override
public void updateRule(BreakContractDriveRuleUpdateParam param) {
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
if (rule == null){
rule = new BreakContractDriverRule();
rule.setId(1);
rule.setRuleJson(JSON.toJSONString(param));
breakContractDriverRuleDao.saveEntity(rule);
}
else {
rule.setRuleJson(JSON.toJSONString(param));
breakContractDriverRuleDao.updateRule(rule);
}
}
@Override
public BreakContractDriverRuleVO getRuleInfo() {
BreakContractDriverRule rule = breakContractDriverRuleDao.getEntityByKey(1).orNull();
BreakContractDriverRuleVO vo;
if (rule != null){
vo = JSON.parseObject(rule.getRuleJson(), BreakContractDriverRuleVO.class);
}
else {
vo = new BreakContractDriverRuleVO();
vo.setDriverCancelRule(new BreakContractDriverRuleVO.DriverCancelRule());
vo.setSendAddressRule(new BreakContractDriverRuleVO.SendAddressRule());
vo.setReceiveAddressRule(new BreakContractDriverRuleVO.ReceiveAddressRule());
}
return vo;
}
}
package com.clx.performance.service.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.enums.BreakContractRecordEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.extranal.user.OrderService;
import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.utils.LocalDateTimeUtils;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Slf4j
@Service
public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerRecordService {
......@@ -24,21 +39,56 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
@Autowired
private OrderService orderService;
@Autowired
private UniqueOrderNumService uniqueOrderNumService;
@Autowired
private OwnerInfoService ownerInfoService;
@Override
public void saveRecord(BreakContractOwnerRecordAddParam param) {
orderService.getOrderInfo(param.getOrderNo()).orElseThrow(PerformanceResultEnum.ORDER_NO_FOUND);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long userNo = loginUserInfo.getUserNo();
BreakContractOwnerRecord record = new BreakContractOwnerRecord();
String breakNo = childNoGenerate();
FeignOrderInfoVO orderInfo = orderService.getOrderInfo(param.getOrderNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
OwnerInfoFeignVO ownerInfo = ownerInfoService.getOwnerInfo(orderInfo.getOwnerUserNo());
BreakContractOwnerRecord record = new BreakContractOwnerRecord();
record.setBreakNo(breakNo);
record.setTriggerType(BreakContractRecordEnum.TriggerType.MANUAL.getCode());
record.setBreachContractPartyType(param.getBreachContractPartyType());
record.setBreachContractPartyType(param.getBreachContractPartyType());
if (Objects.equals(param.getBreachContractPartyType(), BreakContractRecordEnum.BreachContractPartyType.OWNER.getCode())) {
record.setBreachContractPartyType(BreakContractRecordEnum.BreachContractPartyType.OWNER.getCode());
}
else {
record.setBreachContractPartyType(BreakContractRecordEnum.BreachContractPartyType.PLATFORM.getCode());
}
record.setOrderNo(param.getOrderNo());
record.setFigure(param.getFigure());
record.setRemark(param.getRemark());
record.setOwnerUserNo(ownerInfo.getUserNo());
record.setOwnerName(ownerInfo.getName());
record.setCreateBy(userNo);
record.setCreateName(loginUserInfo.getUserName());
breakContractOwnerRecordDao.saveEntity(record);
}
@Override
public IPage<BreakContractOwnerRecordVO> pageRecord(PageBreakContractOwnerRecordParam param) {
return breakContractOwnerRecordDao.pageByParam(param);
}
/**
* 创建违约号
*/
private String childNoGenerate() {
return uniqueOrderNumService.getUniqueOrderNum(
LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), LocalDateTimeUtils.DATE_DAY));
}
}
package com.clx.performance.service.impl.breakcontract;
import com.clx.performance.param.pc.breakcontract.BreakContractRuleUpdateStatusParam;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRuleStatusUpdateParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRuleService;
import com.clx.performance.struct.breakcontract.BreakContractOwnerRuleStruct;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import com.msl.common.exception.ServiceSystemException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author liruixin
* Date 2023-10-24
......@@ -12,8 +25,57 @@ import org.springframework.stereotype.Service;
*/
@Service
public class BreakContractOwnerRuleServiceImpl implements BreakContractOwnerRuleService {
@Autowired
private BreakContractOwnerRuleDao breakContractOwnerRuleDao;
@Autowired
private BreakContractOwnerRuleStruct breakContractOwnerRuleStruct;
@Override
public void saveRule(BreakContractOwnerRuleAddParam param) {
BreakContractOwnerRule rule = breakContractOwnerRuleDao.selectByName(param.getName()).orNull();
if (rule != null) {throw new ServiceSystemException(PerformanceResultEnum.BREAK_CONTRACT_RULE_NAME_EXIST);}
rule = new BreakContractOwnerRule();
rule.setRuleJson(JSON.toJSONString(param));
rule.setName(param.getName());
rule.setFile("url");
breakContractOwnerRuleDao.saveEntity(rule);
}
@Override
public void updateStatus(BreakContractOwnerRuleStatusUpdateParam param) {
BreakContractOwnerRule rule = breakContractOwnerRuleDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.BREAK_CONTRACT_RULE_NO_FOUND);
rule.setStatus(param.getStatus());
breakContractOwnerRuleDao.updateRule(rule);
}
@Override
public BreakContractOwnerRuleVO getRuleInfo(Integer id) {
BreakContractOwnerRule rule = breakContractOwnerRuleDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.BREAK_CONTRACT_RULE_NO_FOUND);
BreakContractOwnerRuleVO vo = JSON.parseObject(rule.getRuleJson(), BreakContractOwnerRuleVO.class);
vo.setId(rule.getId());
vo.setName(rule.getName());
vo.setStatus(rule.getStatus());
return vo;
}
@Override
public void updateStatus(BreakContractRuleUpdateStatusParam param) {
public IPage<BreakContractOwnerRuleVO> pageRule(PageBreakContractOwnerRuleParam param) {
return breakContractOwnerRuleDao.pageByParam(param);
}
@Override
public List<BreakContractOwnerRuleVO> listPullDown() {
return breakContractOwnerRuleStruct.convert(breakContractOwnerRuleDao.listEnable());
}
}
package com.clx.performance.sqlProvider.breakcontract;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.vo.app.breakcontract.DriverBreakContractDriverRecordVO;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractDriverRecordVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
import java.util.Objects;
public class BreakContractDriverRecordSqlProvider {
public String pageByParam(@Param("page") Page<BreakContractDriverRecordVO> page, @Param("param") PageBreakContractDriverRecordParam param) {
return new SQL(){{
SELECT(" id, trigger_type, breach_contract_party_type, break_no, " +
" child_no, truck_no, truck_own_user_no, truck_own_name, " +
" driver_user_no, driver_name, figure, time_limit, " +
" date_format(limit_time, '%Y-%m-%d %H:%i:%s') as limitTime, " +
" settlement_no, " +
" remark, " +
" create_by, create_name, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("break_contract_driver_record");
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("create_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("create_time <= #{param.endTime}");}
ORDER_BY("create_time desc");
}}.toString();
}
public String driverPageByParam(@Param("page") Page<DriverBreakContractDriverRecordVO> page, @Param("param") DriverPageBreakContractDriverRecordParam param) {
return new SQL(){{
SELECT(" id, trigger_type, breach_contract_party_type, break_no, " +
" child_no, truck_no, truck_own_user_no, truck_own_name, " +
" driver_user_no, driver_name, figure, time_limit, " +
" date_format(limit_time, '%Y-%m-%d %H:%i:%s') as limitTime, " +
" settlement_no, " +
" remark, " +
" create_by, create_name, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("break_contract_driver_record");
WHERE("(truck_own_user_no = #{param.userNo} or driver_user_no = #{param.userNo})");
if (Objects.equals(param.getType(), 1)) {WHERE("breach_contract_party_type = 3");}
if (Objects.equals(param.getType(), 2)) {WHERE("breach_contract_party_type = 1");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("create_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("create_time <= #{param.endTime}");}
ORDER_BY("create_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.breakcontract;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class BreakContractOwnerRecordSqlProvider {
public String pageByParam(@Param("page") Page<BreakContractOwnerRecordVO> page, @Param("param") PageBreakContractOwnerRecordParam param) {
return new SQL(){{
SELECT(" id, trigger_type, breach_contract_party_type, break_no, " +
" order_no, owner_user_no, owner_name, figure, " +
" settlement_no, " +
" remark, " +
" create_by, create_name, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("break_contract_owner_record");
if (StringUtils.isNotBlank(param.getOrderNo())) {WHERE("order_no = #{param.orderNo}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("create_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("create_time <= #{param.endTime}");}
ORDER_BY("create_time desc");
}}.toString();
}
}
package com.clx.performance.sqlProvider.breakcontract;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRuleParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class BreakContractOwnerRuleSqlProvider {
public String pageByParam(@Param("page") Page<BreakContractOwnerRuleVO> page, @Param("param") PageBreakContractOwnerRuleParam param) {
return new SQL(){{
SELECT(" id, name, file, rule_json as ruleJson, " +
" status, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("break_contract_owner_rule");
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (param.getStatus() != null) {WHERE("status = #{param.status}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("create_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("create_time <= #{param.endTime}");}
ORDER_BY("create_time desc");
}}.toString();
}
}
package com.clx.performance.struct.breakcontract;
import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRuleVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface BreakContractOwnerRuleStruct {
List<BreakContractOwnerRuleVO> convert(List<BreakContractOwnerRule> list);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论