提交 c3800cea authored 作者: jiangwujie's avatar jiangwujie

feature(电子围栏): 运单详情接口增加增加 监装采样点,采样点照片,采样点视频信息

...@@ -106,9 +106,9 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -106,9 +106,9 @@ public enum PerformanceResultEnum implements ResultEnum {
/**车主未绑卡提示语 **/ /**车主未绑卡提示语 **/
APP_POP_UP_OWNER_NO_BANKCARD_ERROR(-497, "车主未绑卡"), APP_POP_UP_OWNER_NO_BANKCARD_ERROR(-497, "车主未绑卡"),
/**司机钱包不存在提示语 **/ /**司机钱包不存在提示语 **/
APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR(-498, "司机钱包不存在"), APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR(-494, "司机钱包不存在"),
/**车主钱包不存在提示语 **/ /**车主钱包不存在提示语 **/
APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR(-497, "车主钱包不存在"), APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR(-493, "车主钱包不存在"),
/**司机未实名 **/ /**司机未实名 **/
APP_POP_UP_DRIVER_NOT_AUTH(-496, "司机钱包不存在"), APP_POP_UP_DRIVER_NOT_AUTH(-496, "司机钱包不存在"),
/**车主未实名 **/ /**车主未实名 **/
......
package com.clx.performance.vo.app; package com.clx.performance.vo.app;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.OrderGoodsEnum;
import com.msl.common.convertor.type.MoneyOutConvert; import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -241,10 +242,30 @@ public class OrderChildVO { ...@@ -241,10 +242,30 @@ public class OrderChildVO {
@ApiModelProperty(value = "发货-是否需要系统排队 0 否 1 是") @ApiModelProperty(value = "发货-是否需要系统排队 0 否 1 是")
private Integer sendWaitSystem; private Integer sendWaitSystem;
@ApiModelProperty(value = "发货-是否需要系统排队 描述: 需要 不需要")
public String getSendWaitSystemMsg() {
return OrderGoodsEnum.SendWaitSystemMsgEnum.getMsgByCode(sendWaitSystem);
}
@ApiModelProperty(value = "发货-排队系统名称") @ApiModelProperty(value = "发货-排队系统名称")
private String sendWaitSystemName; private String sendWaitSystemName;
@ApiModelProperty(value = "发货-排队系统形式 1:小程序 2:app") @ApiModelProperty(value = "发货-排队系统形式 1:小程序 2:app")
private Integer sendWaitMode; private Integer sendWaitMode;
@ApiModelProperty(value = "发货-排队系统形式 描述: 微信小程序 app")
public String getSendWaitModeMsg() {
return OrderGoodsEnum.SendWaitModeEnum.getMsgByCode(sendWaitMode);
}
@ApiModelProperty(value = "发货采样位置")
private String sendQualityPosition;
@ApiModelProperty(value = "发货地采样视频")
private String sendSamplingVideo;
@ApiModelProperty(value = "发货地采样照片")
private String sendSamplingPic;
@ApiModelProperty(value = "监装联系人")
private String superviseContacts;
@ApiModelProperty(value = "监装联系人电话")
private String superviseMobile;
} }
...@@ -184,7 +184,7 @@ public class OrderGoodsVO { ...@@ -184,7 +184,7 @@ public class OrderGoodsVO {
@ApiModelProperty(value = "发货-是否需要系统排队 描述: 需要 不需要") @ApiModelProperty(value = "发货-是否需要系统排队 描述: 需要 不需要")
public String getSendWaitSystemMsg() { public String getSendWaitSystemMsg() {
return OrderGoodsEnum.SendWaitSystemMsgEnum.getMsgByCode(sendWaitMode); return OrderGoodsEnum.SendWaitSystemMsgEnum.getMsgByCode(sendWaitSystem);
} }
@ApiModelProperty(value = "发货-排队系统名称") @ApiModelProperty(value = "发货-排队系统名称")
......
...@@ -331,10 +331,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -331,10 +331,12 @@ public class OrderChildServiceImpl implements OrderChildService {
param.getTruckId()).orElseThrow(ResultCodeEnum.FAIL); param.getTruckId()).orElseThrow(ResultCodeEnum.FAIL);
BigDecimal truckLoad = driverTruckInfo.getLoad(); BigDecimal truckLoad = driverTruckInfo.getLoad();
String truckNo = driverTruckInfo.getTruckNo(); String truckNo = driverTruckInfo.getTruckNo();
Long truckOwnerUserNo = driverTruckInfo.getTruckOwnUserNo();
boolean isOwner = Objects.equals(userNo, truckOwnerUserNo);
// 司机实名认证校验 // 司机实名认证校验
// 这里之所以在check后再次增加较验,是为了避免老版本的应用无法识别新的错误码导致无法正常校验的问题 // 这里之所以在check后再次增加较验,是为了避免老版本的应用无法识别新的错误码导致无法正常校验的问题
PerformanceResultEnum checkRealName = checkRealName(param.getDriverUserNo(), driverTruckInfo.getWalletCode(), driverTruckInfo.getTruckOwnWalletCode()); PerformanceResultEnum checkRealName = checkRealName(param.getDriverUserNo(), isOwner);
if (Objects.nonNull(checkRealName)) { if (Objects.nonNull(checkRealName)) {
throw new ServiceSystemException(checkRealName); throw new ServiceSystemException(checkRealName);
} }
...@@ -361,7 +363,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -361,7 +363,7 @@ public class OrderChildServiceImpl implements OrderChildService {
deposit = orderGoods.getDeposit();//接单保证金 deposit = orderGoods.getDeposit();//接单保证金
} }
//接单钱包限制 //接单钱包限制
driverTakeOrderPaymentLimit(driverTruckInfo.getWalletCode(),driverTruckInfo.getTruckOwnWalletCode(),deposit); driverTakeOrderPaymentLimit(driverTruckInfo.getWalletCode(),driverTruckInfo.getTruckOwnWalletCode(),deposit, isOwner);
// 状态验证 // 状态验证
if (!Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.PAYING.getCode()) && if (!Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.PAYING.getCode()) &&
...@@ -1716,6 +1718,14 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1716,6 +1718,14 @@ public class OrderChildServiceImpl implements OrderChildService {
result.setSendWaitSystemName(orderInfoFeign.getSendWaitSystemName()); result.setSendWaitSystemName(orderInfoFeign.getSendWaitSystemName());
result.setSendWaitMode(orderInfoFeign.getSendWaitMode()); result.setSendWaitMode(orderInfoFeign.getSendWaitMode());
// 采样 监装信息
result.setSendSamplingPic(orderInfoFeign.getSendSamplingPic());
result.setSendQualityPosition(orderInfoFeign.getSendQualityPosition());
result.setSendSamplingVideo(orderInfoFeign.getSendSamplingVideo());
// TODO 两个属性需要瑞新接口提供
result.setSuperviseContacts(null);
result.setSuperviseMobile(null);
//查询结算信息 //查询结算信息
Optional<SettlementOwnerDetail> optional = settlementOwnerDetailDao.getByChildNo(childNo); Optional<SettlementOwnerDetail> optional = settlementOwnerDetailDao.getByChildNo(childNo);
if(optional.isPresent()){ if(optional.isPresent()){
...@@ -1818,20 +1828,27 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1818,20 +1828,27 @@ public class OrderChildServiceImpl implements OrderChildService {
} }
private int check(OrderChildCheckParam param) { private int check(OrderChildCheckParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Long loginUserNo = loginUserInfo.getUserNo();
// 查询司机车辆信息 // 查询司机车辆信息
DriverTruckInfoFeignVo driverTruckInfo = driverService.getUserDetailInfo(param.getDriverUserNo(), DriverTruckInfoFeignVo driverTruckInfo = driverService.getUserDetailInfo(param.getDriverUserNo(),
param.getTruckId()).orElseThrow(ResultCodeEnum.FAIL); param.getTruckId()).orElseThrow(ResultCodeEnum.FAIL);
Long truckOwnerUserNo = driverTruckInfo.getTruckOwnUserNo();
Integer driverWalletCode = driverTruckInfo.getWalletCode(); Integer driverWalletCode = driverTruckInfo.getWalletCode();
Integer truckWalletCode = driverTruckInfo.getTruckOwnWalletCode(); Integer truckWalletCode = driverTruckInfo.getTruckOwnWalletCode();
log.info("司机钱包信息:{}-{},driverWalletCode:{},truckWalletCode:{}", driverTruckInfo.getUserNo(), driverTruckInfo.getName(), driverWalletCode, truckWalletCode);
//是否车主
boolean isOwner = Objects.equals(loginUserNo, truckOwnerUserNo);
//验证是否实名认证 //验证是否实名认证
PerformanceResultEnum checkRealName = checkRealName(param.getDriverUserNo(), driverWalletCode, truckWalletCode); PerformanceResultEnum checkRealName = checkRealName(param.getDriverUserNo(), isOwner);
if (Objects.nonNull(checkRealName)) { if (Objects.nonNull(checkRealName)) {
return checkRealName.getCode(); return checkRealName.getCode();
} }
// 验证是否绑卡 // 验证是否绑卡
PerformanceResultEnum checkBankCard = checkBankCard(param, driverWalletCode, truckWalletCode); PerformanceResultEnum checkBankCard = checkBankCard(param, driverWalletCode, truckWalletCode, isOwner);
if (Objects.nonNull(checkBankCard)) { if (Objects.nonNull(checkBankCard)) {
return checkBankCard.getCode(); return checkBankCard.getCode();
} }
...@@ -1895,7 +1912,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1895,7 +1912,7 @@ public class OrderChildServiceImpl implements OrderChildService {
* @param truckWalletCode * @param truckWalletCode
* @return * @return
*/ */
private PerformanceResultEnum checkBankCard(OrderChildCheckParam param, Integer driverWallCode, Integer truckWalletCode) { private PerformanceResultEnum checkBankCard(OrderChildCheckParam param, Integer driverWallCode, Integer truckWalletCode, boolean isOwner) {
//接单校验 必须两个都有钱包 //接单校验 必须两个都有钱包
if (Objects.isNull(driverWallCode)) { if (Objects.isNull(driverWallCode)) {
log.info("{}-{}司机没有钱包", param.getDriverUserNo(), param.getTruckId()); log.info("{}-{}司机没有钱包", param.getDriverUserNo(), param.getTruckId());
...@@ -1906,7 +1923,6 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1906,7 +1923,6 @@ public class OrderChildServiceImpl implements OrderChildService {
return PerformanceResultEnum.APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR; return PerformanceResultEnum.APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR;
} }
//判断是司机还是车主 //判断是司机还是车主
//司机和车主钱包相同,说明是车主
boolean truckOwnerFlag = Objects.equals(driverWallCode, truckWalletCode); boolean truckOwnerFlag = Objects.equals(driverWallCode, truckWalletCode);
Integer checkWalletCode = truckOwnerFlag ? driverWallCode : truckWalletCode; Integer checkWalletCode = truckOwnerFlag ? driverWallCode : truckWalletCode;
Result<WalletResidueCardDTO> result = feignPaymentService.getWallet(checkWalletCode); Result<WalletResidueCardDTO> result = feignPaymentService.getWallet(checkWalletCode);
...@@ -1914,7 +1930,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1914,7 +1930,7 @@ public class OrderChildServiceImpl implements OrderChildService {
WalletResidueCardDTO data = result.getData(); WalletResidueCardDTO data = result.getData();
//有效银行卡数量 不能为空 //有效银行卡数量 不能为空
if (data.getCardCount() <= 0) { if (data.getCardCount() <= 0) {
PerformanceResultEnum returnResult = truckOwnerFlag ? PerformanceResultEnum.APP_POP_UP_DRIVER_NO_BANKCARD_ERROR PerformanceResultEnum returnResult = isOwner ? PerformanceResultEnum.APP_POP_UP_DRIVER_NO_BANKCARD_ERROR
: PerformanceResultEnum.APP_POP_UP_OWNER_NO_BANKCARD_ERROR; : PerformanceResultEnum.APP_POP_UP_OWNER_NO_BANKCARD_ERROR;
log.info("{}", returnResult.getMsg()); log.info("{}", returnResult.getMsg());
return returnResult; return returnResult;
...@@ -1922,7 +1938,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1922,7 +1938,7 @@ public class OrderChildServiceImpl implements OrderChildService {
} else { } else {
log.info("获取钱包信息失败:{}", checkWalletCode); log.info("获取钱包信息失败:{}", checkWalletCode);
//用户钱包不存在 //用户钱包不存在
return truckOwnerFlag ? PerformanceResultEnum.APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR return isOwner ? PerformanceResultEnum.APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR
: PerformanceResultEnum.APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR; : PerformanceResultEnum.APP_POP_UP_OWNER_WALLET_NULL_NOT_EXIST_ERROR;
} }
return null; return null;
...@@ -1949,20 +1965,17 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1949,20 +1965,17 @@ public class OrderChildServiceImpl implements OrderChildService {
* @param * @param
* @return * @return
*/ */
private PerformanceResultEnum checkRealName(Long driverUserNo, Integer driverWalletCode, Integer truckOwnWalletCode) { private PerformanceResultEnum checkRealName(Long driverUserNo, boolean isOwner) {
//判断当前账号是否车主 //判断当前账号是否车主
boolean truckOwnerFlag = Objects.nonNull(driverWalletCode)
&& Objects.nonNull(truckOwnWalletCode)
&& Objects.equals(driverWalletCode, truckOwnWalletCode);
Result<AuthVo> authResult = userClxFeign.getAuthInfo(driverUserNo); Result<AuthVo> authResult = userClxFeign.getAuthInfo(driverUserNo);
if (!authResult.succeed()) { if (!authResult.succeed()) {
log.info("获取司机{}实名认证信息失败", driverUserNo); log.info("获取司机{}实名认证信息失败", driverUserNo);
return truckOwnerFlag ? PerformanceResultEnum.APP_POP_UP_DRIVER_NOT_AUTH : PerformanceResultEnum.APP_POP_UP_OWNER_NOT_AUTH; return isOwner ? PerformanceResultEnum.APP_POP_UP_DRIVER_NOT_AUTH : PerformanceResultEnum.APP_POP_UP_OWNER_NOT_AUTH;
} else { } else {
AuthVo authVo = authResult.getData(); AuthVo authVo = authResult.getData();
if (!Objects.equals(authVo.getAuthStatus(), IdCardEnum.AuthStatus.ALREADY_REAL_NAME.getCode())) { if (!Objects.equals(authVo.getAuthStatus(), IdCardEnum.AuthStatus.ALREADY_REAL_NAME.getCode())) {
log.info("司机{}实名状态非已实名:{}", driverUserNo, authVo.getAuthStatus()); log.info("司机{}实名状态非已实名:{}", driverUserNo, authVo.getAuthStatus());
return truckOwnerFlag ? PerformanceResultEnum.APP_POP_UP_DRIVER_NOT_AUTH : PerformanceResultEnum.APP_POP_UP_OWNER_NOT_AUTH; return isOwner ? PerformanceResultEnum.APP_POP_UP_DRIVER_NOT_AUTH : PerformanceResultEnum.APP_POP_UP_OWNER_NOT_AUTH;
} }
} }
return null; return null;
...@@ -2209,7 +2222,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2209,7 +2222,7 @@ public class OrderChildServiceImpl implements OrderChildService {
/** /**
* 司机接单支付校验 * 司机接单支付校验
*/ */
private void driverTakeOrderPaymentLimit(Integer driverWallCode, Integer truckWalletCode,BigDecimal deposit) { private void driverTakeOrderPaymentLimit(Integer driverWallCode, Integer truckWalletCode,BigDecimal deposit, boolean isOwner) {
//判断是司机还是车主 接单校验 必须两个都有钱包 //判断是司机还是车主 接单校验 必须两个都有钱包
if (Objects.isNull(driverWallCode)) { if (Objects.isNull(driverWallCode)) {
throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR); throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_DRIVER_WALLET_NULL_NOT_EXIST_ERROR);
...@@ -2237,7 +2250,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2237,7 +2250,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//判断余额是否能够缴纳保证金 //判断余额是否能够缴纳保证金
if (data.getResidue() < deposit.longValue()) { if (data.getResidue() < deposit.longValue()) {
String remark = truckOwnerFlag ? "账户可用余额不足,接单保证金冻结失败,请尽快充值,本次需充值"+deposit.movePointLeft(2) +"元" : "车主钱包余额不足,保证金冻结失败请联系车主充值"; String remark = truckOwnerFlag ? "账户可用余额不足,接单保证金冻结失败,请尽快充值,本次需充值"+deposit.movePointLeft(2) +"元" : "车主钱包余额不足,保证金冻结失败请联系车主充值";
if(truckOwnerFlag){ if(isOwner){
throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_OWNER_RESIDUE_ERROR, remark); throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_OWNER_RESIDUE_ERROR, remark);
}else{ }else{
throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_DRIVER_RESIDUE_ERROR, remark); throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_DRIVER_RESIDUE_ERROR, remark);
...@@ -2247,7 +2260,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2247,7 +2260,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//有效银行卡数量 不能为空 //有效银行卡数量 不能为空
if (data.getCardCount() <= 0) { if (data.getCardCount() <= 0) {
String remark = truckOwnerFlag ? "还没有绑定银行卡,请先绑定银行卡" : "车主还没有绑定银行卡,请先绑定银行卡"; String remark = truckOwnerFlag ? "还没有绑定银行卡,请先绑定银行卡" : "车主还没有绑定银行卡,请先绑定银行卡";
if (truckOwnerFlag) { if (isOwner) {
throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_DRIVER_NO_BANKCARD_ERROR, remark); throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_DRIVER_NO_BANKCARD_ERROR, remark);
} else { } else {
throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_OWNER_NO_BANKCARD_ERROR, remark); throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_OWNER_NO_BANKCARD_ERROR, remark);
...@@ -2256,7 +2269,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2256,7 +2269,7 @@ public class OrderChildServiceImpl implements OrderChildService {
//必须设置交易密码 是否设置交易密码0没有1有 //必须设置交易密码 是否设置交易密码0没有1有
if (Objects.isNull(data.getPwd()) || Objects.equals(data.getPwd(), "0")) { if (Objects.isNull(data.getPwd()) || Objects.equals(data.getPwd(), "0")) {
String remark = truckOwnerFlag ? "还没有设置交易密码,请先设置交易密码" : "车主还没有设置交易密码,请先设置交易密码"; String remark = isOwner ? "还没有设置交易密码,请先设置交易密码" : "车主还没有设置交易密码,请先设置交易密码";
throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_ERROR, remark); throw new ServiceSystemException(PerformanceResultEnum.APP_POP_UP_ERROR, remark);
} }
} else { } else {
......
...@@ -130,7 +130,10 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi ...@@ -130,7 +130,10 @@ public class PerformanceProgressServiceImpl implements PerformanceProgressServi
item.setSeniorLogisticsManagerName(Joiner.on(",") item.setSeniorLogisticsManagerName(Joiner.on(",")
.join(JSON.parseArray(item.getSeniorLogisticsManagerName()))); .join(JSON.parseArray(item.getSeniorLogisticsManagerName())));
} }
if(Objects.nonNull(item.getPendingWeight()) && Objects.nonNull(item.getOrderedWeight())){ if(Objects.nonNull(item.getPendingWeight())
&& item.getPendingWeight().compareTo(BigDecimal.ZERO) != 0
&& Objects.nonNull(item.getOrderedWeight())
&& item.getOrderedWeight().compareTo(BigDecimal.ZERO) != 0){
item.setOrderedRate(calcOrderedRate(item.getOrderedWeight(),item.getPendingWeight())); item.setOrderedRate(calcOrderedRate(item.getOrderedWeight(),item.getPendingWeight()));
} }
if(Objects.nonNull(item.getTaskWeight()) && Objects.nonNull(item.getSumUnloadWeight())){ if(Objects.nonNull(item.getTaskWeight()) && Objects.nonNull(item.getSumUnloadWeight())){
......
...@@ -24,7 +24,7 @@ public class OrderChildOperateRecordSqlProvider { ...@@ -24,7 +24,7 @@ public class OrderChildOperateRecordSqlProvider {
"operator" "operator"
); );
FROM("order_child_operate_record "); FROM("order_child_operate_record ");
ORDER_BY("create_time desc"); ORDER_BY("created_time desc");
}}.toString(); }}.toString();
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论