提交 575968f7 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v26.2-jdk17springboot3-20240912' into dev_jdk17

......@@ -21,6 +21,8 @@ public class OpenOrderChildDTO {
private String sourceOrderNo;
@Schema(description = "源结算单编号", example = "1234", required = true)
private String sourceSettlementNo;
@Schema(description = "订单来源", example = "1234")
private Integer orderSource;
@Schema(description = "运费单价(分/吨)", example = "162", required = true)
private Integer freightPrice;
......@@ -36,6 +38,8 @@ public class OpenOrderChildDTO {
private Integer lossFee;
@Schema(description = "货损单价(分/吨)", example = "123")
private Integer lossFeePrice;
@Schema(description = "管理费(分)", example = "123")
private Integer invoiceServiceFee;
@Schema(description = "发货皮重(吨)")
private BigDecimal sendTare;
......@@ -61,6 +65,8 @@ public class OpenOrderChildDTO {
private BigDecimal receiveRough;
@Schema(description = "收货净重(吨)")
private BigDecimal receiveNet;
@Schema(description = "实收净重(吨)")
private BigDecimal realNet;
@Schema(description = "备注", example = "", required = true)
private String remark;
......
package com.clx.performance.vo.pc.broker;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class TransportPayConfirmParam {
@Schema(description = "用户编号", required = true)
@NotNull(message = "用户编号不能为空")
private String userCode;
@Schema(description = "运单编号", required = true)
@NotNull(message = "运单编号不能为空")
String orderCode;
}
......@@ -9,10 +9,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @Author: aiqinguo
......@@ -53,7 +53,7 @@ public class VehicleWarnUserVO {
List<WarnTypeItem> list = new ArrayList<>();
if(CollectionUtils.isEmpty(warnTypeList)){
if(Objects.isNull(warnTypeList)){
return list;
}
for (VehicleWarnConfigEnum.OrderWarnType item : VehicleWarnConfigEnum.OrderWarnType.values()) {
......@@ -73,7 +73,7 @@ public class VehicleWarnUserVO {
List<Integer> warnTypeList = JSON.parseArray(warnTypeJson, Integer.class);
List<WarnTypeItem> list = new ArrayList<>();
if(CollectionUtils.isEmpty(warnTypeList)){
if(Objects.isNull(warnTypeList)){
return list;
}
for (VehicleWarnConfigEnum.WarnType item : VehicleWarnConfigEnum.WarnType.values()) {
......@@ -93,7 +93,7 @@ public class VehicleWarnUserVO {
List<Integer> warnTypeList = JSON.parseArray(lineWarnTypeJson, Integer.class);
List<WarnTypeItem> list = new ArrayList<>();
if(CollectionUtils.isEmpty(warnTypeList)){
if(Objects.isNull(warnTypeList)){
return list;
}
for (LineWarnConfigEnum.WarnType item : LineWarnConfigEnum.WarnType.values()) {
......
......@@ -711,6 +711,15 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
baseMapper.batchUpdateCancel(canCancelOrderChildList);
}
@Override
public List<OrderChild> findListByChildNoList(List<String> childNoList) {
return list(lQrWrapper()
.in(OrderChild :: getChildNo, childNoList)
);
}
@Override
public int countTakeByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.countTakeByOrderGoodsNo(orderGoodsNo);
......@@ -720,13 +729,4 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public int countLoadByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.countLoadByOrderGoodsNo(orderGoodsNo);
}
@Override
public List<OrderChild> findListByChildNoList(List<String> childNoList) {
return list(lQrWrapper()
.in(OrderChild :: getChildNo, childNoList)
);
}
}
......@@ -41,9 +41,11 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
public boolean updateInvoiceCompany(SettlementDriver item) {
return update(lUdWrapper()
.eq(SettlementDriver::getId, item.getId())
.set(SettlementDriver::getInvoiceType, item.getInvoiceType())
.set(SettlementDriver::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementDriver::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementDriver::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
.set(SettlementDriver::getPrepayFreightFlag, item.getPrepayFreightFlag())
);
}
......@@ -74,7 +76,6 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
@Override
public List<SettlementDriver> listDriverConfirmSync() {
return list(lUdWrapper()
.eq(SettlementDriver::getInvoiceType, SettlementOwnerEnum.InvoiceType.ONLINE.getCode())
.eq(SettlementDriver::getStatus, SettlementDriverEnum.Status.DRIVER_UNCONFIRMED.getCode())
);
}
......
......@@ -20,10 +20,10 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean updatePayStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
boolean updateSettleStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
Optional<SettlementDriver> findBySettlementNo(String settlementNo);
Optional<SettlementDriver> findByChildNo(String childNo);
......
......@@ -6,6 +6,7 @@ import com.clx.performance.enums.ResultEnum;
import com.clx.performance.extranal.broker.BrokerService;
import com.clx.performance.feign.BrokerFeign;
import com.clx.performance.vo.pc.broker.TransportParam;
import com.clx.performance.vo.pc.broker.TransportPayConfirmParam;
import com.clx.performance.vo.pc.broker.TransportVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.result.Result;
......@@ -48,7 +49,11 @@ public class BrokerServiceImpl implements BrokerService {
@Override
public void orderChildPay(String childNo) {
Result<Object> result = brokerFeign.payConfirm(childNo, settlementConfig.getBrokerUserCode());
TransportPayConfirmParam param = new TransportPayConfirmParam();
param.setOrderCode(childNo);
param.setUserCode(settlementConfig.getBrokerUserCode());
Result<Object> result = brokerFeign.payConfirm(param);
if (result.getCode() != 0) {
log.info("司机支付, childNo:{}, msg:{}", childNo, result.getMsg());
}
......
package com.clx.performance.feign;
import com.clx.performance.vo.pc.broker.TransportPayConfirmParam;
import com.clx.performance.vo.pc.broker.TransportParam;
import com.clx.performance.vo.pc.broker.TransportVO;
import com.msl.common.result.Result;
......@@ -32,7 +33,6 @@ public interface BrokerFeign {
* 司机支付
*/
@RequestMapping(value = "/broker-service/open/transport/payConfirm", method = RequestMethod.POST)
Result<Object> payConfirm(@RequestParam @NotBlank(message = "运单编号不能为空") String orderCode,
@RequestParam @NotNull(message = "userCode不能为空") String userCode);
Result<Object> payConfirm(@RequestBody TransportPayConfirmParam param);
}
......@@ -2,6 +2,7 @@ package com.clx.performance.listener;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.clx.open.sdk.callback.message.OrderInfoMessage;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.config.ConfiguredOpenProperties;
......@@ -16,6 +17,7 @@ import com.msl.message.sms.api.sms.content.SmsMessageContentImpl;
import com.msl.message.sms.api.sms.recipient.SmsMessageRecipientImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
......@@ -50,10 +52,18 @@ public class SendOrderStatusNoticeSmsListener {
public void onMessage(Message message) {
try{
log.info("监听到发送订单状态通知短信,消息内容{}", new String(message.getBody()));
OrderInfoMessage order = JSONUtil.toBean(new String(message.getBody()),
new TypeReference<MqWrapper<OrderInfoMessage>>() {
},false).getData();
String targets = getTargets(order.getOrderStatus());
log.info("获取需要发送短信的手机号列表:{}",targets);
if(StringUtils.isBlank(targets)){
return;
}
SmsMessage smsMessage = new SmsMessage();
//设置消息内容
......@@ -72,7 +82,7 @@ public class SendOrderStatusNoticeSmsListener {
//设置消息接收人
SmsMessageRecipientImpl smsMessageRecipient = new SmsMessageRecipientImpl();
smsMessageRecipient.setUserType(USER_MOBILE.getCode());
smsMessageRecipient.setTargets(getTargets(order.getOrderStatus()));
smsMessageRecipient.setTargets(targets);
smsMessage.setContent(smsMessageContent);
......@@ -83,7 +93,9 @@ public class SendOrderStatusNoticeSmsListener {
//向消息中心发送消息
log.info("订单状态提醒发送短信开始,请求参数:{}", JSON.toJSONString(smsMessage));
Result<Object> result = configuredOpenClient.doAction(new MessageAction(smsMessage));
log.info("订单状态提醒发送短信结束,响应结果:{}", JSON.toJSONString(result));
}catch (Exception e){
log.info("监听到发送订单状态通知短信发生异常,异常原因:{}", ExceptionUtils.getStackTrace(e));
}
......
......@@ -3,6 +3,8 @@ package com.clx.performance.service.impl;
import com.alibaba.druid.sql.visitor.functions.If;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.config.LoadAppConfig;
import com.clx.performance.config.PerformanceSmartCompanyNoConfig;
import com.clx.performance.dao.*;
import com.clx.performance.dto.payment.PaymentDTO;
import com.clx.performance.enums.*;
......@@ -15,11 +17,15 @@ import com.clx.performance.service.*;
import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.vo.pc.OrderChildPoundAuditDetailVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.open.OpenClient;
import com.msl.common.open.RequestConfig;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import com.scm.lms.manage.action.LmsWeighingSignatureAction;
import com.smart.business.sdk.request.dto.WeightChildSignatureDto;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -63,6 +69,8 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
private final OcrRecognitionDao ocrRecognitionDao;
private final OrderChildPostService orderChildPostService;
private final OrderService orderService;
private final LoadAppConfig loadAppConfig;
private final PerformanceSmartCompanyNoConfig companyNoConfig;
@Override
public OrderChildPoundAuditDetailVO getPoundAuditDetail(String childNo) {
......@@ -76,6 +84,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setChildNo(childNo);
vo.setLoadImages(loadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setUnloadImages(unloadImages.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
vo.setLoadNet(poundAuditDetail.getLoadNet());
vo.setUnloadNet(poundAuditDetail.getUnloadNet());
vo.setUnloadPoundNo(poundAuditDetail.getUnloadPoundNo());
......@@ -83,6 +92,7 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setUnloadRough(poundAuditDetail.getUnloadRough());
vo.setLoadRough(poundAuditDetail.getLoadRough());
vo.setLoadTare(poundAuditDetail.getLoadTare());
vo.setStatus(poundAuditDetail.getStatus());
vo.setRemark(poundAuditDetail.getRemark());
vo.setRejectType(poundAuditDetail.getRejectType());
......@@ -101,9 +111,47 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
vo.setCooperativeCompaniesId(orderInfo.getCooperativeCompaniesId());
vo.setCooperativeCompaniesName(orderInfo.getCooperativeCompaniesName());
//首次回显过磅电子磅单
WeightChildSignatureDto weighingSignature = getWeighingSignature(childNo,SaleBuyEnum.Type.BUY.getCode());//获取电子磅单图片 类型:1-销售,2-采购
if(Objects.nonNull(weighingSignature)){
if(vo.getUnloadTare()== null && weighingSignature.getTare()!=null){//卸车皮重
vo.setUnloadTare(weighingSignature.getTare());
}
if(vo.getUnloadRough()== null && weighingSignature.getRough()!=null){//卸车毛重
vo.setUnloadRough(weighingSignature.getRough());
}
}
return vo;
}
public WeightChildSignatureDto getWeighingSignature(String childNo,Integer type){
App app = loadAppConfig.getApp(AppEnum.UniqueIdentifier.LMS_MANAGE.getCode());//对接物流子系统配置信息
//组装配置信息
RequestConfig config = new RequestConfig()
.setAppId(app.getAppNo())
.setAppKey(app.getAppKey())
.setGatewayUrl(app.getCallback());
//通过运单号码查询电子磅单图片
LmsWeighingSignatureAction weightAction = new LmsWeighingSignatureAction();
weightAction.setChildNo(childNo);
weightAction.setCustomerRelationNo(String.valueOf(companyNoConfig.getCompanyNo()));
weightAction.setType(type);
log.info("接口请求电子磅单参数,{}",weightAction);
Result<WeightChildSignatureDto> weighSignature = OpenClient.doAction(config, weightAction);
log.info("接口请求电子磅单返回结果,{}",weighSignature);
//数据处理
if(Objects.equals(weighSignature.getCode(),0)){
WeightChildSignatureDto weighSignatures = weighSignature.getData();
return weighSignatures;
}
return new WeightChildSignatureDto();
}
@Override
@Transactional(rollbackFor = Exception.class)
......
......@@ -100,7 +100,6 @@ import com.purchase.manage.action.SupplyChainSupervisionLoadTruckAction;
import com.purchase.manage.dto.SupervisionLoadInfoDto;
import com.purchase.manage.dto.SupervisionLoadTruckInfoDto;
import com.scm.lms.manage.action.LmsWeighingSignatureAction;
import com.smart.business.sdk.request.dto.WeighingSignatureDto;
import com.smart.business.sdk.request.dto.WeightChildSignatureDto;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
......
......@@ -19,6 +19,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam;
import com.clx.performance.service.settle.SettlementPostService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam;
import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam;
......
......@@ -260,6 +260,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSourceGoodsNo(orderChild.getOrderGoodsNo());
orderChildInfo.setSourceOrderNo(orderChild.getOrderNo());
orderChildInfo.setSourceSettlementNo(settlementOwnerDetail.getSettlementNo());
orderChildInfo.setOrderSource(orderChild.getOrderSource());
orderChildInfo.setFreight(orderChild.getFreightPrice()
.multiply(orderChild.getUnloadNet().min(orderChild.getLoadNet()))
......@@ -287,6 +288,10 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setReceiveTare(orderChild.getUnloadTare());
orderChildInfo.setReceiveRough(orderChild.getUnloadRough());
orderChildInfo.setReceiveNet(orderChild.getUnloadNet());
orderChildInfo.setRealNet(settlementOwnerDetail.getWeight());
orderChildInfo.setInvoiceServiceFee(settlementOwnerDetail.getInvoiceServiceFee().intValue());
orderChildInfo.setInvoiceFlag(settlementOwnerDetail.getInvoiceType()==null? null
:Objects.equals(settlementOwnerDetail.getInvoiceType(),
SettlementOwnerEnum.InvoiceType.ONLINE.getCode())? 2 : 1);
......
......@@ -94,6 +94,15 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementDriverDetailDao.updateConvertOrdinary(settlementDriverDetail);
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
if (settlementDriver != null) {
settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
}
else {
// 状态回滚
......
......@@ -30,6 +30,7 @@ import com.clx.performance.model.settle.SettlementPlatformAccount;
import com.clx.performance.param.pc.owner.*;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.PlatformAccountConfigService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementOwnerService;
......@@ -99,7 +100,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final PlatformAccountConfigService platformAccountConfigService;
private final OrderFeign orderFeign;
private final BreakContractSettlementOwnerDao breakContractSettlementOwnerDao;
private final OrderChildBrokerMqService orderChildBrokerMqService;
@Override
......@@ -893,6 +894,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao.saveEntity(merge);
//更新货主运单计费明细
settlementOwnerDetailDao.updateSettlementMerge(settlementNo,settlementNos);
List<SettlementOwnerDetail> settlementOwnerDetailList = settlementOwnerDetailDao.getBySettlementNo(settlementNo);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetailList.stream().map(item->item.getChildNo()).collect(Collectors.toList()));
}
}
......@@ -46,6 +46,7 @@ public class VehicleWarnUserServiceImpl implements VehicleWarnUserService {
if (optional.isPresent()){
throw new ServiceSystemException(ResultEnum.VEHICLE_WARN_USER_EXIST);
}
List<Integer> warnTypeList = Arrays.stream(VehicleWarnConfigEnum.WarnType.values())
.map(item -> item.getCode()).collect(Collectors.toList());
List<Integer> lineWarnTypeList = Arrays.stream(LineWarnConfigEnum.WarnType.values())
......@@ -54,6 +55,7 @@ public class VehicleWarnUserServiceImpl implements VehicleWarnUserService {
VehicleWarnUser vehicleWarnUser = new VehicleWarnUser();
vehicleWarnUser.setName(param.getName());
vehicleWarnUser.setMobile(param.getMobile());
vehicleWarnUser.setOrderWarnTypeJson(JSON.toJSONString(new ArrayList<>()));
vehicleWarnUser.setWarnTypeJson(JSON.toJSONString(warnTypeList));
vehicleWarnUser.setLineWarnTypeJson(JSON.toJSONString(lineWarnTypeList));
vehicleWarnUser.setCreateBy(loginUserInfo.getUserName());
......
......@@ -15,7 +15,7 @@ public interface SettlementPostService {
void updateInvoice(List<String> childNoList);
void driverSettle(String childNo);
void riskAdd(Integer id);
void driverSettle(String childNo);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论