提交 791d2270 authored 作者: liruixin's avatar liruixin

Merge remote-tracking branch 'origin/release' into release

...@@ -28,3 +28,4 @@ mvnw.cmd ...@@ -28,3 +28,4 @@ mvnw.cmd
/dist/ /dist/
/nbdist/ /nbdist/
/.nb-gradle/ /.nb-gradle/
/nbsdk/
...@@ -18,7 +18,8 @@ public enum IdTypeEnum { ...@@ -18,7 +18,8 @@ public enum IdTypeEnum {
CASE_OUT_SUCCESS(4L, "提现成功"), CASE_OUT_SUCCESS(4L, "提现成功"),
TOP_UP_SUCCESS(5L, "充值成功"), TOP_UP_SUCCESS(5L, "充值成功"),
FROZEN(6L, "冻结"), FROZEN(6L, "冻结"),
THAW(7L, "解冻") THAW(7L, "解冻"),
TAKE_OUT(8L, "扣除")
; ;
private final Long code; private final Long code;
private final String msg; private final String msg;
......
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
@Getter
@AllArgsConstructor
@SuppressWarnings("all")
public enum NetworkDriverAccountEnum {
;
@Getter
@AllArgsConstructor
public enum RunningWaterStatus {
SETTLEMENT(10, "运单结算"),
CASE_OUT_FROZEN(20, "提现冻结"),
CASE_OUT_SUCCESS(30, "提现成功"),
;
private final Integer code;
private final String msg;
public static Optional<NetworkDriverAccountEnum.RunningWaterStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code.equals(code)).findFirst();
}
public Integer getCode() {
return this.code;
}
public String getMsg() {
return this.msg;
}
}
@Getter
@AllArgsConstructor
public enum FundType {
INCOME(10, "收入"),
FROZEN(20, "冻结"),
EXPENDITURE(30, "支出"),
;
private final Integer code;
private final String msg;
public static Optional<NetworkDriverAccountEnum.FundType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code.equals(code)).findFirst();
}
public Integer getCode() {
return this.code;
}
public String getMsg() {
return this.msg;
}
}
@Getter
@AllArgsConstructor
public enum CaseOutRecordStatus {
WAIT_PLATFORM_PAY(10, "待平台付款"),
PAYED(20, "已付款"),
;
private final Integer code;
private final String msg;
public static Optional<CaseOutRecordStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code.equals(code)).findFirst();
}
public Integer getCode() {
return this.code;
}
public String getMsg() {
return this.msg;
}
}
}
...@@ -12,6 +12,8 @@ public enum OrderGoodsLogsEnum { ...@@ -12,6 +12,8 @@ public enum OrderGoodsLogsEnum {
EDIT("编辑"), EDIT("编辑"),
CANCEL( "取消"), CANCEL( "取消"),
ADJUST_PRICE("调价"), ADJUST_PRICE("调价"),
SYSTEM_RELEASE("释放吨数"),
SYSTEM_INCREASE("提量吨数"),
; ;
private final String name; private final String name;
......
...@@ -67,8 +67,8 @@ public enum OwnerAccountEnum { ...@@ -67,8 +67,8 @@ public enum OwnerAccountEnum {
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum OrderChildTypeStatus { public enum OrderChildTypeStatus {
ORDINARY(1, "普通单"), NETWORK(1, "网运单"),
NETWORK(2, "网运单"), ORDINARY(2, "普通单"),
; ;
private final Integer code; private final Integer code;
private final String msg; private final String msg;
...@@ -86,7 +86,7 @@ public enum OwnerAccountEnum { ...@@ -86,7 +86,7 @@ public enum OwnerAccountEnum {
THAW(30, "解冻"), THAW(30, "解冻"),
CASE_OUT_FROZEN(40, "提现冻结"), CASE_OUT_FROZEN(40, "提现冻结"),
CASE_OUT_SUCCESS(50, "提现成功"), CASE_OUT_SUCCESS(50, "提现成功"),
TAKE_OUT(60, "扣"), TAKE_OUT(60, "扣"),
CASE_OUT_FAIL(70, "提现失败"), CASE_OUT_FAIL(70, "提现失败"),
; ;
......
...@@ -99,6 +99,19 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -99,6 +99,19 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_GOODS_SAVE_FAIL(1801, "保存货单失败,请稍后再试"), ORDER_GOODS_SAVE_FAIL(1801, "保存货单失败,请稍后再试"),
USER_ID_IS_EMPTY(1900, "用户ID不能为空"),
MOBILE_IS_EMPTY(1901, "用户手机号不能为空"),
CAPTCHA_IS_EMPTY(1902, "验证码不能为空"),
USER_ACCOUNT_NOT_FOUND(1903, "用户账号未找到"),
CAPTCHA_IS_EXPIRE(1904, "短信验证码已失效,请重新发送"),
CAPTCHA_MORE_COUNT(1905, "验证码发送过于频繁,请稍后再发"),
CAPTCHA_IS_FAIL(1906, "验证码错误"),
BUSINESS_NO_FAIL(1907, "营业执照校验不一致,请重新输入"),
TOKEN_IS_FAIL(1908, "token失效,请重新获取token"),
PASSWORD_RESET_IS_FAIL(1909, "重置密码出现异常"),
PASSWORD_CHECK_FAIL(1910, "交易密码填写错误,请重新输入"),
SLIDER_CHECK_FAIL(1911, "滑块验证错误"),
ORDER_CHILD_SYNC_ERROR(1912, "承运同步网络货运异常"),
; ;
private final int code; private final int code;
......
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
//"车辆燃料类型 1:柴油 2 天然气 3其他 4新能源/电"
public enum PowerTypeEnum {
;
@Getter
@AllArgsConstructor
public enum Type {
DIESEL_OIL(1, "柴油"),
NATURAL_GAS(2, "天然气"),
OTHER(3, "其他"),
NEW_ENERGY(4, "新能源/电"),
;
private final Integer code;
private final String name;
public static Optional<Type> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.getCode(), code)).findFirst();
}
public static Optional<Type> getByName(String name) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.getName(), name)).findFirst();
}
public static Integer getCodeByName(String name) {
return getByName(name).map(PowerTypeEnum.Type::getCode).orElse(3);
}
}
}
...@@ -33,7 +33,10 @@ public enum SettlementOwnerEnum { ...@@ -33,7 +33,10 @@ public enum SettlementOwnerEnum {
public enum InvoiceStatus { public enum InvoiceStatus {
INVOICED(1, "已开票"), INVOICED(1, "已开票"),
NOT_INVOICE(2, "未开票"), NOT_INVOICE(2, "未开票"),
NO_NEED_INVOICE(3, "无需开票"); NO_NEED_INVOICE(3, "无需开票"),
PART_INVOICE(4, "部分开票")
;
private final Integer code; private final Integer code;
private final String msg; private final String msg;
......
package com.clx.performance.feign;
import com.clx.performance.param.pc.driver.NetworkDriverAccountParam;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface NetworkFeign {
@ApiOperation(value = "新增网络货运司机账户")
@PostMapping("clx-performance/feign/driver/createNetworkDriverAccount")
Result<Object> createNetworkDriverAccount(@RequestBody @Validated NetworkDriverAccountParam param);
}
...@@ -26,6 +26,8 @@ public interface OrderChildFeign { ...@@ -26,6 +26,8 @@ public interface OrderChildFeign {
Result<?> syncLastTruck(@RequestParam("orderNo") @NotBlank(message = "订单编号不能为空") String orderNo); Result<?> syncLastTruck(@RequestParam("orderNo") @NotBlank(message = "订单编号不能为空") String orderNo);
@RequestMapping(value = "clx-performance/feign/orderChild/getInvoiceType", method = RequestMethod.GET)
Result<Integer> getInvoiceType(@RequestParam("orderNo") @NotBlank(message = "订单编号不能为空") String orderNo);
} }
...@@ -90,6 +90,10 @@ public interface PerformanceFeign { ...@@ -90,6 +90,10 @@ public interface PerformanceFeign {
@GetMapping(value = {"clx-performance/feign/orderChild/selectInTransitOrderChild"}) @GetMapping(value = {"clx-performance/feign/orderChild/selectInTransitOrderChild"})
Result<Boolean> selectInTransitOrderChild(@RequestParam("orderNo") String orderNo); Result<Boolean> selectInTransitOrderChild(@RequestParam("orderNo") String orderNo);
@GetMapping(value = {"clx-performance/feign/orderChild/selectInTransitOrderChildLtUnsettle"})
Result<Boolean> selectInTransitOrderChildLtUnsettle(@RequestParam("orderNo") String orderNo);
@GetMapping(value = {"clx-performance/feign/orderGoods/updateSystemAddressId"}) @GetMapping(value = {"clx-performance/feign/orderGoods/updateSystemAddressId"})
Result<Boolean> updateSystemAddressId(@RequestParam("ownerAddressId") Integer ownerAddressId,@RequestParam("systemAddressId") Integer systemAddressId); Result<Boolean> updateSystemAddressId(@RequestParam("ownerAddressId") Integer ownerAddressId,@RequestParam("systemAddressId") Integer systemAddressId);
......
package com.clx.performance.feign;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = "clx-performance",configuration = PerformanceClientConfiguration.class)
public interface SettlementFeign {
@ApiOperation(value = "查询当前订单号是否已经生成货主结算单明细")
@GetMapping("clx-performance/feign/settlement/thawAndLockSettlement")
Result<Boolean> thawAndLockSettlement(@RequestParam String orderNo);
}
package com.clx.performance.param.app;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@NoArgsConstructor
public class AppGoodsOrderSearchParam extends PageParam {
@ApiModelProperty(value = "1:货源地 2: 目的地", example = "1")
@NotBlank(message = "查询类型")
private Integer searchType;
@ApiModelProperty(value = "搜索条件", example = "1")
private String searchName;
}
package com.clx.performance.param.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class CheckMobileParam {
@ApiModelProperty(value = "手机号", example = "1")
@NotBlank(message = "手机号")
private String mobile;
@ApiModelProperty(value = "验证码", example = "1")
@NotBlank(message = "验证码")
private String captcha;
@ApiModelProperty(value = "调用发送短信接口返回的token", example = "1")
private String token;
}
package com.clx.performance.param.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class InformationParam {
@ApiModelProperty(value = "营业执照编号", example = "1")
@NotBlank(message = "营业执照编号")
private String businessLicenseNumber;
@ApiModelProperty(value = "验证手机号通过后Token", example = "1")
@NotBlank(message = "验证手机号通过后Token")
private String token;
@ApiModelProperty(value = "手机号", example = "1")
@NotBlank(message = "手机号")
private String mobile;
}
package com.clx.performance.param.app;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class NetworkDriverPageParam extends PageParam {
private Long userNo;
@ApiModelProperty("资金类型 全部:不需要传 10:收入 30:支出 ")
private Integer fundType;
}
package com.clx.performance.param.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ResetPasswordParam {
@ApiModelProperty(value = "交易密码", example = "1")
@NotBlank(message = "交易密码")
private String password;
@ApiModelProperty(value = "验证营业执照后通过后Token", example = "1")
@NotBlank(message = "验证营业执照后通过后Token")
private String token;
@ApiModelProperty(value = "手机号", example = "1")
@NotBlank(message = "手机号")
private String mobile;
}
package com.clx.performance.param.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class SendMobileCaptchaParam {
@ApiModelProperty(value = "手机号", example = "1")
@NotBlank(message = "手机号")
private String mobile;
@ApiModelProperty(value = "会话ID", required = true, example = "XXX", dataType = "String")
private String sessionId;
@ApiModelProperty(value = "签名串", required = true, example = "XXX", dataType = "String")
private String sig;
@ApiModelProperty(value = "请求唯一标识", required = true, example = "XXX", dataType = "String")
private String token;
@ApiModelProperty(value = "场景标识", required = true, example = "XXX", dataType = "String")
private String scene;
}
...@@ -16,4 +16,10 @@ public class DriverPageIntegralTruckRankParam extends PageParam { ...@@ -16,4 +16,10 @@ public class DriverPageIntegralTruckRankParam extends PageParam {
@ApiModelProperty(value = "车牌列表", hidden = true) @ApiModelProperty(value = "车牌列表", hidden = true)
List<String> truckNoList; List<String> truckNoList;
@ApiModelProperty(value = "车辆添加截止时间", hidden = true)
private String time;
@ApiModelProperty(value = "统计时间(周一)", hidden = true)
private String statisticsDate;
} }
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OrderChildBankInfoDTO {
// @ApiModelProperty(value = "运单号", dataType="String", required = true)
// private String childNo;
// @ApiModelProperty(value = "用户钱包", dataType="Integer", required = true)
// private Integer userCode;
@ApiModelProperty(value = "持卡人姓名", dataType="String", required = true)
private String name;
@ApiModelProperty(value = "银行卡卡号", dataType="String", required = true)
private String cardNo;
@ApiModelProperty(value = "手机号", dataType="String", required = true)
private String mobile;
@ApiModelProperty(value = "账户类型 11个人 12企业账户", dataType="Integer", required = true)
private Integer accountType;
@ApiModelProperty(value = "银行卡类型10借记卡20借贷卡", dataType="String", required = true)
private String type;
// @ApiModelProperty(value = "是否允许提现: 允许提现1 ,禁止提现0", dataType="Integer", required = true)
// private Integer cashOut;
@ApiModelProperty(value = "身份证号", dataType="String", required = true)
@NotBlank(message = "身份证号不能为空")
private String idCard;
@ApiModelProperty(value = "银行", dataType="String", required = true)
@NotBlank(message = "银行不能为空")
private String bank;
@ApiModelProperty(value = "银行编码", dataType="String", required = true)
@NotBlank(message = "银行编码不能为空")
private String bankCode;
@ApiModelProperty(value = "身份证正面图片", required = true)
@NotBlank(message = "身份证正面图片不能为空")
private String idCardFrontImg;
@ApiModelProperty(value = "身份证背面图片", required = true)
@NotBlank(message = "身份证背面图片不能为空")
private String idCardBackImg;
}
package com.clx.performance.param.feign.transport;
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;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OrderChildDriverInfoDTO {
// @ApiModelProperty(value = "运单号", dataType="String", required = true)
// private String childNo;
// @ApiModelProperty(value = "司机ID", dataType="Integer", required = true)
// private Integer driverId;
@ApiModelProperty(value = "手机号", dataType="String", required = true)
@NotBlank(message = "手机号不能为空")
private String mobile;
@ApiModelProperty(value = "姓名", dataType="String", required = true)
@NotBlank(message = "姓名手机号不能为空")
private String name;
@ApiModelProperty(value = "性别1男2女", dataType="Integer", required = true)
private Integer sex;
// @ApiModelProperty(value = "头像相对地址", dataType="String", required = true)
// private String headImg;
// @ApiModelProperty(value = "钱包账号", dataType="String", required = true)
// private String walletCode;
@ApiModelProperty(value = "身份证号", dataType="String", required = true)
@NotBlank(message = "身份证号不能为空")
private String cardNo;
@ApiModelProperty(value = "身份证有效期起始时间", dataType="String", required = true)
@NotBlank(message = "身份证有效期起始时间不能为空")
private String cardStartTime;
@ApiModelProperty(value = "身份证有效期终止时间", dataType="String")
private String cardEndTime;
@ApiModelProperty(value = "是否是长期 0-非长期 1-长期", dataType="Integer", required = true)
@NotNull(message = "是否是长期不能为空")
private Integer cardLongTerm;
@ApiModelProperty(value = "身份证正面图片地址", dataType="String", required = true)
@NotBlank(message = "身份证正面图片地址不能为空")
private String cardFrontImg;
@ApiModelProperty(value = "身份证背面图片地址", dataType="String", required = true)
@NotBlank(message = "身份证背面图片地址不能为空")
private String cardBackImg;
@ApiModelProperty(value = "手持身份证照片地址", dataType="String")
private String faceCardImg;
@ApiModelProperty(value = "驾驶证号码", dataType="String", required = true)
// @NotBlank(message = "驾驶证号码不能为空")
private String licenceNo;
@ApiModelProperty(value = "初次领证日期", dataType="String", required = true)
// @NotBlank(message = "初次领证日期不能为空")
private String licenseTime;
@ApiModelProperty(value = "驾照类型", dataType="String", required = true)
// @NotBlank(message = "驾照类型不能为空")
private String licenceClass;
@ApiModelProperty(value = "驾驶证正面图片", dataType="String", required = true)
// @NotBlank(message = "驾驶证正面图片不能为空")
private String licenceImg;
@ApiModelProperty(value = "驾驶证背面图片", dataType="String", required = true)
// @NotBlank(message = "驾驶证背面图片不能为空")
private String licenceBackImg;
@ApiModelProperty(value = "驾驶证有效期起始时间", dataType="String", required = true)
// @NotBlank(message = "驾驶证有效期起始时间不能为空")
private String licenceStartTime;
@ApiModelProperty(value = "驾驶证有效期终止时间", dataType="String", required = true)
// @NotBlank(message = "驾驶证有效期终止时间不能为空")
private String licenceEndTime;
// @ApiModelProperty(value = "道路运输许可证图片地址", dataType="String", required = true)
// @NotBlank(message = "道路运输许可证图片地址不能为空")
// private String transportLicenceImg;
@ApiModelProperty(value = "道路运输从业资格证号", dataType="String", required = true)
// @NotBlank(message = "道路运输从业资格证号不能为空")
private String occupationalLicenceNo;
@ApiModelProperty(value = "道路运输从业资格证图片地址", dataType="String", required = true)
// @NotBlank(message = "道路运输从业资格证图片地址不能为空")
private String occupationalLicenceImg;
@ApiModelProperty(value = "从业资格证有效期起始时间", dataType="String", required = true)
// @NotBlank(message = "从业资格证有效期起始时间不能为空")
private String occupationalStartTime;
@ApiModelProperty(value = "从业资格证有效期终止时间", dataType="String", required = true)
// @NotBlank(message = "从业资格证有效期终止时间不能为空")
private String occupationalEndTime;
@ApiModelProperty(value = "驾驶证发证机关", required = true)
// @NotBlank(message = "驾驶证发证机关不能为空")
private String licenceIssueOrganization;
@ApiModelProperty(value = "身份证住址", required = true)
// @NotBlank(message = "身份证住址不能为空")
private String idCardAddress = "手动";
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OrderChildPaySyncParam {
@ApiModelProperty(value = "运单编号列表")
@NotEmpty(message = "运单编号不能为空")
private List<String> childNoList;
}
package com.clx.performance.param.feign.transport;
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.time.LocalDateTime;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OrderChildTruckInfoDTO {
// @ApiModelProperty(value = "运单号", dataType="String", required = true)
// private String childNo;
// @ApiModelProperty(value = "车辆ID", dataType="Integer", required = true)
// private Integer truckId;
// @ApiModelProperty(value = "车主id", dataType="Integer", required = true)
// private Integer userId;
@ApiModelProperty(value = "车主手机号", dataType="String", required = true)
@NotBlank(message = "车主手机号不能为空")
private String mobile;
@ApiModelProperty(value = "车牌号", dataType="String", required = true)
@NotBlank(message = "车牌号不能为空")
private String truckNo;
// @ApiModelProperty(value = "车头车牌颜色代码", dataType="Integer", required = true)
// private Integer truckNoColorCode;
@ApiModelProperty(value = "车头车牌颜色", dataType="String", required = true)
@NotBlank(message = "车头车牌颜色不能为空")
private String truckNoColor;
@ApiModelProperty(value = "型号", dataType="String", required = true)
@NotBlank(message = "型号不能为空")
private String model;
@ApiModelProperty(value = "载重单位吨", dataType="Integer", required = true)
@NotNull(message = "载重单位吨不能为空")
private Integer load;
@ApiModelProperty(value = "吨位 单位吨", dataType="Integer", required = true)
@NotNull(message = "吨位不能为空")
private Integer grossMass;
@ApiModelProperty(value = "车头道路运输许可证编号", dataType="String", required = true)
@NotBlank(message = "车头道路运输许可证编号不能为空")
private String roadTransportCertificateNo;
@ApiModelProperty(value = "行驶证主页照片", dataType="String", required = true)
@NotBlank(message = "行驶证主页照片不能为空")
private String licenceImgMain;
@ApiModelProperty(value = "行驶证副业正面照片", dataType="String", required = true)
@NotBlank(message = "行驶证副业正面照片不能为空")
private String licenceImgSecond;
@ApiModelProperty(value = "行驶证副业背面照片", dataType="String", required = true)
@NotBlank(message = "行驶证副业背面照片不能为空")
private String licenceImgSecondBack;
@ApiModelProperty(value = "道路运输许可证图片地址", dataType="String", required = true)
@NotBlank(message = "道路运输许可证图片地址不能为空")
private String transportLicenceImg;
@ApiModelProperty(value = "行驶证有效期开始时间")
private String drivingLicenseBeginTime;
@ApiModelProperty(value = "行驶证有效期结束时间", required = true)
@NotBlank(message = "行驶证有效期结束时间不能为空")
private String drivingLicenseEndTime;
@ApiModelProperty(value = "运输证有效期开始时间")
private String transportationLicenseBeginTime;
@ApiModelProperty(value = "运输证有效期结束时间")
private String transportationLicenseEndTime;
@ApiModelProperty(value = "挂车牌号")
private String truckNo2;
@ApiModelProperty("挂车行驶证主页")
private String licenceImgMain2;
@ApiModelProperty("挂车行驶证副页")
private String licenceImgSecond2;
@ApiModelProperty("挂车行驶证副页背面")
private String licenceImgSecond2Back;
@ApiModelProperty("挂车年检有效期至")
private String licenceImgMain2EndTime;
@ApiModelProperty("挂车道路运输许可证编号")
private String roadTransportCertificateNo2;
@ApiModelProperty("挂车道路运输许可证图片地址")
private String transportLicenceImg2;
@ApiModelProperty(value = "车辆燃料类型 1:柴油 2 天然气 3其他 4新能源/电", dataType="Integer", required = true)
@NotNull(message = "车辆燃料类型不能为空")
private Integer powerType;
@ApiModelProperty(value = "使用性质", required = true)
@NotBlank(message = "使用性质不能为空")
private String useNature;
@ApiModelProperty(value = "车辆识别代码", required = true)
@NotBlank(message = "车辆识别代码不能为空")
private String identifyCode;
@ApiModelProperty(value = "行驶证发证机关", required = true)
@NotBlank(message = "行驶证发证机关不能为空")
private String licenceIssueOrganization;
@ApiModelProperty(value = "注册日期", required = true)
@NotBlank(message = "注册日期不能为空")
private String registerDate;
@ApiModelProperty(value = "行驶证发证日期", required = true)
@NotBlank(message = "行驶证发证日期不能为空")
private String licenceIssueDate;
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @description:
* @Author:liumingchao
* @Date:2022/11/4 13:50
*/
@Getter
@Setter
@NoArgsConstructor
public class OrderChildTruckTraceDTO {
@ApiModelProperty(value = "运单号", required = true)
private String childNo;
@ApiModelProperty(value = "定位时间", required = true)
@NotBlank(message = "定位时间不能为空")
private String locationTime;
@ApiModelProperty(value = "定位经度", required = true)
@NotBlank(message = "定位经度不能为空")
private String locationLon;
@ApiModelProperty(value = "定位纬度", required = true)
@NotBlank(message = "定位纬度不能为空")
private String locationLat;
@ApiModelProperty(value = "定位详细位置信息")
private String locationAddress;
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 法人货主同步
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OwnerLegalSyncParam implements Serializable {
@ApiModelProperty(value = " 法人姓名 ", required = true)
@NotBlank(message = "货主登录手机号不可为空")
private String name;
@ApiModelProperty(value = " 货主手机号码 ", required = true)
@NotBlank(message = "货主姓名不可为空")
private String mobile;
@ApiModelProperty(value = " 身份证号 ", required = true)
@NotBlank(message = "身份证号不可为空")
private String cardNo;
@ApiModelProperty(value = " 企业名称 ", required = true)
private String company;
@ApiModelProperty(value = " 注册时间 ", required = true)
private String registerTime;
@ApiModelProperty(value = " 省 ", required = true)
private String province;
@ApiModelProperty(value = " 省code ", required = true)
private Integer provinceCode;
@ApiModelProperty(value = " 市 ", required = true)
private String city;
@ApiModelProperty(value = " 市code ", required = true)
private Integer cityCode;
@ApiModelProperty(value = " 区县 ", required = true)
private String county;
@ApiModelProperty(value = " 区县code ", required = true)
private Integer countyCode;
@ApiModelProperty(value = " 乡镇 ", required = true)
private String town;
@ApiModelProperty(value = " 乡镇code ", required = true)
private Integer townCode;
@ApiModelProperty(value = " 街道 ", required = true)
private String street;
@ApiModelProperty(value = " 街道code ", required = true)
private Integer streetCode;
@ApiModelProperty(value = " 详细地址 ", required = true)
private String address;
@ApiModelProperty(value = " 申请类型:1法人认证2代理人认证 ", required = true)
private Integer applyType;
@ApiModelProperty(value = " 法人姓名 ")
private String legalName;
@ApiModelProperty(value = " 法人手机号 ")
private String legalMobile;
@ApiModelProperty(value = " 法人身份证号 ")
private String legalCardNo;
@ApiModelProperty(value = " 法人身份证正面图片地址 ")
private String legalFrontImg;
@ApiModelProperty(value = " 法人身份证背面图片地址 ")
private String legalBackImg;
@ApiModelProperty(value = " 法人统一社会信用代码 ")
private String legalGroupCode;
@ApiModelProperty(value = " 法人营业执照图片地址 ")
private String legalBusinessImg;
@ApiModelProperty(value = " 代理人姓名 ")
private String agentName;
@ApiModelProperty(value = " 代理人手机号 ")
private String agentMobile;
@ApiModelProperty(value = " 代理人身份证号 ")
private String agentCardNo;
@ApiModelProperty(value = " 代理人身份证正面图片地址 ")
private String agentFrontImg;
@ApiModelProperty(value = " 代理人身份证背面图片地址 ")
private String agentBackImg;
@ApiModelProperty(value = " 代理人统一社会信用代码 ")
private String agentGroupCode;
@ApiModelProperty(value = " 代理人授权书图片地址 ")
private String agentBusinessImg;
@ApiModelProperty(value = " 企业联系人姓名 ", required = true)
private String businessName;
@ApiModelProperty(value = " 企业联系人手机号 ", required = true)
private String businessMobile;
@ApiModelProperty(value = " 企业类型 ", required = true)
private Integer businessType;
@ApiModelProperty(value = " 注册机构名称 ")
private String registerOrgName;
@ApiModelProperty(value = " 注册资本(单位:万元) ")
private Double registerAmount;
@ApiModelProperty(value = " 组织机构代码 ")
private String orgGroupCode;
@ApiModelProperty(value = " 企业邮箱 ")
private String businessEmail;
@ApiModelProperty(value = " 核准时间 ")
private String checkTime;
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
/**
* 自然人货主同步
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class OwnerPersonalSyncParam {
@ApiModelProperty(value = " 登陆手机号 ", required = true)
@NotBlank(message = "货主登录手机号不可为空")
private String mobile;
@ApiModelProperty(value = " 货主姓名 ", required = true)
@NotBlank(message = "货主姓名不可为空")
private String name;
@ApiModelProperty(value = " 身份证号 ", required = true)
@NotBlank(message = "身份证号不可为空")
private String cardNo;
@ApiModelProperty(value = " 省 ", required = true)
private String province;
@ApiModelProperty(value = " 省code ", required = true)
private Integer provinceCode;
@ApiModelProperty(value = " 市 ", required = true)
private String city;
@ApiModelProperty(value = " 市code ", required = true)
private Integer cityCode;
@ApiModelProperty(value = " 区县 ", required = true)
private String county;
@ApiModelProperty(value = " 区县code ", required = true)
private Integer countyCode;
// @ApiModelProperty(value = " 乡镇 ", required = false)
// private String town;
// @ApiModelProperty(value = " 乡镇code ", required = false)
// private Integer townCode;
// @ApiModelProperty(value = " 街道 ", required = false)
// private String street;
// @ApiModelProperty(value = " 街道code ", required = false)
// private Integer streetCode;
@NotBlank(message = "详细地址不可为空")
@ApiModelProperty(value = " 详细地址 ", required = true)
private String address;
@NotBlank(message = "身份证正面图片不可为空")
@ApiModelProperty(value = " 身份证正面图片地址 ", required = true)
private String legalFrontImg;
@NotBlank(message = "身份证背面图片不可为空")
@ApiModelProperty(value = " 身份证背面图片地址 ", required = true)
private String legalBackImg;
@ApiModelProperty(value = "手持身份证")
private String personHandheldImg;
@ApiModelProperty(value = " 个人邮箱 ")
private String businessEmail;
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class OwnerSettlementSyncParam {
@ApiModelProperty(value = "货主手机")
@NotBlank(message = "货主手机不能为空")
private String ownerMobile;
@ApiModelProperty(value = "结算单列表")
@Valid
@NotEmpty(message = "结算单列表不能空")
private List<SettlementItem> settlementList;
@Getter
@Setter
@ToString
@NoArgsConstructor
public static class SettlementItem{
@ApiModelProperty(value = "运单编号列表")
@NotEmpty(message = "运单编号不能空")
private String childNo;
@ApiModelProperty(value = "结算单编号")
@NotEmpty(message = "结算单编号不能空")
private String settlementNo;
}
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ThirdOrderChildBrokerParam {
@ApiModelProperty(value = "运单编码", dataType="String", required = true)
@NotBlank(message = "订单编码不能为空")
private String childNo;
@ApiModelProperty(value = "订单编码", dataType="String", required = true)
@NotBlank(message = "货单编码不能为空")
private String orderNo;
@ApiModelProperty(value = "车牌号", dataType="String", required = true)
@NotBlank(message = "车牌号不能为空")
private String truckNo;
@ApiModelProperty(value = "运费单价 单位分 (司机运费单价)", dataType="Integer", required = true)
@NotNull(message = "运费单价不能为空")
private Integer freightPrice;
@ApiModelProperty(value = "运费 单位分 (含税金额)", dataType="Integer", required = true)
@NotNull(message = "运费不能为空")
private Integer freight;
@ApiModelProperty(value = "实付运费 单位分 (司机运费总价)", dataType="Integer", required = true)
@NotNull(message = "实付运费不能为空")
private Integer freightNoCard;
@ApiModelProperty(value = "溢价金额", dataType = "Integer", required = true)
@NotNull(message = "溢价金额不能为空")
private Integer orderChildBrokerBeyondFreight = 0;
@ApiModelProperty(value = "司机实际净重", dataType="BigDecimal", required = true)
@NotNull(message = "司机实际净重不能为空")
private BigDecimal net;
@ApiModelProperty(value = "装车净重", dataType="BigDecimal")
@NotNull(message = "装车净重不能为空")
private BigDecimal loadNet;
@ApiModelProperty(value = "发货地址", dataType="String", required = true)
@NotBlank(message = "发货地址不能为空")
private String sendAddress;
@ApiModelProperty(value = "货源所在省份", dataType="String", required = true)
@NotBlank(message = "货源所在省份不能为空")
private String sendProvince;
@ApiModelProperty(value = "货源所在城市", dataType="String", required = true)
@NotBlank(message = "货源所在城市不能为空")
private String sendCity;
@ApiModelProperty(value = "货源所在区县", dataType="String", required = true)
@NotBlank(message = "货源所在区县不能为空")
private String sendCounty;
@ApiModelProperty(value = "货源所在乡镇", dataType="String", required = true)
// @NotBlank(message = "货源所在乡镇不能为空")
private String sendTown;
@ApiModelProperty(value = "发货人", dataType="String", required = true)
@NotBlank(message = "发货人不能为空")
private String sendName;
@ApiModelProperty(value = "发货人手机号", dataType="String", required = true)
@NotBlank(message = "发货人手机号不能为空")
private String sendMobile;
@ApiModelProperty(value = "收货人所在省", dataType="String", required = true)
@NotBlank(message = "收货人所在省不能为空")
private String receiveProvince;
@ApiModelProperty(value = "收货人所在城市", dataType="String", required = true)
@NotBlank(message = "收货人所在城市不能为空")
private String receiveCity;
@ApiModelProperty(value = "收货人所在区县", dataType="String", required = true)
@NotBlank(message = "收货人所在区县不能为空")
private String receiveCounty;
@ApiModelProperty(value = "收货人所在乡镇", dataType="String", required = true)
// @NotBlank(message = "收货人所在乡镇不能为空")
private String receiveTown = "手动";
@ApiModelProperty(value = "收货地址", dataType="String", required = true)
@NotBlank(message = "收货地址不能为空")
private String receiveAddress;
@ApiModelProperty(value = "收货人", dataType="String", required = true)
@NotBlank(message = "收货人不能为空")
private String receiveName;
@ApiModelProperty(value = "收货人手机号", dataType="String", required = true)
@NotBlank(message = "收货人手机号不能为空")
private String receiveMobile;
@ApiModelProperty(value = "装车地址经度", required = true)
@NotBlank(message = "装车地址经度不能为空")
private String loadLongitude;
@ApiModelProperty(value = "装车地址纬度", required = true)
@NotBlank(message = "装车地址纬度不能为空")
private String loadLatitude;
@ApiModelProperty(value = "卸车地址经度", required = true)
@NotBlank(message = "卸车地址经度不能为空")
private String unloadLongitude;
@ApiModelProperty(value = "卸车地址纬度", required = true)
@NotBlank(message = "卸车地址纬度不能为空")
private String unloadLatitude;
@ApiModelProperty(value = "运输距离(公里)", required = true)
@NotNull(message = "运输距离不能为空")
private BigDecimal distance;
@ApiModelProperty(value = "接单时间", dataType="String", required = true)
@NotBlank(message = "接单时间不能为空")
private String payTime;
@ApiModelProperty(value = "装车时间", dataType="String", required = true)
@NotBlank(message = "装车时间不能为空")
private String loadTime;
@ApiModelProperty(value = "卸车时间", dataType="String", required = true)
@NotBlank(message = "卸车时间不能为空")
private String unloadTime;
@ApiModelProperty(value = "支付完成时间", dataType="String", required = true)
@NotBlank(message = "支付完成时间不能为空")
private String payFinishedTime;
// @ApiModelProperty(value = "备注", dataType="String")
// private String remark;
@ApiModelProperty(value = "创建时间", dataType="String", required = true)
private String createTime;
@ApiModelProperty(value = "收货单位", dataType="String")
private String receiveCompany;
@ApiModelProperty(value = "发货单位", dataType="String")
private String sendCompany;
@ApiModelProperty(value = "卸车净重", dataType="BigDecimal", required = true)
@NotNull(message = "卸车净重不能为空")
private BigDecimal receiveNet;
@ApiModelProperty(value = "货物名称", dataType="String", required = true)
@NotBlank(message = "货物名称不能为空")
private String goodsName;
// @ApiModelProperty(value = "是否车主本人:1是,0否", dataType="Integer", required = true)
// private Integer personalDriverFlag;
@ApiModelProperty(value = "垫付类型 0 全额垫付 1 不垫付服务费", dataType="Integer", required = true)
@NotNull(message = "垫付类型不能为空")
private Integer advanceType;
@ApiModelProperty(value = "货物价格 单位 分", required = true)
@NotNull(message = "货物价格不能为空")
private Integer goodsPrice;
@ApiModelProperty(value = "源订单号 (承运平台订单号)")
@NotBlank(message = "源订单号不能为空")
private String sourceOrderNo;
@ApiModelProperty(value = "源货单号 (承运平台货单号)")
@NotBlank(message = "源货单号不能为空")
private String sourceGoodsNo;
@ApiModelProperty(value = "源开票方式 (开票方式) :1 装车 2 卸车")
@NotNull(message = "源开票方式不能为空")
private Integer sourceInvoicingType;
@ApiModelProperty(value = "源单价 (承运单价)")
@NotNull(message = "源单价不能为空")
private BigDecimal sourceFreightPrice;
@ApiModelProperty(value = "源开票金额 (开票金额)")
@NotNull(message = "源开票金额不能为空")
private BigDecimal sourceInvoicingPrice;
@ApiModelProperty(value = "源亏吨金额 (亏吨金额)")
@NotNull(message = "源亏吨金额不能为空")
private BigDecimal sourceLossPrice;
@ApiModelProperty(value = "装车磅单图片", required = true)
@NotEmpty(message = "装车磅单图片不能为空")
private List<String> loadPoundImages;
@ApiModelProperty(value = "卸车磅单图片", required = true)
@NotEmpty(message = "卸车磅单图片不能为空")
private List<String> unLoadPoundImages;
@ApiModelProperty(value = "关联账号(货主手机号)", required = true)
@NotBlank(message = "关联账号不能为空")
private String invoiceRelationNo;
@ApiModelProperty(value = "货单信息", required = true)
@Valid
private ThirdOrderInfoDTO orderInfoDTO;
@ApiModelProperty(value = "车主信息", required = true)
@Valid
private OrderChildDriverInfoDTO truckDriverInfoDTO;
@ApiModelProperty(value = "司机信息", required = true)
@Valid
private OrderChildDriverInfoDTO driverInfoDTO;
@ApiModelProperty(value = "车主银行卡信息", required = true)
@Valid
private OrderChildBankInfoDTO truckDriverBankInfoDTO;
@ApiModelProperty(value = "司机银行卡信息", required = true)
@Valid
private OrderChildBankInfoDTO driverBankInfoDTO;
@ApiModelProperty(value = "车辆信息", required = true)
@Valid
private OrderChildTruckInfoDTO truckInfoDTO;
@ApiModelProperty(value = "运单轨迹", required = true)
@Valid
@NotEmpty(message = "运单轨迹不能为空")
private List<OrderChildTruckTraceDTO> brokerTraceList;
// @ApiModelProperty(value = "来源:0-货易来,1-诚联信 2承运", hidden = true)
// private Integer source;
}
package com.clx.performance.param.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class ThirdOrderChildRiskStatusParam {
@ApiModelProperty(value = "运单编号")
private String childNo;
@ApiModelProperty(value = "合规状态:0不合规 1合规 2未同步 ")
private Integer status;
@ApiModelProperty(value = "风控原因")
private String riskReason;
}
package com.clx.performance.param.feign.transport;
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;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class ThirdOrderInfoDTO {
@ApiModelProperty(value = "货单编码", required = true)
private String orderNo;
@ApiModelProperty(value = "货物名称", required = true)
private String goodsName;
@ApiModelProperty(value = "发货单位")
private String sendCompany;
@ApiModelProperty(value = "发货所在省份", required = true)
@NotBlank(message = "发货所在省份不能为空")
private String sendProvince;
@ApiModelProperty(value = "发货所在城市", required = true)
@NotBlank(message = "发货所在城市不能为空")
private String sendCity;
@ApiModelProperty(value = "发货所在区县", required = true)
@NotBlank(message = "发货所在区县不能为空")
private String sendCounty;
@ApiModelProperty(value = "发货所在乡镇", required = true)
// @NotBlank(message = "发货所在乡镇不能为空")
private String sendTown;
@ApiModelProperty(value = "发货详细地址", required = true)
@NotBlank(message = "发货详细地址不能为空")
private String sendAddress;
@ApiModelProperty(value = "发货联系人", required = true)
@NotBlank(message = "发货联系人不能为空")
private String sendName;
@ApiModelProperty(value = "发货联系人手机号", required = true)
@NotBlank(message = "发货联系人手机号不能为空")
private String sendMobile;
@ApiModelProperty(value = "发货地址经度", required = true)
@NotBlank(message = "发货地址经度不能为空")
private String loadLongitude;
@ApiModelProperty(value = "发货地址纬度", required = true)
@NotBlank(message = "发货地址纬度不能为空")
private String loadLatitude;
@ApiModelProperty(value = "收货单位")
private String receiveCompany;
@ApiModelProperty(value = "收货人所在省", required = true)
@NotBlank(message = "收货人所在省不能为空")
private String receiveProvince;
@ApiModelProperty(value = "收货人所在城市", required = true)
@NotBlank(message = "收货人所在城市不能为空")
private String receiveCity;
@ApiModelProperty(value = "收货人所在区县", required = true)
@NotBlank(message = "收货人所在区县不能为空")
private String receiveCounty;
@ApiModelProperty(value = "收货人所在乡镇", required = true)
// @NotBlank(message = "收货人所在乡镇不能为空")
private String receiveTown;
@ApiModelProperty(value = "收货详细地址", required = true)
@NotBlank(message = "收货详细地址不能为空")
private String receiveAddress;
@ApiModelProperty(value = "收货联系人", required = true)
@NotBlank(message = "收货联系人不能为空")
private String receiveName;
@ApiModelProperty(value = "收货联系人手机号", required = true)
@NotBlank(message = "收货联系人手机号不能为空")
private String receiveMobile;
@ApiModelProperty(value = "收货地址经度", required = true)
@NotBlank(message = "收货地址经度不能为空")
private String unloadLongitude;
@ApiModelProperty(value = "收货地址纬度", required = true)
@NotBlank(message = "收货地址纬度不能为空")
private String unloadLatitude;
@ApiModelProperty(value = "货物单价(单位:分)", required = true)
@NotNull(message = "货物单价不能为空")
private Integer goodsPrice;
@ApiModelProperty(value = "运费单价(单位:分)", required = true)
@NotNull(message = "运费单价不能为空")
private Integer transPrice;
@ApiModelProperty(value = "货物总重量(吨)", required = true)
@NotNull(message = "货物总重量不能为空")
private BigDecimal goodsAmount;
@ApiModelProperty(value = "最晚装货时间", required = true)
@NotBlank(message = "最晚装货时间不能为空")
private String extractTime;
@ApiModelProperty(value = "司机最晚到达时间", required = true)
@NotBlank(message = "司机最晚到达时间不能为空")
private String arriveTime;
}
...@@ -25,4 +25,7 @@ public class OwnerBindCardParam { ...@@ -25,4 +25,7 @@ public class OwnerBindCardParam {
@ApiModelProperty(value = "银行账户") @ApiModelProperty(value = "银行账户")
private String ownerBankAccount; private String ownerBankAccount;
@ApiModelProperty(value = "交易密码")
private String accountPassword;
} }
...@@ -35,4 +35,7 @@ public class OwnerCaseOutParam { ...@@ -35,4 +35,7 @@ public class OwnerCaseOutParam {
@ApiModelProperty(value = "提现银行卡号", example = "62213545878787") @ApiModelProperty(value = "提现银行卡号", example = "62213545878787")
private String ownerBankAccount; private String ownerBankAccount;
@ApiModelProperty(value = "交易密码")
private String accountPassword;
} }
\ No newline at end of file
...@@ -38,6 +38,19 @@ public class OwnerTopUpParam { ...@@ -38,6 +38,19 @@ public class OwnerTopUpParam {
@ApiModelProperty(value = "打款凭证", example = "/a.png") @ApiModelProperty(value = "打款凭证", example = "/a.png")
private String drawingProof; private String drawingProof;
@ApiModelProperty(value = "收款人企业信息", example = "收款人企业信息")
private String enterpriseName;
@ApiModelProperty(value = "收款人开户行", example = "62213545878787")
private String openAccountBank;
@ApiModelProperty(value = "收款人开户行银行代码", example = "收款人开户行银行代码")
private String openAccountBankNumber;
@ApiModelProperty(value = "收款人账户账号", example = "")
private String accountNumber;
@ApiModelProperty(value = "交易密码")
private String accountPassword;
} }
\ No newline at end of file
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @Author huyufan
* @create 2023-09-19 13:33
*/
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageAppPrepaidFreightAccountParam extends PageParam {
@ApiModelProperty(value="货主编码",example = "20145787812312312")
private Long ownerUserNo;
@ApiModelProperty(value="1: 全部 2:收入 3:支出",example = "1")
private Integer queryWaterType;
@ApiModelProperty(value="1: 保证金 2:预付运费",example = "1")
private Integer accountType;
@ApiModelProperty(value="操作开始时间",example = "2020-01-01 10:10:10")
private String beginTime;
@ApiModelProperty(value = "操作结束时间",example = "2020-01-01 10:10:10")
private String endTime;
@ApiModelProperty(value="货主编号",example = "1")
private Long userNo;
}
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageNetworkAccountInfoListParam extends PageParam {
@ApiModelProperty(value = "手机号", example = "13966554477")
private String mobile;
@ApiModelProperty(value = "网络货运流水类型")
private Integer runningWaterType;
@ApiModelProperty(value = "司机编码")
private String driverUserNo;
}
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageNetworkAccountListParam extends PageParam {
@ApiModelProperty(value = "手机号", example = "13966554477")
private String mobile;
@ApiModelProperty(value = "车主名称")
private String driverUserName;
@ApiModelProperty(value = "司机编码")
private String driverUserNo;
}
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageNetworkCaseOutRecordListParam extends PageParam {
@ApiModelProperty(value = "手机号", example = "13966554477")
private String mobile;
@ApiModelProperty(value = "运单编号")
private String childNo;
@ApiModelProperty(value = "车主编码")
private String driverUserNo;
}
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @ClassName BatchUpdatePayDriverSettlementParam
* @Description
* @Author kavin
* @Date 2023/12/4 19:58
* @Version 1.0
*/
@Getter
@Setter
public class BatchUpdatePayDriverBreakContractSettlementParam {
@ApiModelProperty("结算单id集合")
@NotNull(message = "ids不能为空")
private List<Integer> ids;
}
package com.clx.performance.param.pc.customer;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class PageCustomerComplaintDetailParam extends PageParam {
@ApiModelProperty("司机姓名")
private String driverName; //司机姓名
@ApiModelProperty("联系方式")
private String driverMobile; //司机手机号
@ApiModelProperty("运单编号")
private String childNo; //运单编号
@ApiModelProperty("投诉类型id")
private Integer complaintTypeId; //投诉类型id
@ApiModelProperty(value = "开始时间", example = "")
private String beginTime;
@ApiModelProperty(value = "结束时间", example = "")
private String endTime;
}
package com.clx.performance.param.pc.customer;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class PageCustomerComplaintTypeParam extends PageParam {
@ApiModelProperty("名称")
private String name;
}
package com.clx.performance.param.pc.customer;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* @ClassName SaveComplaintTypeParam
* @Description
* @Author kavin
* @Date 2023/12/7 10:46
* @Version 1.0
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SaveComplaintTypeParam {
private Integer id;
@Size(min=1 ,max = 10)
@NotBlank(message = "分类名称不能为空")
@ApiModelProperty(value = "分类名称")
private String name;
}
package com.clx.performance.param.pc.customer;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @ClassName saveCustomerComplaintDetailParam
* @Description
* @Author kavin
* @Date 2023/12/8 13:52
* @Version 1.0
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SaveCustomerComplaintDetailParam {
@NotNull(message = "投诉类型ID不能为空")
@ApiModelProperty("投诉类型ID")
private Integer complaintTypeId; //投诉类型id
@ApiModelProperty("运单编号")
private String childNo; //运单编号
@Size(min=1 ,max = 1000)
@ApiModelProperty("运单编号")
private String content; //问题描述
@ApiModelProperty("图片")
private List<String> picture; //图片
}
package com.clx.performance.param.pc.driver;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @ClassName BatchUpdatePayDriverSettlementParam
* @Description
* @Author kavin
* @Date 2023/12/4 19:58
* @Version 1.0
*/
@Getter
@Setter
public class BatchUpdatePayDriverSettlementParam {
@ApiModelProperty("结算单id集合")
@NotNull(message = "ids不能为空")
private List<Integer> ids;
}
package com.clx.performance.param.pc.driver;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class NetworkDriverAccountParam {
private Long driverUserNo;
private String driverUserName;
private String mobile;
}
...@@ -30,4 +30,8 @@ public class PageCarrierSettlementOwnerParam extends PageParam { ...@@ -30,4 +30,8 @@ public class PageCarrierSettlementOwnerParam extends PageParam {
@ApiModelProperty("结算方式 1装车净重 2卸车净重") @ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay; private Integer settlementWay;
@ApiModelProperty("订单编号")
private String orderNo;
} }
package com.clx.performance.vo.app;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class APPNetworkDriverRunningWaterRecordVO {
private Integer id;
@ApiModelProperty("流水号")
private Long runningWaterNo;
@ApiModelProperty("司机编码")
private Long driverUserNo;
@ApiModelProperty("司机名称")
private String driverUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("流水类型 10:运单结算 20:提现冻结 30:提现成功")
private Integer runningWaterType;
@ApiModelProperty("流水类型简介")
private String runningWaterTypeMsg;
@ApiModelProperty("资金类型 10:收入 20:冻结 30:支出")
private Integer fundType;
@ApiModelProperty("资金类型简介")
private String fundTypeMsg;
@ApiModelProperty("")
private Long relationId;
@ApiModelProperty("货单编号")
private String orderGoodsNo;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运单编号")
private String childNo;
@ApiModelProperty("变动金额")
@MoneyOutConvert
private BigDecimal alterationBalance;
@ApiModelProperty("冻结金额")
@MoneyOutConvert
private BigDecimal frozenBalance;
@ApiModelProperty("可用余额")
@MoneyOutConvert
private BigDecimal usableBalance;
@ApiModelProperty("账户余额")
@MoneyOutConvert
private BigDecimal accountBalance;
@ApiModelProperty("扣除金额")
@MoneyOutConvert
private BigDecimal takeOutBalance;
@ApiModelProperty("操作人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
/**
* @ClassName CustomerComplaintOrderChildVO
* @Description
* @Author kavin
* @Date 2023/12/7 17:55
* @Version 1.0
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CustomerComplaintOrderChildVO {
@ApiModelProperty(value = "id", example = "1")
private Integer id;
@ApiModelProperty(value = "运单编号", example = "100000000")
private String childNo;
@ApiModelProperty(value = "货单编号", example = "100000000")
private String orderGoodsNo;
@ApiModelProperty(value = "订单编号", example = "10000000000")
private String orderNo;
@ApiModelProperty(value = "发货地址", example = "朝阳")
private String sendAddress;
@ApiModelProperty(value = "收货地址", example = "西城")
private String receiveAddress;
@ApiModelProperty(value = "车牌号", example = "京A12345")
private String truckNo;
@ApiModelProperty(value = "司机姓名", example = "张三")
private String driverName;
@ApiModelProperty(value = "接单时间", example = "2023-12-12 12:12:12")
private String createTime; //创建时间
@ApiModelProperty(value = "状态", example = "10")
private Integer status; //状态
@ApiModelProperty(value = "状态信息", example = "接单")
private String statusMsg;
}
...@@ -181,4 +181,13 @@ public class OrderChildVO { ...@@ -181,4 +181,13 @@ public class OrderChildVO {
@ApiModelProperty("最晚装货时间") @ApiModelProperty("最晚装货时间")
private String lastLoadTime; private String lastLoadTime;
//运单详情增加字段
@ApiModelProperty(value = "亏吨重量", example = "1.23")
private BigDecimal lossWeight;
@ApiModelProperty(value = "亏吨扣款", example = "1.23")
@MoneyOutConvert
private BigDecimal lossAmount;
} }
\ No newline at end of file
package com.clx.performance.vo.feign.transport;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.List;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class ThirdOrderChildBrokerResultVO {
@ApiModelProperty(value = "风控结果列表,空未风控")
private List<RiskItem> riskList;
@ApiModelProperty(value = "合规状态:0不合规 1合规")
private Integer status;
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public static class RiskItem {
@ApiModelProperty(value = "类型", example = "PRICE_LOW")
private String type;
@ApiModelProperty(value = "风控原因", example = "运费单价过低")
private String msg;
}
}
...@@ -64,8 +64,8 @@ public class IntegralTruckVO { ...@@ -64,8 +64,8 @@ public class IntegralTruckVO {
return Arrays.asList( return Arrays.asList(
new IntegralItem("运单完成积分", orderChildCompleteIntegral), new IntegralItem("运单完成积分", orderChildCompleteIntegral),
new IntegralItem("平台补偿积分", platformCompensationIntegral), new IntegralItem("平台补偿积分", platformCompensationIntegral),
new IntegralItem("运单取消积分", orderChildCancelIntegral), new IntegralItem("运单取消扣减", orderChildCancelIntegral),
new IntegralItem("运单超时积分", orderChildTimeoutIntegral), new IntegralItem("运单超时扣减", orderChildTimeoutIntegral),
new IntegralItem("信息上报积分", reportIntegral) new IntegralItem("信息上报积分", reportIntegral)
); );
} }
......
package com.clx.performance.vo.pc;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
@Getter
@Setter
@Accessors(chain = true)
public class NetworkCaseOutRecordVO {
private Integer id;
@ApiModelProperty("提现单号")
private Long caseOutNo;
@ApiModelProperty("司机编码")
private String driverUserNo;
@ApiModelProperty("司机名称")
private String driverUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("收款人")
private String payee;
@ApiModelProperty("开户行")
private String bank;
@ApiModelProperty("收款银行账户")
private String collectionBankCode;
@ApiModelProperty("状态 10:待平台付款 20:已付款")
private Integer status;
@ApiModelProperty("状态简介")
private String statusMsg;
@ApiModelProperty("平台")
private String platform;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("货单编号")
private String orderGoodsNo;
@ApiModelProperty("运单编号")
private String childNo;
@ApiModelProperty("变动金额")
@MoneyOutConvert
private BigDecimal alterationBalance;
@ApiModelProperty("操作人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("提现完成时间")
private String finishTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
@Getter
@Setter
@Accessors(chain = true)
public class NetworkDriverAccountVO {
private Integer id;
@ApiModelProperty("司机编码")
private String driverUserNo;
@ApiModelProperty("司机名称")
private String driverUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("账户余额")
@MoneyOutConvert
private BigDecimal accountBalance;
@ApiModelProperty("可用余额")
@MoneyOutConvert
private BigDecimal usableBalance;
@ApiModelProperty("冻结余额")
@MoneyOutConvert
private BigDecimal frozenBalance;
@ApiModelProperty("钱包code")
private String walletCode;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author kavin
* Date 2023-12-19
* Time 11:34
*/
@Getter
@Setter
@Accessors(chain = true)
public class NetworkDriverRunningWaterRecordVO{
private Integer id;
@ApiModelProperty("流水号")
private Long runningWaterNo;
@ApiModelProperty("司机编码")
private String driverUserNo;
@ApiModelProperty("司机名称")
private String driverUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("流水类型 10:运单结算 20:提现冻结 30:提现成功")
private Integer runningWaterType;
@ApiModelProperty("流水类型简介")
private String runningWaterTypeMsg;
@ApiModelProperty("资金类型 10:收入 20:冻结 30:支出")
private Integer fundType;
@ApiModelProperty("资金类型简介")
private String fundTypeMsg;
@ApiModelProperty("")
private Long relationId;
@ApiModelProperty("订单ID")
private Integer orderId;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("运单ID")
private Integer orderChildId;
@ApiModelProperty("运单编号")
private String orderChildNo;
@ApiModelProperty("变动金额")
@MoneyOutConvert
private BigDecimal alterationBalance;
@ApiModelProperty("冻结金额")
@MoneyOutConvert
private BigDecimal frozenBalance;
@ApiModelProperty("可用余额")
@MoneyOutConvert
private BigDecimal usableBalance;
@ApiModelProperty("账户余额")
@MoneyOutConvert
private BigDecimal accountBalance;
@ApiModelProperty("扣除金额")
@MoneyOutConvert
private BigDecimal takeOutBalance;
@ApiModelProperty("操作人")
private String createBy;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
}
package com.clx.performance.vo.pc; package com.clx.performance.vo.pc;
import com.msl.common.convertor.field.Converted; import com.msl.common.convertor.field.Converted;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
public class OwnerAccountAllVO { public class OwnerAccountAllVO {
@ApiModelProperty("保证金账户")
@Converted(isDynamic = true) @Converted(isDynamic = true)
private OwnerAccountVO marginAccount; private OwnerAccountVO marginAccount;
@ApiModelProperty("预付运费账户")
@Converted(isDynamic = true) @Converted(isDynamic = true)
private OwnerAccountVO prepaidFreightAccount; private OwnerAccountVO prepaidFreightAccount;
@ApiModelProperty("0:没有交易密码 1:有交易密码")
private Integer ownerAccountPassword;
} }
...@@ -56,6 +56,7 @@ public class OwnerAccountVO { ...@@ -56,6 +56,7 @@ public class OwnerAccountVO {
@ApiModelProperty(value = "冻结金额") @ApiModelProperty(value = "冻结金额")
@MoneyOutConvert @MoneyOutConvert
private BigDecimal frozenBalance; private BigDecimal frozenBalance;
/** /**
* 创建人 * 创建人
*/ */
......
...@@ -91,4 +91,10 @@ public class OwnerTopUpVO { ...@@ -91,4 +91,10 @@ public class OwnerTopUpVO {
@ApiModelProperty(value = "审批拒绝") @ApiModelProperty(value = "审批拒绝")
private String approvalTurnDown; private String approvalTurnDown;
@ApiModelProperty(value = "收款人企业信息")
private String enterpriseName;
@ApiModelProperty(value = "收款人账户账号")
private String accountNumber;
} }
\ No newline at end of file
...@@ -58,6 +58,8 @@ public class CarrierPageSettlementDriverVO { ...@@ -58,6 +58,8 @@ public class CarrierPageSettlementDriverVO {
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "预付运费金额") @ApiModelProperty(value = "预付运费金额")
private BigDecimal prepayFreight; private BigDecimal prepayFreight;
@ApiModelProperty(value = "预付运费标示 0:未预付 1:已预付")
private Integer prepayFreightFlag;
@MoneyOutConvert @MoneyOutConvert
@ApiModelProperty(value = "结算金额") @ApiModelProperty(value = "结算金额")
private BigDecimal settlementFreight; private BigDecimal settlementFreight;
...@@ -67,6 +69,9 @@ public class CarrierPageSettlementDriverVO { ...@@ -67,6 +69,9 @@ public class CarrierPageSettlementDriverVO {
private String createTime; private String createTime;
@ApiModelProperty(value = "结算平台 1:马上来 2:网运平台") @ApiModelProperty(value = "结算平台 1:马上来 2:网运平台")
private String settlementPlatform; private String settlementPlatform;
@ApiModelProperty(value = "支付失败原因")
private String payErrorMsg;
......
package com.clx.performance.vo.pc.customer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @ClassName CustomerComplaintTypeVO
* @Description
* @Author kavin
* @Date 2023/12/7 11:42
* @Version 1.0
*/
@Getter
@Setter
public class CustomerComplaintDetailVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("司机用户编号")
private Long driverUserNo; //司机用户编号
@ApiModelProperty("司机姓名")
private String driverName; //司机姓名
@ApiModelProperty("司机手机号")
private String driverMobile; //司机手机号
@ApiModelProperty("运单编号")
private String childNo; //运单编号
@ApiModelProperty("投诉类型id")
private Integer complaintTypeId; //投诉类型id
@ApiModelProperty("投诉类型名称")
private String name; //投诉类型名称
@ApiModelProperty("问题描述")
private String content; //问题描述
@ApiModelProperty("图片字符串")
private String picture; //图片
@ApiModelProperty("图片集合")
private List<String> pictureList; //图片集合
@ApiModelProperty("创建时间")
private String createTime; //创建时间
}
package com.clx.performance.vo.pc.customer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName CustomerComplaintTypeVO
* @Description
* @Author kavin
* @Date 2023/12/7 11:42
* @Version 1.0
*/
@Getter
@Setter
public class CustomerComplaintTypeVO {
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("投诉类型名称")
private String name; //投诉类型名称
@ApiModelProperty("创建时间")
private String createTime; //创建时间
@ApiModelProperty("最后编辑时间")
private String modifiedTime; //修改时间
}
...@@ -45,6 +45,12 @@ ...@@ -45,6 +45,12 @@
<artifactId>user-api</artifactId> <artifactId>user-api</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.clx.cy</groupId>
<artifactId>message-api</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.clx.cy</groupId> <groupId>com.clx.cy</groupId>
<artifactId>open-sdk</artifactId> <artifactId>open-sdk</artifactId>
...@@ -233,6 +239,22 @@ ...@@ -233,6 +239,22 @@
<artifactId>log-spring-boot-starter</artifactId> <artifactId>log-spring-boot-starter</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.core</groupId>
<artifactId>machineCheckCore</artifactId>
<version>3.0.6</version>
</dependency>
<dependency>
<groupId>com.aliyun.afs</groupId>
<artifactId>machineCheckAfs</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>
......
...@@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableAsync; ...@@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
// @ComponentScan("com.msl.common.utils.*"), // @ComponentScan("com.msl.common.utils.*"),
//}) //})
@ComponentScan({"com.clx.performance.*", "com.msl.*"}) @ComponentScan({"com.clx.performance.*", "com.msl.*"})
@EnableFeignClients(basePackages = {"com.msl.*", "com.clx.performance.*", "com.clx.order.*", "com.clx.user.*"}) @EnableFeignClients(basePackages = {"com.msl.*", "com.clx.performance.*", "com.clx.order.*", "com.clx.user.*", "com.clx.message.*"})
@ViewScan(basePackage = "com.clx.user.view") @ViewScan(basePackage = "com.clx.user.view")
public class PerformanceApplication { public class PerformanceApplication {
......
package com.clx.performance.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface ResetPassword {
//接口名称
String name() default "";
}
package com.clx.performance.aspect;
import cn.hutool.json.JSONUtil;
import com.clx.performance.annotation.ResetPassword;
import com.clx.performance.component.SendMessageMachineCheckComponent;
import com.clx.performance.constant.RedisConstants;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.param.app.CheckMobileParam;
import com.clx.performance.param.app.InformationParam;
import com.clx.performance.param.app.ResetPasswordParam;
import com.clx.performance.param.app.SendMobileCaptchaParam;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Component
@Aspect
public class ResetPasswordAnnotationAop {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Autowired
private SendMessageMachineCheckComponent sendMessageMachineCheckComponent;
@Pointcut("@annotation(com.clx.performance.annotation.ResetPassword)")
private void annotationPointCut() {
}
@Around("annotationPointCut()")
public Object annotationAround(ProceedingJoinPoint jp) throws Throwable {
//获取方法
Method method = ((MethodSignature) jp.getSignature()).getMethod();
// 获取AspectAnnotation注解
ResetPassword aspectAnnotation = method.getAnnotation(ResetPassword.class);
String mobile = "";
String token = "";
String redisVal = "";
switch (aspectAnnotation.name()) {
case "checkMobile":
CheckMobileParam checkMobileParam = JSONUtil.toBean(JSONUtil.parse(jp.getArgs()[0]).toString(), CheckMobileParam.class);
mobile = checkMobileParam.getMobile();
token = checkMobileParam.getToken();
redisVal = redisTemplate.opsForValue().get(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile);
if (!StringUtils.equals(token, redisVal)) {
throw new ServiceSystemException(PerformanceResultEnum.TOKEN_IS_FAIL);
}
break;
case "sendMobileCaptcha":
SendMobileCaptchaParam sendMobileCaptchaParam = JSONUtil.toBean(JSONUtil.parse(jp.getArgs()[0]).toString(), SendMobileCaptchaParam.class);
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
sendMessageMachineCheckComponent.sendMessageMachineSelectCheck(request, sendMobileCaptchaParam);
mobile = sendMobileCaptchaParam.getMobile();
String content = redisTemplate.opsForValue().get(RedisConstants.MESSAGE_MOBILE_CAPTCHA + mobile);
if (StringUtils.isNoneBlank(content)) {
token = UUID.randomUUID().toString();
redisTemplate.opsForValue().set(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, token);
redisTemplate.expire(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, 60, TimeUnit.SECONDS);
return Result.ok(token);
}
break;
case "checkBusinessLicenseNumber":
InformationParam informationParam = JSONUtil.toBean(JSONUtil.parse(jp.getArgs()[0]).toString(), InformationParam.class);
mobile = informationParam.getMobile();
token = informationParam.getToken();
redisVal = redisTemplate.opsForValue().get(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile);
if (!StringUtils.equals(token, redisVal)) {
throw new ServiceSystemException(PerformanceResultEnum.TOKEN_IS_FAIL);
}
break;
case "resetPassword":
ResetPasswordParam resetPasswordParam = JSONUtil.toBean(JSONUtil.parse(jp.getArgs()[0]).toString(), ResetPasswordParam.class);
mobile = resetPasswordParam.getMobile();
token = resetPasswordParam.getToken();
redisVal = redisTemplate.opsForValue().get(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile);
if (!StringUtils.equals(token, redisVal)) {
throw new ServiceSystemException(PerformanceResultEnum.TOKEN_IS_FAIL);
}
break;
default:
throw new RuntimeException();
}
//执行方法前
Object returnVal = null;
returnVal = jp.proceed();
if (!StringUtils.equals(aspectAnnotation.name(), "resetPassword")) {
Result result = JSONUtil.toBean(JSONUtil.parse(returnVal).toString(), Result.class);
redisTemplate.opsForValue().set(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, result.getData().toString());
redisTemplate.expire(RedisConstants.MESSAGE_RESET_PASSWORD_TOKEN + mobile, 60, TimeUnit.SECONDS);
}
return returnVal;
}
}
package com.clx.performance.component; package com.clx.performance.component;
import cn.hutool.core.util.StrUtil;
import com.clx.performance.constant.RedisConstants; import com.clx.performance.constant.RedisConstants;
import com.clx.performance.dao.OrderGoodsDriverTruckDao; import com.clx.performance.dao.OrderGoodsDriverTruckDao;
import com.clx.performance.dao.OrderGoodsTruckBindDao; import com.clx.performance.dao.OrderGoodsTruckBindDao;
...@@ -10,11 +9,15 @@ import com.clx.performance.model.OrderGoodsTruckBind; ...@@ -10,11 +9,15 @@ import com.clx.performance.model.OrderGoodsTruckBind;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -95,4 +98,22 @@ public class GoodsOrderTruckRecordComponent { ...@@ -95,4 +98,22 @@ public class GoodsOrderTruckRecordComponent {
orderGoodsTruckBindDao.updateOrderGoodsBindStatusExpire(orderGoodsNo, truckNo); orderGoodsTruckBindDao.updateOrderGoodsBindStatusExpire(orderGoodsNo, truckNo);
} }
//货单剩余吨数低于35吨时,自动恢复到订单,并释放未接单车辆
public void releaseOrderGoodsDriverAndTruck(String orderGoodsNo) {
List<OrderGoodsTruckBind> truckBindList = orderGoodsTruckBindDao.selectListByOrderGoodsNo(orderGoodsNo);
List<Integer> ids = new ArrayList<>();
for (OrderGoodsTruckBind bind : truckBindList) {
if (Objects.equals(OrderGoodsTruckBindEnum.Status.NORMAL.getCode(),bind.getStatus())) {
ids.add(bind.getId());
this.deleteTruckRecord(orderGoodsNo, bind.getTruckNo());
}
}
//释放车辆bind
if(CollectionUtils.isNotEmpty(ids)){
log.info("定向单进行车辆释放,货单编号:{},释放的绑定车辆的id集合:{}",orderGoodsNo,ids);
orderGoodsTruckBindDao.updateTruckBindExpire(ids);
}
}
} }
package com.clx.performance.component;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.OwnerSettlementSyncParam;
import com.clx.user.feign.OwnerFeign;
import com.msl.common.dto.HttpDTO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.LinkedList;
import java.util.List;
@Component
@Slf4j
@AllArgsConstructor
public class NetworkSyncComponent {
private final TransportFeignService transportFeignService;
private final OwnerFeign ownerFeign;
public void ownerSettlementSync(SettlementOwner settlementOwner, List<SettlementOwnerDetail> settlementOwnerDetailList){
//TODO 通知网络货运做货主计费开票标识通知
OwnerSettlementSyncParam param = new OwnerSettlementSyncParam();
String mobile = ownerFeign.getOwnerInfo(settlementOwner.getOwnerUserNo()).getData().getMobile();
param.setOwnerMobile(mobile);
List<OwnerSettlementSyncParam.SettlementItem> settlementList = new LinkedList<>();
for (SettlementOwnerDetail settlementOwnerDetail : settlementOwnerDetailList) {
String childNo = settlementOwnerDetail.getChildNo();
OwnerSettlementSyncParam.SettlementItem item = new OwnerSettlementSyncParam.SettlementItem();
item.setChildNo(childNo);
item.setSettlementNo(settlementOwnerDetail.getSettlementNo());
settlementList.add(item);
}
param.setSettlementList(settlementList);
HttpDTO httpDTO = transportFeignService.ownerSettlementSync(param);
String decrypt = ThirdComponent.decrypt(httpDTO.getData());
log.info("通知网络货运做货主计费开票标识通知请求解密后:{}", decrypt);
}
}
...@@ -136,6 +136,11 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -136,6 +136,11 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
} else { } else {
OrderGoods update = new OrderGoods();
update.setId(orderGoods.getId());
update.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.COMPLETED.getCode());
//大于35吨的归还吨数在这里处理
if(orderGoods.getResidueTransportWeight().compareTo(new BigDecimal("35")) >= 0){
RollbackOrderWeightParam param = new RollbackOrderWeightParam(); RollbackOrderWeightParam param = new RollbackOrderWeightParam();
param.setOrderNo(orderGoods.getOrderNo()); param.setOrderNo(orderGoods.getOrderNo());
param.setResidueWeight(orderGoods.getResidueTransportWeight()); param.setResidueWeight(orderGoods.getResidueTransportWeight());
...@@ -153,9 +158,11 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean { ...@@ -153,9 +158,11 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
} }
} }
orderFeign.rollbackOrderWeight(param); orderFeign.rollbackOrderWeight(param);
//更新剩余吨数
update.setResidueTransportWeight(BigDecimal.ZERO);
}
//更新已完结 //更新已完结
orderGoodsDao.updateOrderGoodsStatusByOrderGoodsNo(orderGoodsNo, OrderGoodsStatusEnum.Status.COMPLETED.getCode()); orderGoodsDao.updateEntityByKey(update);
log.info("删除redis ORDER_GOODS_STATUS_LAZY id: {}", orderGoodsId.getValue()); log.info("删除redis ORDER_GOODS_STATUS_LAZY id: {}", orderGoodsId.getValue());
} }
orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.EXPIRE.getCode()); orderGoodsTruckBindDao.updateOrderGoodsBindStatus(orderGoodsNo, OrderGoodsTruckBindEnum.Status.EXPIRE.getCode());
......
package com.clx.performance.component;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.afs.model.v20180112.AuthenticateSigRequest;
import com.aliyuncs.afs.model.v20180112.AuthenticateSigResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import com.clx.performance.config.AliSliderConfig;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.param.app.SendMobileCaptchaParam;
import com.msl.common.exception.ServiceSystemException;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
/**
* @author cuiwanzhe
* @description
* @date 2020/9/1 4:58 下午
*/
@Service
@Slf4j
@AllArgsConstructor
public class SendMessageMachineCheckComponent {
private final AliSliderConfig aliSliderConfig;
/**
* 滑动验证
*
* @throws
*/
public void sendMessageMachineSelectCheck(HttpServletRequest request, SendMobileCaptchaParam param) throws ServiceSystemException {
if (StringUtils.isBlank(param.getSessionId())) {
throw new ServiceSystemException(PerformanceResultEnum.SLIDER_CHECK_FAIL);
}
if (StringUtils.isBlank(param.getSig())) {
throw new ServiceSystemException(PerformanceResultEnum.SLIDER_CHECK_FAIL);
}
if (StringUtils.isBlank(param.getToken())) {
throw new ServiceSystemException(PerformanceResultEnum.SLIDER_CHECK_FAIL);
}
if (StringUtils.isBlank(param.getScene())) {
throw new ServiceSystemException(PerformanceResultEnum.SLIDER_CHECK_FAIL);
}
Integer responseCode = machineCheckSelect(request, param);
if (responseCode >= 400) {
throw new ServiceSystemException(PerformanceResultEnum.SLIDER_CHECK_FAIL);
}
}
private Integer machineCheckSelect(HttpServletRequest req, SendMobileCaptchaParam param) {
Integer resultCode = null;
IClientProfile profile = DefaultProfile.getProfile(aliSliderConfig.getRegionId(), aliSliderConfig.getAccessKeyId(), aliSliderConfig.getAccessKeySecret());
IAcsClient client = new DefaultAcsClient(profile);
try {
DefaultProfile.addEndpoint(aliSliderConfig.getRegionId(), aliSliderConfig.getRegionId(), aliSliderConfig.getProduct(), aliSliderConfig.getDomain());
} catch (ClientException e) {
e.printStackTrace();
}
String ip = getIpAddress(req);
log.info("=滑动验证=mobile==========>>" + param.getMobile() + "==sessionId========>>" + param.getSessionId() + "==sig=====>>>" + param.getSig() +
"==token=====>>>" + param.getToken() + "==scene=====>>>" + param.getScene() + "==ip=====>>>" + ip);
AuthenticateSigRequest request = new AuthenticateSigRequest();
request.setSessionId(param.getSessionId());// 会话ID。必填参数,从前端获取,不可更改。
request.setSig(param.getSig());// 签名串。必填参数,从前端获取,不可更改。
request.setToken(param.getToken());// 请求唯一标识。必填参数,从前端获取,不可更改。
request.setScene(param.getScene());// 场景标识。必填参数,从前端获取,不可更改。
request.setAppKey("FFFF0N00000000009691");// 应用类型标识。必填参数,后端填写。
request.setRemoteIp(ip);// 客户端IP。必填参数,后端填写。
try {
//response的code枚举:100验签通过,900验签失败
AuthenticateSigResponse response = client.getAcsResponse(request);
resultCode = response.getCode();
// TODO
} catch (Exception e) {
e.printStackTrace();
}
return resultCode;
}
/**
* 获取客户端IP地址
*
* @param request
* @return
*/
private String getIpAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknow".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
if (ip.equals("127.0.0.1")) {
//根据网卡取本机配置的IP
InetAddress inet = null;
try {
inet = InetAddress.getLocalHost();
} catch (Exception e) {
e.printStackTrace();
}
ip = inet.getHostAddress();
}
}
// 多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
if (ip != null && ip.length() > 15) {
if (ip.indexOf(",") > 0) {
ip = ip.substring(0, ip.indexOf(","));
}
}
return ip;
}
}
package com.clx.performance.component;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.msl.common.dto.HttpDTO;
import com.msl.common.result.Result;
import com.msl.common.utils.EncryptUtil;
import com.msl.common.utils.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import java.security.GeneralSecurityException;
@Slf4j
public class ThirdComponent {
public static final String TRANSPORT_USER = "13403503399";
public static final String TRANSPORT_KEY = "9Y1N5AUP8N2TI359";
public static String encrypt(String param){
HttpDTO httpDTO = null;
try {
httpDTO = EncryptUtil.buildDTO(TRANSPORT_USER, param, TRANSPORT_KEY, System.currentTimeMillis());
} catch (GeneralSecurityException e) {
throw new RuntimeException(e);
}
return JSONUtil.parse(httpDTO).toString();
}
public static String decrypt(String data) {
try {
String decrypt = EncryptUtil.decrypt(data, TRANSPORT_KEY);
log.info("解密:{}", decrypt);
return decrypt;
} catch (GeneralSecurityException e) {
throw new RuntimeException(e);
}
}
}
package com.clx.performance.config;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Getter
@Setter
@ConfigurationProperties(prefix = "ali.slider")
public class AliSliderConfig {
private String accessKeyId;
private String accessKeySecret;
private String regionId;
private String product;
private String domain;
}
package com.clx.performance.config;
import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Getter
@Setter
@ConfigurationProperties(prefix = "clx.message")
public class ClxMessageConfig {
//应用ID
private Long appId;
//渠道ID
private Integer channelId;
//短信验证码模板
private String captchaTemplateCode;
}
...@@ -42,84 +42,31 @@ public class RabbitBeanConfig { ...@@ -42,84 +42,31 @@ public class RabbitBeanConfig {
@Bean @Bean
public Queue orderOnQueue() { public Queue orderOnQueue() {
Map<String, Object> params = new HashMap<>(6); return new Queue(RabbitKeyConstants.ORDER_ON_QUEUE, true, false, false);
params.put("x-dead-letter-exchange", RabbitKeyConstants.ORDER_ON_DEAD_EXCHANGE);
params.put("x-dead-letter-routing-key", RabbitKeyConstants.ORDER_ON_DEAD_ROUTE_KEY);
return new Queue(RabbitKeyConstants.ORDER_ON_QUEUE, true, false, false, params);
} }
/** /**
* 订单挂单中交换机 * 订单挂单中交换机
**/ **/
@Bean @Bean
public DirectExchange orderOnExchange() { public CustomExchange orderOnExchange() {
return new DirectExchange(RabbitKeyConstants.ORDER_ON_EXCHANGE); Map<String, Object> arguments = new HashMap<>();
//设置路由模式 direct模式
arguments.put("x-delayed-type", "direct");
return new CustomExchange(RabbitKeyConstants.ORDER_ON_EXCHANGE,"x-delayed-message", true, false, arguments);
} }
/** /**
* 订单挂单中绑定 * 订单挂单中绑定
*/ */
@Bean @Bean
public Binding orderOnExchangeBind() { public Binding orderOnExchangeBind(@Qualifier("orderOnQueue")Queue queue,@Qualifier("orderOnExchange")CustomExchange customExchange) {
return BindingBuilder.bind(orderOnQueue()).to(orderOnExchange()).with(RabbitKeyConstants.ORDER_ON_ROUTE_KEY); return BindingBuilder.bind(queue).to(customExchange).with(RabbitKeyConstants.ORDER_ON_ROUTE_KEY).noargs();
} }
/**
* 死信队列:死信队列处理延迟消息
* @return
*/
@Bean
public Queue orderOnDeadQueue() {
return new Queue(RabbitKeyConstants.ORDER_ON_DEAD_QUEUE, true, false, false);
}
/** /**
* 订单挂单中交换机:死信队列处理延迟消息 * 处理延迟消息货单挂单
**/
@Bean
public DirectExchange orderOnDeadExchange() {
return new DirectExchange(RabbitKeyConstants.ORDER_ON_DEAD_EXCHANGE);
}
/**
* 订单挂单中绑定:死信队列处理延迟消息
*/
@Bean
public Binding orderDeadExchangeBind() {
return BindingBuilder.bind(orderOnDeadQueue()).to(orderOnDeadExchange()).with(RabbitKeyConstants.ORDER_ON_DEAD_ROUTE_KEY);
}
/**
// * 货单挂单队列
// * @return
// */
// @Bean
// public Queue orderGoodsOnQueue() {
// Map<String, Object> params = new HashMap<>(6);
// params.put("x-dead-letter-exchange", RabbitKeyConstants.ORDER_GOODS_ON_DEAD_EXCHANGE);
// params.put("x-dead-letter-routing-key", RabbitKeyConstants.ORDER_GOODS_ON_DEAD_ROUTE_KEY);
// return new Queue(RabbitKeyConstants.ORDER_GOODS_ON_QUEUE, true, false, false, params);
// }
//
// /**
// * 货单挂单中交换机
// **/
// @Bean
// public DirectExchange orderGoodsOnExchange() {
// return new DirectExchange(RabbitKeyConstants.ORDER_GOODS_ON_EXCHANGE);
// }
//
// /**
// * 货单挂单中绑定
// */
// @Bean
// public Binding orderGoodsOnExchangeBind() {
// return BindingBuilder.bind(orderGoodsOnQueue()).to(orderGoodsOnExchange()).with(RabbitKeyConstants.ORDER_GOODS_ON_ROUTE_KEY);
// }
/**
* 死信队列:死信队列处理延迟消息货单挂单
* @return * @return
*/ */
@Bean @Bean
...@@ -128,7 +75,7 @@ public class RabbitBeanConfig { ...@@ -128,7 +75,7 @@ public class RabbitBeanConfig {
} }
/** /**
* 货单挂单中交换机:死信队列处理延迟消息 * 货单挂单中交换机:处理延迟消息
**/ **/
@Bean @Bean
public CustomExchange orderGoodsOnDeadExchange() { public CustomExchange orderGoodsOnDeadExchange() {
...@@ -138,13 +85,6 @@ public class RabbitBeanConfig { ...@@ -138,13 +85,6 @@ public class RabbitBeanConfig {
return new CustomExchange(RabbitKeyConstants.ORDER_GOODS_ON_DEAD_EXCHANGE,"x-delayed-message", true, false, arguments); return new CustomExchange(RabbitKeyConstants.ORDER_GOODS_ON_DEAD_EXCHANGE,"x-delayed-message", true, false, arguments);
} }
/**
* 货单挂单中绑定:死信队列处理延迟消息
*/
// @Bean
// public Binding orderGoodsDeadExchangeBind() {
// return BindingBuilder.bind(orderGoodsOnDeadQueue()).to(orderGoodsOnDeadExchange()).with(RabbitKeyConstants.ORDER_GOODS_ON_DEAD_ROUTE_KEY);
// }
//绑定交换机,队列和routingKey //绑定交换机,队列和routingKey
@Bean @Bean
public Binding delayedQueueBindingDelayedExchange(@Qualifier("orderGoodsOnDeadQueue")Queue queue,@Qualifier("orderGoodsOnDeadExchange")CustomExchange customExchange) { public Binding delayedQueueBindingDelayedExchange(@Qualifier("orderGoodsOnDeadQueue")Queue queue,@Qualifier("orderGoodsOnDeadExchange")CustomExchange customExchange) {
......
...@@ -39,6 +39,9 @@ public class RabbitKeyConstants { ...@@ -39,6 +39,9 @@ public class RabbitKeyConstants {
//承运订单同步一部 需要手动创建对列交换机 //承运订单同步一部 需要手动创建对列交换机
public static final String CLX_PERFORMANCE_ORDER_CHILD_QUEUE = "clx_performance.order_child_queue"; public static final String CLX_PERFORMANCE_ORDER_CHILD_QUEUE = "clx_performance.order_child_queue";
//承运货单监听 需要手动创建对列交换机
public static final String CLX_PERFORMANCE_ORDER_GOODS_QUEUE = "clx_performance.order_goods_queue";
public static final String ORDER_GOODS_ON_QUEUE ="clx-order.order.goods.on.queue"; public static final String ORDER_GOODS_ON_QUEUE ="clx-order.order.goods.on.queue";
public static final String ORDER_GOODS_ON_EXCHANGE ="clx-order.order.goods.on.exchange"; public static final String ORDER_GOODS_ON_EXCHANGE ="clx-order.order.goods.on.exchange";
...@@ -58,4 +61,13 @@ public class RabbitKeyConstants { ...@@ -58,4 +61,13 @@ public class RabbitKeyConstants {
public static final String ORDER_CANCEL_ROUTE_KEY ="clx-order.order.cancel.route.key"; public static final String ORDER_CANCEL_ROUTE_KEY ="clx-order.order.cancel.route.key";
public static final String ORDER_LARGE_SCREEN_QUEUE ="clx-order.order.large.screen.queue";
// 预付运费和保证金 自动冻结 触发消息队列
public static final String FREEZE_TRIGGER_EXCHANGE = "clx-order.freeze.trigger.exchange";
public static final String FREEZE_TRIGGER_QUEUE = "clx-order.freeze.trigger.queue";
public static final String FREEZE_TRIGGER_ROUTING_KEY = "clx-order.freeze.trigger.routing.key";
} }
...@@ -31,4 +31,9 @@ public class RedisConstants { ...@@ -31,4 +31,9 @@ public class RedisConstants {
* 雪花 * 雪花
*/ */
public static final String ID_SNOWFLAKE = "clx-performance:idsnowflake"; public static final String ID_SNOWFLAKE = "clx-performance:idsnowflake";
public static final String MESSAGE_MOBILE_CAPTCHA = "message:mobile:captcha:";
public static final String MESSAGE_RESET_PASSWORD_TOKEN = "message:resetpassword:token:";
} }
...@@ -5,5 +5,9 @@ public class RedissonConstants { ...@@ -5,5 +5,9 @@ public class RedissonConstants {
// 接单锁 // 接单锁
public static final String ORDER_CHILD_SAVE_USER_TRUCK_LOCK = "clx-performance:orderChild:save:userTruck:"; public static final String ORDER_CHILD_SAVE_USER_TRUCK_LOCK = "clx-performance:orderChild:save:userTruck:";
public static final String ORDER_CHILD_SAVE_ORDER_GOODS_NO_LOCK = "clx-performance:orderChild:save:orderGoodsNo:"; public static final String ORDER_CHILD_SAVE_ORDER_GOODS_NO_LOCK = "clx-performance:orderChild:save:orderGoodsNo:";
//货主结算单支付锁
public static final String SETTLEMENT_OWNER_BATCH_PAY_ID_LOCK = "clx-performance:settlementOwner:batchPay:id:";
//货主违约结算单支付锁
public static final String BREAK_CONTRACT_SETTLEMENT_OWNER_BATCH_PAY_ID_LOCK = "clx-performance:breakContractSettlementOwner:batchPay:id:";
} }
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.NetworkDriverPageParam;
import com.clx.performance.service.settle.NetworkDriverAccountService;
import com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService;
import com.clx.performance.vo.app.APPNetworkDriverRunningWaterRecordVO;
import com.clx.user.vo.feign.WalletResidueCardVO;
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.*;
@Slf4j
@RestController
@RequestMapping("/app/driver")
@Validated
@AllArgsConstructor
@Api(tags = "APP-司机资金管理")
public class AppDriverAccountController {
private final NetworkDriverAccountService networkDriverAccountService;
private final NetworkDriverRunningWaterRecordService networkDriverRunningWaterRecordService;
@ApiOperation(value = "APP司机账户", notes = "<br>By:胡宇帆")
@GetMapping("/account")
@UnitCovert(param = false)
public Result<WalletResidueCardVO> account(@RequestParam(value = "userCode") Integer userCode) {
WalletResidueCardVO walletResidueCardVO = networkDriverAccountService.account(userCode);
return Result.ok(walletResidueCardVO);
}
@ApiOperation(value = "APP司机账户冻结明细", notes = "<br>By:胡宇帆")
@PostMapping("/frozenList")
@UnitCovert(param = false)
public Result<PageData<APPNetworkDriverRunningWaterRecordVO>> frozenList(@RequestBody NetworkDriverPageParam param) {
IPage<APPNetworkDriverRunningWaterRecordVO> page = networkDriverRunningWaterRecordService.pageFrozenList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "APP司机账户流水明细", notes = "<br>By:胡宇帆")
@PostMapping("/runningWaterList")
@UnitCovert(param = false)
public Result<PageData<APPNetworkDriverRunningWaterRecordVO>> runningWaterList(@RequestBody NetworkDriverPageParam param) {
IPage<APPNetworkDriverRunningWaterRecordVO> page = networkDriverRunningWaterRecordService.runningWaterList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
...@@ -5,6 +5,7 @@ import com.clx.performance.param.app.*; ...@@ -5,6 +5,7 @@ import com.clx.performance.param.app.*;
import com.clx.performance.service.OrderChildService; import com.clx.performance.service.OrderChildService;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.base.PageParam;
import com.msl.common.convertor.aspect.UnitCovert; import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -174,4 +175,11 @@ public class AppDriverOrderChildController { ...@@ -174,4 +175,11 @@ public class AppDriverOrderChildController {
return Result.ok(orderChildService.getGoingLatestOrderChild()); return Result.ok(orderChildService.getGoingLatestOrderChild());
} }
@ApiOperation(value = "客诉运单列表", notes = "<br>By:刘海泉")
@PostMapping("/pageCustomerComplaintOrderChild")
public Result<PageData<CustomerComplaintOrderChildVO>> pageCustomerComplaintOrderChild(@RequestBody @Validated PageParam param) {
IPage<CustomerComplaintOrderChildVO> page = orderChildService.pageCustomerComplaintOrderChild(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
} }
...@@ -3,6 +3,7 @@ package com.clx.performance.controller.app; ...@@ -3,6 +3,7 @@ package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.OrderGoodsMapper; import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.app.AppGoodsOrderSearchParam;
import com.clx.performance.param.app.OrderGoodsListPageParam; import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.service.OrderGoodsService; import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.service.OrderGoodsTruckBindService; import com.clx.performance.service.OrderGoodsTruckBindService;
...@@ -61,6 +62,15 @@ public class AppGoodsOrderController { ...@@ -61,6 +62,15 @@ public class AppGoodsOrderController {
} }
@ApiOperation(value = "APP首页搜索", notes = "<br>By:胡宇帆")
@PostMapping("/indexOrderGoodsListSearch")
@UnitCovert(param = false)
public Result<PageData<OrderGoodsAPPVO>> indexOrderGoodsListSearch(@RequestBody AppGoodsOrderSearchParam param) {
IPage<OrderGoodsAPPVO> page = orderGoodsService.indexOrderGoodsListSearch(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "司机端无接单位置上报", notes = "<br>By:胡宇帆") @ApiOperation(value = "司机端无接单位置上报", notes = "<br>By:胡宇帆")
@GetMapping("/getCancelOrderGoods") @GetMapping("/getCancelOrderGoods")
public Result<List<OrderGoodsAPPVO>> getCancelOrderGoods(@RequestParam(value = "userNo") Long userNo) { public Result<List<OrderGoodsAPPVO>> getCancelOrderGoods(@RequestParam(value = "userNo") Long userNo) {
......
package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.annotation.ResetPassword;
import com.clx.performance.param.app.CheckMobileParam;
import com.clx.performance.param.app.InformationParam;
import com.clx.performance.param.app.ResetPasswordParam;
import com.clx.performance.param.app.SendMobileCaptchaParam;
import com.clx.performance.param.pc.PageAppPrepaidFreightAccountParam;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO;
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.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("/app/owner")
@Validated
@AllArgsConstructor
@Api(tags = "APP-货主资金管理")
public class AppOwnerAccountController {
private final OwnerAccountService ownerAccountService;
@ApiOperation(value = "APP货主流水", notes = "<br>By:胡宇帆")
@PostMapping("/prepaidFreightOwnerAccountPageList")
@UnitCovert(param = false)
public Result<PageData<OwnerAccountRunningWaterRecordVO>> prepaidFreightOwnerAccountPageList(@RequestBody PageAppPrepaidFreightAccountParam param) {
IPage<OwnerAccountRunningWaterRecordVO> page = ownerAccountService.prepaidFreightOwnerAccountPageList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "发送手机验证码", notes = "<br>By:胡宇帆")
@PostMapping("/sendMobileCaptcha")
@ResetPassword(name = "sendMobileCaptcha")
public Result<String> sendMobileCaptcha(@RequestBody SendMobileCaptchaParam param) {
String token = ownerAccountService.sendMobileCaptcha(param);
return Result.ok(token);
}
@ApiOperation(value = "验证手机号验证码", notes = "<br>By:胡宇帆")
@PostMapping("/checkMobile")
@ResetPassword(name = "checkMobile")
public Result<String> checkMobile(@RequestBody CheckMobileParam param) {
String token = ownerAccountService.checkMobile(param);
return Result.ok(token);
}
@ApiOperation(value = "验证营业执照编号", notes = "<br>By:胡宇帆")
@PostMapping("/checkBusinessLicenseNumber")
@ResetPassword(name = "checkBusinessLicenseNumber")
public Result<String> checkBusinessLicenseNumber(@RequestBody InformationParam param) {
String token = ownerAccountService.checkBusinessLicenseNumber(param);
return Result.ok(token);
}
@ApiOperation(value = "修改交易密码", notes = "<br>By:胡宇帆")
@PostMapping("/resetPassword")
@ResetPassword(name = "resetPassword")
public Result<Object> resetPassword(@RequestBody ResetPasswordParam param) {
ownerAccountService.resetPassword(param);
return Result.ok();
}
}
package com.clx.performance.controller.feign;
import cn.hutool.json.JSONUtil;
import com.clx.performance.param.pc.driver.NetworkDriverAccountParam;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.settle.NetworkDriverAccountService;
import com.msl.common.result.Result;
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("/feign/driver")
@Validated
@AllArgsConstructor
public class DriverAccountFeignController {
private final NetworkDriverAccountService networkDriverAccountService;
@ApiOperation(value = "创建司机网络货运账户", notes = "<br>By:胡宇帆")
@PostMapping("/createNetworkDriverAccount")
public Result<Object> createNetworkDriverAccount(@RequestBody NetworkDriverAccountParam param) {
log.info("进行创建司机网络货运账户,相关参数{}", JSONUtil.parse(param).toString());
networkDriverAccountService.createNetworkDriverAccount(param);
return Result.ok();
}
}
...@@ -5,6 +5,7 @@ import com.clx.performance.model.OrderChild; ...@@ -5,6 +5,7 @@ import com.clx.performance.model.OrderChild;
import com.clx.performance.service.LastTruckService; import com.clx.performance.service.LastTruckService;
import com.clx.performance.service.OrderChildService; import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.child.FeignOrderChildService; import com.clx.performance.service.child.FeignOrderChildService;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO; import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -30,6 +31,8 @@ public class OrderChildFeignController { ...@@ -30,6 +31,8 @@ public class OrderChildFeignController {
private final LastTruckService lastTruckService; private final LastTruckService lastTruckService;
private final SettlementOwnerDetailService settlementOwnerDetailService;
@GetMapping({"/getOrderChildTotalByUserNo"}) @GetMapping({"/getOrderChildTotalByUserNo"})
Integer getTrucksByOrderGoodsNo(@RequestParam("userNo") @NotNull(message = "用户编号不可为空") Long userNo) { Integer getTrucksByOrderGoodsNo(@RequestParam("userNo") @NotNull(message = "用户编号不可为空") Long userNo) {
...@@ -53,6 +56,16 @@ public class OrderChildFeignController { ...@@ -53,6 +56,16 @@ public class OrderChildFeignController {
} }
} }
@GetMapping({"/selectInTransitOrderChildLtUnsettle"})
Result<Boolean> selectInTransitOrderChildLtUnsettle(@RequestParam("orderNo") String orderNo) {
List<OrderChild> orderChildren = orderChildService.selectInTransitOrderChildLtUnsettle(orderNo);
if (CollectionUtil.isNotEmpty(orderChildren)) {
return Result.ok(true);
} else {
return Result.ok(false);
}
}
@ApiOperation(value = "线路运单统计", notes = "<br>By:艾庆国") @ApiOperation(value = "线路运单统计", notes = "<br>By:艾庆国")
@RequestMapping(value = "/lineStatistics", method = RequestMethod.GET) @RequestMapping(value = "/lineStatistics", method = RequestMethod.GET)
Result<OrderChildLineStatisticsVO> lineStatistics(@RequestParam @NotNull(message = "发货地址不可为空") Integer sendSystemAddressId, Result<OrderChildLineStatisticsVO> lineStatistics(@RequestParam @NotNull(message = "发货地址不可为空") Integer sendSystemAddressId,
...@@ -69,4 +82,10 @@ public class OrderChildFeignController { ...@@ -69,4 +82,10 @@ public class OrderChildFeignController {
} }
@ApiOperation(value = "获取当前订单是否有存在网运单", notes = "<br>By:胡宇帆")
@GetMapping({"/getInvoiceType"})
Result<Integer> getInvoiceType(@RequestParam("orderNo") @NotNull(message = "订单编号不能为空") String orderNo) {
return Result.ok(settlementOwnerDetailService.getInvoiceType(orderNo));
}
} }
package com.clx.performance.controller.feign;
import cn.hutool.core.collection.CollectionUtil;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull;
import java.util.List;
@RestController
@RequestMapping("/feign/settlement")
@Validated
@Api(tags = "货单Feign")
@AllArgsConstructor
public class SettlementFeignController {
private final SettlementOwnerDetailService settlementOwnerDetailService;
@GetMapping({"/thawAndLockSettlement"})
Result<Boolean> selectListByOrderNo(@RequestParam("orderNo") @NotNull(message = "订单号不能为空") String orderNo) {
return Result.ok(settlementOwnerDetailService.thawAndLockSettlement(orderNo));
}
}
package com.clx.performance.controller.pc;
import cn.hutool.json.JSONUtil;
import com.clx.performance.service.LargeScreenService;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull;
@Slf4j
@RestController
@RequestMapping("/pc/largescreen")
@Validated
@AllArgsConstructor
@Api(tags = "PC-大屏")
public class LargeScreenController {
private final LargeScreenService largeScreenService;
@ApiOperation(value = "空车列表", notes = "<br>By:胡宇帆")
@GetMapping("/emptyCarList")
public String emptyCarList() {
return JSONUtil.toJsonStr(largeScreenService.emptyCarList());
}
@ApiOperation(value = "重车列表", notes = "<br>By:胡宇帆")
@GetMapping("/weightCarList")
public String weightCarList() {
return JSONUtil.toJsonStr(largeScreenService.weightCarList());
}
@ApiOperation(value = "收货地址", notes = "<br>By:胡宇帆")
@GetMapping("/receiveAddress")
public String receiveAddress(@RequestParam(value = "addressId")@NotNull Integer addressId) {
return largeScreenService.receiveAddress(addressId);
}
@ApiOperation(value = "发货地址", notes = "<br>By:胡宇帆")
@GetMapping("/sendAddress")
public String sendAddress(@RequestParam(value = "addressId") @NotNull Integer addressId) {
return largeScreenService.sendAddress(addressId);
}
@ApiOperation(value = "线路", notes = "<br>By:胡宇帆")
@GetMapping("/lineString")
public String lineString(@RequestParam(value = "addressId")@NotNull Integer addressId) {
return largeScreenService.routeLine(addressId);
}
}
\ No newline at end of file
...@@ -2,26 +2,27 @@ package com.clx.performance.controller.pc; ...@@ -2,26 +2,27 @@ package com.clx.performance.controller.pc;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.param.pc.ArtificialCancelOrderParam; import com.clx.performance.param.pc.ArtificialCancelOrderParam;
import com.clx.performance.param.pc.OrderCancelParam; import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.param.pc.OrderChildCancelRecordParam; import com.clx.performance.param.pc.OrderChildCancelRecordParam;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.service.OrderCancelService; import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.TransportSyncService;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.base.PageParam;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping(value="/pc/order/") @RequestMapping(value="/pc/order/")
...@@ -32,6 +33,7 @@ public class OrderCancelController { ...@@ -32,6 +33,7 @@ public class OrderCancelController {
private final OrderCancelService orderCancelService; private final OrderCancelService orderCancelService;
@ApiOperation(value = "承运端取消订单", notes = "<br>By:胡宇帆") @ApiOperation(value = "承运端取消订单", notes = "<br>By:胡宇帆")
@PostMapping("/platformCancelOrderPre") @PostMapping("/platformCancelOrderPre")
public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) { public Result<Object> platformCancelOrderPre(@RequestBody OrderCancelParam param) {
...@@ -67,4 +69,6 @@ public class OrderCancelController { ...@@ -67,4 +69,6 @@ public class OrderCancelController {
IPage<OrderChildVO> page = orderCancelService.orderChildCancelRecord(param); IPage<OrderChildVO> page = orderCancelService.orderChildCancelRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
} }
} }
package com.clx.performance.controller.pc.breakcontract.carrier; package com.clx.performance.controller.pc.breakcontract.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BatchUpdatePayDriverBreakContractSettlementParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam; import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam;
import com.clx.performance.service.breakcontract.BreakContractSettlementDriverService; import com.clx.performance.service.breakcontract.BreakContractSettlementDriverService;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementDriverDetailVO; import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementDriverDetailVO;
...@@ -58,4 +59,12 @@ public class CarrierBreakContractSettlementDriverController { ...@@ -58,4 +59,12 @@ public class CarrierBreakContractSettlementDriverController {
return Result.ok(breakContractSettlementDriverService.getDetailBySettlementNo(settlementNo)); return Result.ok(breakContractSettlementDriverService.getDetailBySettlementNo(settlementNo));
} }
@ApiOperation(value = "批量结算车主违约结算单",notes = "<br>By:刘海泉")
@PostMapping("/updateBatchPayDriverBreakContractSettlement")
public Result<Object> updateBatchPayDriverBreakContractSettlement(@RequestBody @Validated BatchUpdatePayDriverBreakContractSettlementParam param) {
breakContractSettlementDriverService.updateBatchPayDriverBreakContractSettlement(param);
return Result.ok();
}
} }
package com.clx.performance.controller.pc.carrier; package com.clx.performance.controller.pc.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam; import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.clx.performance.service.settle.SettlementDriverService; import com.clx.performance.service.settle.SettlementDriverService;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO; import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO;
...@@ -36,6 +37,11 @@ public class CarrierSettlementDriverController { ...@@ -36,6 +37,11 @@ public class CarrierSettlementDriverController {
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
} }
@ApiOperation(value = "批量结算车主结算单",notes = "<br>By:刘海泉")
@PostMapping("/updateBatchPayDriverSettlement")
public Result<Object> updateBatchPayDriverSettlement(@RequestBody @Validated BatchUpdatePayDriverSettlementParam param) {
settlementDriverService.updateBatchPayDriverSettlement(param);
return Result.ok();
}
} }
...@@ -111,7 +111,6 @@ public class CarrierSettlementOwnerController { ...@@ -111,7 +111,6 @@ public class CarrierSettlementOwnerController {
@ApiOperation(value = "编辑结算单状态",notes = "<br>By:姜文业") @ApiOperation(value = "编辑结算单状态",notes = "<br>By:姜文业")
@PostMapping("/updateStatusByOrderNo") @PostMapping("/updateStatusByOrderNo")
public Result updateStatusByOrderNo(@RequestBody @Validated UpdateStatusParam param) { public Result updateStatusByOrderNo(@RequestBody @Validated UpdateStatusParam param) {
log.info("履约服务进行结算单状态更改,参数{}", JSONUtil.parse(param));
settlementOwnerService.updateStatusByOrderNo(param.getOrderNo(), param.getSettlementPeriodType(), param.getFromStatus(), param.getToStatus()); settlementOwnerService.updateStatusByOrderNo(param.getOrderNo(), param.getSettlementPeriodType(), param.getFromStatus(), param.getToStatus());
return Result.ok(); return Result.ok();
} }
......
package com.clx.performance.controller.pc.customer;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.customer.PageCustomerComplaintDetailParam;
import com.clx.performance.param.pc.customer.SaveCustomerComplaintDetailParam;
import com.clx.performance.service.customer.CustomerComplaintDetailService;
import com.clx.performance.vo.pc.customer.CustomerComplaintDetailVO;
import com.msl.common.base.PageData;
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;
/**
* @ClassName CustomerComplaintTypeController
* @Description
* @Author kavin
* @Date 2023/12/7 10:44
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/customer/complaint/type")
@Validated
@Api(tags = "客服-投诉详情")
@AllArgsConstructor
public class CustomerComplaintDetailController {
private final CustomerComplaintDetailService customerComplaintDetailService;
@ApiOperation(value = "保存客户投诉",notes = "<br>By:刘海泉")
@PostMapping("/saveCustomerComplaintDetail")
public Result<Object> saveCustomerComplaintDetail(@RequestBody @Validated SaveCustomerComplaintDetailParam param){
customerComplaintDetailService.saveCustomerComplaintDetail(param);
return Result.ok();
}
@ApiOperation(value = "投诉详情列表",notes = "<br>By:刘海泉")
@PostMapping("/pageCustomerComplaintDetail")
public Result<PageData<CustomerComplaintDetailVO>> pageCustomerComplaintDetail(@RequestBody @Validated PageCustomerComplaintDetailParam param){
IPage<CustomerComplaintDetailVO> page = customerComplaintDetailService.pageCustomerComplaintDetail(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.controller.pc.customer;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.customer.PageCustomerComplaintTypeParam;
import com.clx.performance.param.pc.customer.SaveComplaintTypeParam;
import com.clx.performance.service.customer.CustomerComplaintTypeService;
import com.clx.performance.vo.pc.customer.CustomerComplaintTypeVO;
import com.msl.common.base.PageData;
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;
import java.util.List;
/**
* @ClassName CustomerComplaintTypeController
* @Description
* @Author kavin
* @Date 2023/12/7 10:44
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/customer/complaint/type")
@Validated
@Api(tags = "客服-投诉分类")
@AllArgsConstructor
public class CustomerComplaintTypeController {
private final CustomerComplaintTypeService customerComplaintTypeService;
@ApiOperation(value = "保存/更新投诉分类",notes = "<br>By:刘海泉")
@PostMapping("/saveCustomerComplaintType")
public Result<Object> saveCustomerComplaintType(@RequestBody @Validated SaveComplaintTypeParam param){
customerComplaintTypeService.saveCustomerComplaintType(param);
return Result.ok();
}
@ApiOperation(value = "投诉分类列表",notes = "<br>By:刘海泉")
@PostMapping("/pageCustomerComplaintType")
public Result<PageData<CustomerComplaintTypeVO>> pageCustomerComplaintType(@RequestBody @Validated PageCustomerComplaintTypeParam param){
IPage<CustomerComplaintTypeVO> page = customerComplaintTypeService.pageCustomerComplaintType(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "投诉分类下拉选",notes = "<br>By:刘海泉")
@PostMapping("/getCustomerComplaintTypeSelect")
public Result<List<CustomerComplaintTypeVO>> getCustomerComplaintTypeSelect(@RequestBody @Validated PageCustomerComplaintTypeParam param){
List<CustomerComplaintTypeVO> list = customerComplaintTypeService.getCustomerComplaintTypeSelect(param);
return Result.ok(list);
}
}
package com.clx.performance.controller.pc.driver;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.*;
import com.clx.performance.service.settle.NetworkCaseOutRecordService;
import com.clx.performance.service.settle.NetworkDriverAccountService;
import com.clx.performance.service.settle.NetworkDriverRunningWaterRecordService;
import com.clx.performance.vo.pc.*;
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.*;
@Slf4j
@RestController
@RequestMapping("/pc/driver")
@Validated
@AllArgsConstructor
@Api(tags = "PC-车主网络货运")
public class NetworkDriverAccountController {
private final NetworkDriverAccountService networkDriverAccountService;
private final NetworkDriverRunningWaterRecordService networkDriverRunningWaterRecordService;
private final NetworkCaseOutRecordService networkCaseOutRecordService;
@ApiOperation(value = "网络货运账户列表", notes = "<br>By:胡宇帆")
@PostMapping("/networkAccountList")
@UnitCovert(param = false)
public Result<PageData<NetworkDriverAccountVO>> networkAccountList(@RequestBody PageNetworkAccountListParam param) {
IPage<NetworkDriverAccountVO> page = networkDriverAccountService.networkAccountList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "网络货运账户详情", notes = "<br>By:胡宇帆")
@PostMapping("/networkAccountInfoList")
@UnitCovert(param = false)
public Result<PageData<NetworkDriverRunningWaterRecordVO>> networkAccountInfoList(@RequestBody PageNetworkAccountInfoListParam param) {
IPage<NetworkDriverRunningWaterRecordVO> page = networkDriverRunningWaterRecordService.networkDriverRunningWaterRecordList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "车主提现", notes = "<br>By:胡宇帆")
@PostMapping("/networkCaseOutRecord")
@UnitCovert(param = false)
public Result<PageData<NetworkCaseOutRecordVO>> networkCaseOutRecord(@RequestBody PageNetworkCaseOutRecordListParam param) {
IPage<NetworkCaseOutRecordVO> page = networkCaseOutRecordService.networkCaseOutRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
...@@ -166,4 +166,13 @@ public class OwnerAccountController { ...@@ -166,4 +166,13 @@ public class OwnerAccountController {
ownerAccountService.createAccount(param); ownerAccountService.createAccount(param);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "APP货主流水", notes = "<br>By:胡宇帆")
@PostMapping("/prepaidFreightOwnerAccountPageList")
@UnitCovert(param = false)
public Result<PageData<OwnerAccountRunningWaterRecordVO>> prepaidFreightOwnerAccountPageList(@RequestBody PageAppPrepaidFreightAccountParam param) {
param.setUserNo(TokenUtil.getLoginUserInfo().getUserNo());
IPage<OwnerAccountRunningWaterRecordVO> page = ownerAccountService.prepaidFreightOwnerAccountPageList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
} }
package com.clx.performance.controller.pc.transport;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.clx.performance.component.ThirdComponent;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.dto.InvoicingStatusNotifyDTO;
import com.clx.performance.dto.OrderChildSyncDTO;
import com.clx.performance.dto.PayStatusNotifyDTO;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.feign.transport.ThirdOrderChildBrokerParam;
import com.clx.performance.param.feign.transport.ThirdOrderChildRiskStatusParam;
import com.clx.performance.service.TransportSyncService;
import com.clx.performance.service.settle.OrderChildSyncTransportRecordService;
import com.clx.performance.service.settle.SettlementOwnerService;
import com.msl.common.dto.HttpDTO;
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/transport/")
@Validated
@Api(tags = "PC-网络货运相关")
@AllArgsConstructor
public class TransportSyncController {
private final TransportSyncService transportSyncService;
private final OrderChildDao orderChildDao;
private final SettlementOwnerDetailDao settlementOwnerDetailDao;
private final OrderGoodsDao orderGoodsDao;
private final TransportFeignService transportFeignService;
private final SettlementDriverDetailDao settlementDriverDetailDao;
private final OrderChildSyncTransportRecordService orderChildSyncTransportRecordService;
private final SettlementOwnerService settlementOwnerService;
/**
* 支付结果
* @param param
* @return
*/
@ApiOperation(value = "payStatusNotify", notes = "<br>By:胡宇帆")
@PostMapping("/payStatusNotify")
public Object payStatusNotify(@RequestBody String param) {
HttpDTO bean = JSONUtil.toBean(param, HttpDTO.class);
log.info("payStatusNotify 原始报文:{}", bean);
String decrypt = ThirdComponent.decrypt(bean.getData());
log.info("payStatusNotify 解密后:{}", decrypt);
PayStatusNotifyDTO payStatusNotifyDTO = JSONUtil.toBean(decrypt, PayStatusNotifyDTO.class);
log.info("支付回调payStatusNotifyDTO:{}", JSONUtil.parse(payStatusNotifyDTO));
orderChildSyncTransportRecordService.updateStatus(payStatusNotifyDTO);
return ThirdComponent.encrypt(JSON.toJSONString(Result.ok()));
}
/**
* 开票结果
* @param param
* @return
*/
@ApiOperation(value = "invoicingStatusNotify", notes = "<br>By:胡宇帆")
@PostMapping("/invoicingStatusNotify")
public Object invoicingStatusNotify(@RequestBody String param) {
HttpDTO bean = JSONUtil.toBean(param, HttpDTO.class);
log.info("invoicingStatusNotify 原始报文:{}", bean);
String decrypt = ThirdComponent.decrypt(bean.getData());
log.info("invoicingStatusNotify 解密后:{}", decrypt);
InvoicingStatusNotifyDTO invoicingStatusNotifyDTO = JSONUtil.toBean(decrypt, InvoicingStatusNotifyDTO.class);
settlementOwnerService.invoicingStatusNotify(invoicingStatusNotifyDTO);
return ThirdComponent.encrypt(JSON.toJSONString(Result.ok()));
}
/**
* 风控结果
* @param param
* @return
*/
@ApiOperation(value = "riskStatusNotify", notes = "<br>By:艾庆国")
@PostMapping("/riskStatusNotify")
public Object riskStatusNotify(@RequestBody String param) {
HttpDTO bean = JSONUtil.toBean(param, HttpDTO.class);
log.info("riskStatusNotify 原始报文:{}", bean);
String decrypt = ThirdComponent.decrypt(bean.getData());
log.info("riskStatusNotify 解密后:{}", decrypt);
ThirdOrderChildRiskStatusParam invoicingStatusNotifyDTO = JSONUtil.toBean(decrypt, ThirdOrderChildRiskStatusParam.class);
return ThirdComponent.encrypt(JSON.toJSONString(Result.ok()));
}
@ApiOperation(value = "syncTest", notes = "<br>By:胡宇帆")
@GetMapping("/syncTest")
public Result<OrderChildSyncDTO> syncTest(@RequestParam String childNo) {
OrderChild orderChild = orderChildDao.getByChildNo(childNo).get();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).get();
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(childNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
ThirdOrderChildBrokerParam param = transportSyncService.generateOrderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
log.info("=======================生成Param{}", JSONUtil.parse(param));
HttpDTO httpDTOResult = transportFeignService.orderChildSync(param);
String decrypt = ThirdComponent.decrypt(httpDTOResult.getData());
OrderChildSyncDTO bean = JSONUtil.toBean(decrypt, OrderChildSyncDTO.class);
return Result.ok(bean);
}
}
package com.clx.performance.controller.temp; package com.clx.performance.controller.temp;
import com.clx.performance.component.ThirdComponent;
import com.clx.performance.extranal.transport.TransportService;
import com.clx.performance.feign.TransportFeignService;
import com.clx.performance.param.feign.transport.OrderChildPaySyncParam;
import com.clx.performance.param.feign.transport.OwnerSettlementSyncParam;
import com.clx.performance.service.TempService; import com.clx.performance.service.TempService;
import com.clx.performance.service.child.FeignOrderChildService; import com.clx.performance.service.child.FeignOrderChildService;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO; import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import com.msl.common.dto.HttpDTO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
...@@ -30,6 +33,10 @@ public class TempController { ...@@ -30,6 +33,10 @@ public class TempController {
private TempService tempService; private TempService tempService;
@Autowired @Autowired
private FeignOrderChildService carrierOrderChildService; private FeignOrderChildService carrierOrderChildService;
@Autowired
private TransportService transportService;
@Autowired
private TransportFeignService transportFeignService;
...@@ -69,4 +76,37 @@ public class TempController { ...@@ -69,4 +76,37 @@ public class TempController {
return Result.ok(); return Result.ok();
} }
// @ApiOperation(value = "承运同步网络货运 (临时接口)", notes = "<br>By:艾庆国")
// @RequestMapping(value = "/orderChildSync", method = RequestMethod.GET)
// public Result<Void> orderChildSync(@RequestBody ThirdOrderChildBrokerParam param1) {
// ThirdOrderChildBrokerParam param = new ThirdOrderChildBrokerParam();
// param.setChildNo("123");
//
// transportService.orderChildSync(param);
//
// return Result.ok();
// }
@ApiOperation(value = "运单支付运费同步 (临时接口)", notes = "<br>By:艾庆国")
@RequestMapping(value = "/orderChildPaySync", method = RequestMethod.POST)
public Result<Void> orderChildPaySync(@RequestBody OrderChildPaySyncParam param) {
HttpDTO httpDTO = transportFeignService.orderChildPaySync(param);
String decrypt = ThirdComponent.decrypt(httpDTO.getData());
log.info("{}", decrypt);
return Result.ok();
}
@ApiOperation(value = "货主结算单同步 (临时接口)", notes = "<br>By:艾庆国")
@RequestMapping(value = "/ownerSettlementSync", method = RequestMethod.POST)
public Result<Void> ownerSettlementSync(@RequestBody OwnerSettlementSyncParam param) {
HttpDTO httpDTO = transportFeignService.ownerSettlementSync(param);
String decrypt = ThirdComponent.decrypt(httpDTO.getData());
log.info("{}", decrypt);
return Result.ok();
}
} }
package com.clx.performance.dao;
import com.clx.performance.mapper.LargeScreenAddressRouteMapper;
import com.clx.performance.model.LargeScreenAddressRoute;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
/**
* @author kavin
* Date 2023-11-22
* Time 10:54
*/
public interface LargeScreenAddressRouteDao extends BaseDao<LargeScreenAddressRouteMapper, LargeScreenAddressRoute, Integer> {
List<LargeScreenAddressRoute> getEntityByReceiveAddressIdAndSendAddressId(Integer receiveAddressId, Integer sendAddressId);
List<LargeScreenAddressRoute> selectList();
}
...@@ -11,6 +11,7 @@ import com.clx.performance.vo.app.OrderChildVO; ...@@ -11,6 +11,7 @@ import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO; import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.base.PageParam;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -116,6 +117,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -116,6 +117,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
*/ */
List<OrderChild> selectInTransitOrderChild(String orderNo); List<OrderChild> selectInTransitOrderChild(String orderNo);
List<OrderChild> selectInTransitOrderChildLtUnsettle(String orderNo);
/** /**
* 通过货单号查询在途运单 * 通过货单号查询在途运单
* @param orderGoodsNo * @param orderGoodsNo
...@@ -156,4 +159,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -156,4 +159,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
Long haveArriveReceiveChild(String orderNo); Long haveArriveReceiveChild(String orderNo);
List<OrderChild> selectListWithEmptyCarList();
Page<OrderChild> getMonthAgoByUserNo(Long userNo, LocalDateTime monthAgo, PageParam param);
} }
package com.clx.performance.dao; package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.AppGoodsOrderSearchParam;
import com.clx.performance.param.pc.OrderGoodsEditParams; import com.clx.performance.param.pc.OrderGoodsEditParams;
import com.clx.performance.param.pc.PageOrderGoodsListParam; import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.mapper.OrderGoodsMapper; import com.clx.performance.mapper.OrderGoodsMapper;
...@@ -93,5 +94,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int ...@@ -93,5 +94,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo); List<Double> getFreightPrice( Integer sendAddressId,Integer receiveAddressId,String orderNo);
IPage<OrderGoodsAPPVO> indexOrderGoodsListSearch(AppGoodsOrderSearchParam param);
void batchUpdateResidueWeight(List<Integer> list, BigDecimal residueWeight);
} }
...@@ -27,7 +27,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe ...@@ -27,7 +27,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
Optional<OrderGoodsTruckBind> getValidByOrderGoodsNoAndTruckNo(String truckNo); Optional<OrderGoodsTruckBind> getValidByOrderGoodsNoAndTruckNo(String truckNo);
Optional<List<OrderGoodsTruckBind>> getValidByTruckNo(String truckNo); Optional<List<OrderGoodsTruckBind>> getValidByTruckNo(String truckNo);
Optional<List<OrderGoodsTruckBind>> selectListByTruckNo(List<String> truckList); List<String> selectListByTruckNo(List<String> truckList);
void updateOrderGoodsBindStatus(String orderGoodsNo, Integer code); void updateOrderGoodsBindStatus(String orderGoodsNo, Integer code);
...@@ -56,4 +56,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe ...@@ -56,4 +56,7 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void deleteByOrderGoods(String orderGoodsNo); void deleteByOrderGoods(String orderGoodsNo);
List<String> findUnreleasedTruck(); List<String> findUnreleasedTruck();
void updateTruckBindExpire(List<Integer> ids);
} }
package com.clx.performance.dao;
import com.clx.performance.mapper.OwnerAccountPasswordMapper;
import com.clx.performance.model.OwnerAccountPassword;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2023-11-28
* Time 17:42
*/
public interface OwnerAccountPasswordDao extends BaseDao<OwnerAccountPasswordMapper, OwnerAccountPassword, Integer> {
OwnerAccountPassword findEntityByUserNo(Long userNo);
}
...@@ -3,6 +3,7 @@ package com.clx.performance.dao; ...@@ -3,6 +3,7 @@ package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.OwnerRunningWaterRecordMapper; import com.clx.performance.mapper.OwnerRunningWaterRecordMapper;
import com.clx.performance.model.OwnerRunningWaterRecord; import com.clx.performance.model.OwnerRunningWaterRecord;
import com.clx.performance.param.pc.PageAppPrepaidFreightAccountParam;
import com.clx.performance.param.pc.PageOwnerAccountRunningWaterParam; import com.clx.performance.param.pc.PageOwnerAccountRunningWaterParam;
import com.clx.performance.param.pc.PagePlatformMarginAccountParam; import com.clx.performance.param.pc.PagePlatformMarginAccountParam;
import com.clx.performance.param.pc.PagePlatformPrepaidFreightAccountParam; import com.clx.performance.param.pc.PagePlatformPrepaidFreightAccountParam;
...@@ -18,6 +19,9 @@ public interface OwnerRunningWaterRecordDao extends BaseDao<OwnerRunningWaterRec ...@@ -18,6 +19,9 @@ public interface OwnerRunningWaterRecordDao extends BaseDao<OwnerRunningWaterRec
IPage<OwnerAccountRunningWaterRecordVO> prepaidFreightAccountPageList(PagePlatformPrepaidFreightAccountParam param); IPage<OwnerAccountRunningWaterRecordVO> prepaidFreightAccountPageList(PagePlatformPrepaidFreightAccountParam param);
IPage<OwnerAccountRunningWaterRecordVO> prepaidFreightOwnerAccountPageList(PageAppPrepaidFreightAccountParam param);
List<OwnerAccountRunningWaterRecordVO> prepaidFreightAccountList(PagePlatformPrepaidFreightAccountParam param); List<OwnerAccountRunningWaterRecordVO> prepaidFreightAccountList(PagePlatformPrepaidFreightAccountParam param);
...@@ -29,4 +33,7 @@ public interface OwnerRunningWaterRecordDao extends BaseDao<OwnerRunningWaterRec ...@@ -29,4 +33,7 @@ public interface OwnerRunningWaterRecordDao extends BaseDao<OwnerRunningWaterRec
List<OwnerRunningWaterRecord> getOwnerRunningWaterRecord(String orderNo); List<OwnerRunningWaterRecord> getOwnerRunningWaterRecord(String orderNo);
List<OwnerAccountRunningWaterRecordVO> marginAccountList(PagePlatformMarginAccountParam param); List<OwnerAccountRunningWaterRecordVO> marginAccountList(PagePlatformMarginAccountParam param);
OwnerRunningWaterRecord getOneByOrderNoAndRunningWaterTypeAndAccountType(String orderNo, Integer runningWaterType, Integer accountType);
} }
package com.clx.performance.dao.customer;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.mapper.customer.CustomerComplaintDetailMapper;
import com.clx.performance.model.customer.CustomerComplaintDetail;
import com.clx.performance.param.pc.customer.PageCustomerComplaintDetailParam;
import com.clx.performance.vo.pc.customer.CustomerComplaintDetailVO;
import com.msl.common.dao.BaseDao;
public interface CustomerComplaintDetailDao extends BaseDao<CustomerComplaintDetailMapper, CustomerComplaintDetail, Integer> {
Page<CustomerComplaintDetailVO> pageCustomerComplaintDetail(PageCustomerComplaintDetailParam param);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论