提交 2bbd7238 authored 作者: 姜文业's avatar 姜文业

Merge branch 'v27.1_carrier_column_20240924' of…

Merge branch 'v27.1_carrier_column_20240924' of https://t.clxkj.cn/clx-java/clx-performance into dev Conflicts: performance-api/src/main/java/com/clx/performance/feign/PerformanceFeign.java
package com.clx.performance.vo.mq.settle;
import lombok.*;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class SettlementDriverSettleMqParam {
private String childNo; //运单编号
}
package com.clx.performance.vo.mq.settle;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class SettlementOrderChildRiskAddMqParam {
private Integer id; //id
}
......@@ -67,6 +67,11 @@ public class OwnerCaseOutVO {
*/
@ApiModelProperty(value = "操作人")
private String createBy;
/**
* 公司名称
*/
@ApiModelProperty(value = "公司名称")
private String companyName;
/**
* 付款时间
*/
......@@ -103,4 +108,4 @@ public class OwnerCaseOutVO {
@ApiModelProperty(value = "修改时间")
private String modifiedTime;
}
\ No newline at end of file
}
......@@ -75,6 +75,11 @@ public class OwnerTopUpVO {
*/
@ApiModelProperty(value = "操作人")
private String createBy;
/**
* 公司名称
*/
@ApiModelProperty(value = "公司名称")
private String companyName;
/**
* 审批时间
*/
......@@ -97,4 +102,4 @@ public class OwnerTopUpVO {
@ApiModelProperty(value = "收款人账户账号")
private String accountNumber;
}
\ No newline at end of file
}
......@@ -21,6 +21,8 @@ public class OpenOrderChildDTO {
private String sourceOrderNo;
@ApiModelProperty(value = "源结算单编号", example = "1234", required = true, dataType = "String")
private String sourceSettlementNo;
@ApiModelProperty(value = "订单来源", example = "1234", required = true, dataType = "String")
private Integer orderSource;
@ApiModelProperty(value = "运费单价(分/吨)", example = "162", required = true, dataType = "Integer")
private Integer freightPrice;
......@@ -36,6 +38,8 @@ public class OpenOrderChildDTO {
private Integer lossFee;
@ApiModelProperty(value = "货损单价(分/吨)", example = "123", dataType = "Integer")
private Integer lossFeePrice;
@ApiModelProperty(value = "管理费(分)", example = "123", dataType = "Integer")
private Integer invoiceServiceFee;
@ApiModelProperty(value = "发货皮重(吨)")
private BigDecimal sendTare;
......@@ -61,6 +65,8 @@ public class OpenOrderChildDTO {
private BigDecimal receiveRough;
@ApiModelProperty(value = "收货净重(吨)")
private BigDecimal receiveNet;
@ApiModelProperty(value = "实收净重(吨)")
private BigDecimal realNet;
@ApiModelProperty(value = "备注", example = "", required = true, dataType = "String")
private String remark;
......
......@@ -87,7 +87,7 @@ public class RabbitSettlementConfig {
}
/**
* 结算
* 货主结算
*/
@Bean
public Queue settlementSettleQueue() {
......@@ -98,6 +98,20 @@ public class RabbitSettlementConfig {
return BindingBuilder.bind(settlementSettleQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_SETTLE_ROUTING_KEY);
}
/**
* 车主结算
*/
@Bean
public Queue settlementDriverSettlementQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_QUEUE);
}
@Bean
public Binding settlementDriverSettlementQueueBinding() {
return BindingBuilder.bind(settlementDriverSettlementQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY);
}
/**
* 支付状态
*/
......@@ -123,6 +137,18 @@ public class RabbitSettlementConfig {
.with(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY);
}
/**
* 风控新增
*/
@Bean
public Queue settlementRiskAddQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_QUEUE);
}
@Bean
public Binding settlementRiskAddQueueBinding() {
return BindingBuilder.bind(settlementRiskAddQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_ROUTING_KEY);
}
/**
* 风控处理
*/
......
......@@ -52,10 +52,17 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_INVOICE_TYPE_SYNC_ROUTING_KEY = PREFIX +"settlementInvoiceType.sync"+QUEUE_ROUTING_KEY;
/**
* 结算
* 货主结算
*/
public static final String SETTLEMENT_SETTLE_QUEUE = PREFIX +"settlement.settle"+QUEUE;
public static final String SETTLEMENT_SETTLE_ROUTING_KEY = PREFIX +"settlement.settle"+QUEUE_ROUTING_KEY;
/**
* 车主结算
*/
public static final String SETTLEMENT_DRIVER_SETTLE_QUEUE = PREFIX +"settlementDriver.settle"+QUEUE;
public static final String SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY = PREFIX +"settlementDriver.settle"+QUEUE_ROUTING_KEY;
/**
* 开票状态同步
*/
......@@ -68,6 +75,12 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_PAY_STATUS_SYNC_QUEUE = PREFIX +"settlementPayStatus.sync"+QUEUE;
public static final String SETTLEMENT_PAY_STATUS_SYNC_ROUTING_KEY = PREFIX +"settlementPayStatus.sync"+QUEUE_ROUTING_KEY;
/**
* 风控新增
*/
public static final String SETTLEMENT_RISK_ADD_QUEUE = PREFIX +"settlementRisk.add"+QUEUE;
public static final String SETTLEMENT_RISK_ADD_ROUTING_KEY = PREFIX +"settlementRisk.add"+QUEUE_ROUTING_KEY;
/**
* 风控处理
*/
......
......@@ -39,7 +39,11 @@ public class AppOwnerOrderChildController {
@ApiOperation(value = "运单列表", notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerOrderChildList")
public Result<PageData<OwnerOrderChildVO>> pageOwnerOrderChildList(@RequestBody @Validated PageOwnerOrderChildListParam param) {
param.setOwnerUserNo(TokenUtil.getLoginUserInfo().getUserNo());
log.info("TokenUtil.getLoginUserInfo().getUserNo()===={}",TokenUtil.getLoginUserInfo().getUserNo());
log.info("TokenUtil.getLoginUserInfo().getCompanyNo()===={}",TokenUtil.getLoginUserInfo().getCompanyNo());
param.setOwnerUserNo(TokenUtil.getLoginUserInfo().getCompanyNo());
IPage<OwnerOrderChildVO> page = orderChildService.pageOwnerOrderChildList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
......
......@@ -146,7 +146,7 @@ public class OwnerAccountController {
@UnitCovert(param = false)
public Result<PageData<OwnerBindCardRecordVO>> ownerBindCardPageList(@RequestBody PageOwnerBindCardRecordListParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo());
param.setOwnerUserNo(loginUserInfo.getCompanyNo());
IPage<OwnerBindCardRecordVO> page = ownerBindCardRecordService.ownerBindCardPageList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
......
......@@ -8,8 +8,6 @@ import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.mapper.settle.SettlementDriverMapper;
import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
......@@ -18,7 +16,6 @@ import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Objects;
import java.util.Set;
/**
* @Author: aiqinguo
......@@ -38,6 +35,18 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
);
}
@Override
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())
);
}
@Override
public Optional<SettlementDriver> findBySettlementNo(String settlementNo) {
return Optional.of(lQrWrapper()
......
......@@ -20,6 +20,8 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
boolean updatePayStatus(SettlementDriver item);
boolean updateInvoiceCompany(SettlementDriver item);
Optional<SettlementDriver> findBySettlementNo(String settlementNo);
Optional<SettlementDriver> findByChildNo(String childNo);
......
......@@ -147,6 +147,10 @@ public class EventListenerComponent {
// 发送mq 结算统计
settlementMqService.settlementStatistics(settlementDriverDetail.getChildNo());
// 发送mq 司机结算
settlementMqService.settlementDriverSettle(settlementDriverDetail.getChildNo());
} catch (Exception e) {
throw new ServiceSystemException(PerformanceResultEnum.GET_LOAN_RECORD, e.getMessage());
} finally {
......
package com.clx.performance.listener.settle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.vo.mq.settle.SettlementDriverSettleMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 车主结算 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public class SettlementDriverSettlementListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_QUEUE)
public void process(Message message) {
try{
log.info("结算-车主结算, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementDriverSettleMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-车主结算 失败",e);
}
}
private void process(SettlementDriverSettleMqParam mq){
settlementMqHandlerService.settlementDriverSettlement(mq);
}
}
package com.clx.performance.listener.settle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskAddMqParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 风控新增 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public class SettlementRiskAddListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_QUEUE)
public void process(Message message) {
try{
log.info("结算-风控新增, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementOrderChildRiskAddMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-风控新增 失败,msg:{}", ExceptionUtils.getStackTrace(e));
}
}
private void process(SettlementOrderChildRiskAddMqParam mq){
settlementMqHandlerService.riskAdd(mq);
}
}
......@@ -14,7 +14,7 @@ import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 结算 mq
* @Description: 货主结算 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
......@@ -28,10 +28,10 @@ public class SettlementSettleListener {
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_SETTLE_QUEUE)
public void process(Message message) {
try{
log.info("结算-结算, message:{}", new String(message.getBody()));
log.info("结算-货主结算, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementSettleMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-结算 失败",e);
log.info("结算-货主结算 失败",e);
}
}
......
......@@ -71,6 +71,11 @@ public class OwnerCaseOut implements HasKey<Integer> {
*/
@TableField("create_by")
private String createBy;
/**
* 公司名称
*/
@TableField("company_name")
private String companyName;
/**
* 付款时间
*/
......@@ -118,4 +123,4 @@ public class OwnerCaseOut implements HasKey<Integer> {
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
}
......@@ -79,6 +79,11 @@ public class OwnerTopUp implements HasKey<Integer> {
*/
@TableField("create_by")
private String createBy;
/**
* 公司名称
*/
@TableField("company_name")
private String companyName;
/**
* 审批时间
*/
......@@ -130,4 +135,4 @@ public class OwnerTopUp implements HasKey<Integer> {
public Integer gainKey() {
return id;
}
}
\ No newline at end of file
}
......@@ -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,24 +111,68 @@ 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)
public void updatePoundAudit(PoundAuditParam param) {
//运单详情
OrderChild orderChild = orderChildDao.getByChildNo(param.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
BigDecimal loadNet = param.getLoadRough().subtract(param.getLoadTare());
if (loadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
}
if (param.getLoadTare().compareTo(param.getLoadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
BigDecimal loadNet = orderChild.getLoadNet();
BigDecimal unLoadNet = orderChild.getUnloadNet();
if (Objects.equals(param.getStatus(), OrderChildPoundAuditEnum.Status.APPROVED.getCode())) {
loadNet = param.getLoadRough().subtract(param.getLoadTare());
if (loadNet.compareTo(new BigDecimal(99)) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_LOAD_NET_ERROR);
}
if (param.getLoadTare().compareTo(param.getLoadRough()) > 0) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_TRACE_GT_ROUGH);
}
unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
}
BigDecimal unLoadNet = param.getUnloadRough().subtract(param.getUnloadTare());
if(OrderChildEnum.CANCEL_lIST.contains(orderChild.getStatus())){
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCELED);
}
......
......@@ -135,7 +135,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
@Override
public IPage<OwnerAccountRunningWaterRecordVO> prepaidFreightOwnerAccountPageList(PageAppPrepaidFreightAccountParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setUserNo(loginUserInfo.getUserNo());
param.setUserNo(loginUserInfo.getCompanyNo());
return ownerRunningWaterRecordDao.prepaidFreightOwnerAccountPageList(param);
}
......@@ -184,7 +184,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
entity.setDrawingBank(param.getDrawingBank());
entity.setDrawingBankNumber(param.getDrawingBankNumber());
entity.setDrawingProof(param.getDrawingProof());
entity.setCreateBy(loginUserInfo.getCompanyName());
entity.setCreateBy(loginUserInfo.getUserName());
entity.setCompanyName(loginUserInfo.getCompanyName());
entity.setEnterpriseName(param.getEnterpriseName());
entity.setOpenAccountBank(param.getOpenAccountBank());
entity.setOpenAccountBankNumber(param.getOpenAccountBankNumber());
......@@ -257,7 +258,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
entity.setStatus(OwnerAccountEnum.CaseOutStatus.PENDING_PAYMENT.getCode());
entity.setCaseOutBank(param.getOwnerOpenBank());
entity.setCaseOutBankNumber(param.getOwnerBankAccount());
entity.setCreateBy(loginUserInfo.getCompanyName());
entity.setCreateBy(loginUserInfo.getUserName());
entity.setCompanyName(loginUserInfo.getCompanyName());
ownerCaseOutDao.saveEntity(entity);
......@@ -265,7 +267,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
OwnerRunningWaterRecord runningWaterRecord = new OwnerRunningWaterRecord();
runningWaterRecord.setOwnerUserName(account.getOwnerUserName());
runningWaterRecord.setMobile(account.getMobile());
runningWaterRecord.setCreateBy(loginUserInfo.getCompanyName());
runningWaterRecord.setCreateBy(loginUserInfo.getUserName());
runningWaterRecord.setRelationId(entity.getCaseOutNo());
//变动金额
runningWaterRecord.setAlterationBalance(caseOutBalance);
......@@ -514,8 +516,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(1, "公司编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "公司名称", "ownerName", 15000));
fieldList.add(new ExcelField(3, "联系电话", "mobile", 5000));
fieldList.add(new ExcelField(4, "账户类型", "accountType", 15000));
fieldList.add(new ExcelField(5, "流水类型", "runningWaterType", 5000));
......@@ -693,7 +695,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
record.setOpenAccountBankNumber(param.getOwnerOpenBankNumber());
record.setAccountBankName(param.getOwnerAccountName());
record.setBankCardNumber(param.getOwnerBankAccount());
record.setCreateBy(loginUserInfo.getCompanyName());
record.setCreateBy(loginUserInfo.getUserName());
ownerBindCardRecordDao.saveEntity(record);
}
......@@ -731,13 +733,13 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
@Override
public void unBindOwnerBindCard(OwnerBindCardParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
Result<OwnerBindCardVO> result = ownerInfoFeign.getOwnerInfoVO(loginUserInfo.getUserNo());
Result<OwnerBindCardVO> result = ownerInfoFeign.getOwnerInfoVO(loginUserInfo.getCompanyNo());
if (!result.succeed()) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前参数未查询到有效数据");
}
OwnerBindCardRecord record = new OwnerBindCardRecord();
//record.setOwnerType(param.getOwnerType());
record.setOwnerUserNo(loginUserInfo.getUserNo());
record.setOwnerUserNo(loginUserInfo.getCompanyNo());
record.setCreateItem("解绑银行卡");
record.setOwnerBank(param.getOwnerAccountBank());
record.setOpenAccountBank(param.getOwnerAccountBank());
......@@ -745,7 +747,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
record.setCreateBy(loginUserInfo.getUserName());
ownerBindCardRecordDao.saveEntity(record);
UpdateOwnerBindCardFeignParam feignParam = new UpdateOwnerBindCardFeignParam();
feignParam.setUserNo(loginUserInfo.getUserNo());
feignParam.setUserNo(loginUserInfo.getCompanyNo());
// feignParam.setOwnerAccountBank(param.getOwnerAccountBank());
// feignParam.setOwnerAccountName(param.getOwnerAccountName());
// feignParam.setOwnerBankAccount(param.getOwnerBankAccount());
......@@ -1302,8 +1304,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "货主编码", "index", 5000));
fieldList.add(new ExcelField(1, "货主名称", "ownerUserNo", 5000));
fieldList.add(new ExcelField(0, "公司编码", "index", 5000));
fieldList.add(new ExcelField(1, "公司名称", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "联系电话", "ownerName", 5000));
fieldList.add(new ExcelField(3, "账户类型", "mobile", 5000));
fieldList.add(new ExcelField(4, "账户余额", "accountType", 5000));
......@@ -1329,7 +1331,12 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
rowData.add(new ExcelData(dto.getCreateTime()));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("预付运费账户列表", "预付运费账户列表", fieldList, dataList);
String title = "预付运费账户列表";
if(Objects.equals(param.getAccountType(),1)){
title = "保证金账户列表";
}
ExcelSheet excelSheet = new ExcelSheet(title, title, fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
......
......@@ -43,8 +43,8 @@ public class OwnerRunningWaterRecordServiceImpl implements OwnerRunningWaterReco
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(1, "公司编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "公司名称", "ownerName", 5000));
fieldList.add(new ExcelField(3, "联系电话", "mobile", 5000));
fieldList.add(new ExcelField(4, "账户类型", "accountType", 15000));
fieldList.add(new ExcelField(5, "流水类型", "runningWaterType", 5000));
......
......@@ -54,8 +54,8 @@ public class BreakContractSettlementOwnerDetailServiceImpl implements BreakCont
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "违约单号", "breakNo", 5000));
fieldList.add(new ExcelField(2, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(3, "货主编号", "ownUserNo", 5000));
fieldList.add(new ExcelField(4, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(3, "公司编号", "ownUserNo", 5000));
fieldList.add(new ExcelField(4, "公司名称", "ownerName", 5000));
fieldList.add(new ExcelField(5, "违约方", "breakContractPartyType", 5000));
fieldList.add(new ExcelField(6, "违约金额", "figure", 5000));
......
......@@ -115,8 +115,8 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(2, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(3, "货主编号", "ownUserNo", 5000));
fieldList.add(new ExcelField(4, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(3, "公司编号", "ownUserNo", 5000));
fieldList.add(new ExcelField(4, "公司名称", "ownerName", 5000));
fieldList.add(new ExcelField(5, "违约方", "breakContractPartyType", 5000));
fieldList.add(new ExcelField(6, "违约金额", "figure", 5000));
......
......@@ -18,6 +18,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.service.settle.SettlementPostService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam;
import com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam;
import lombok.extern.slf4j.Slf4j;
......@@ -51,6 +52,9 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired
private SettlementOrderChildRiskDao settlementOrderChildRiskDao;
@Autowired
private SettlementPostService settlementPostService;
@Transactional(rollbackFor = Exception.class)
@Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
......@@ -77,6 +81,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
settlementPostService.riskAdd(settlementOrderChildRisk.getId());
}
}
public void doOrderChildSync(BrokerOrderChildSyncMqParam mq){
......
......@@ -89,7 +89,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
String host = documentFeign.getHost().getData();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
String ownerMobile = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData().getMobile();
//String ownerMobile = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData().getMobile();
String ownerMobile = String.valueOf(orderInfoFeign.getOwnerUserNo());
FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData();
FeignAddressVO.Address receiveAddress = data.getReceiveAddress();
......@@ -251,6 +252,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()))
......@@ -278,6 +280,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);
......
......@@ -6,10 +6,7 @@ import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.vo.mq.*;
import com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
import com.clx.performance.vo.mq.settle.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
......@@ -60,6 +57,19 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void settlementDriverSettle(String childNo) {
SettlementDriverSettleMqParam mq = new SettlementDriverSettleMqParam();
mq.setChildNo(childNo);
MqDelay delay =
new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_DRIVER_SETTLE_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void invoiceTypeSync(String childNo) {
......@@ -114,6 +124,18 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void riskAdd(Integer id) {
SettlementOrderChildRiskAddMqParam mq = new SettlementOrderChildRiskAddMqParam();
mq.setId(id);
MqDelay delay = new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_RISK_ADD_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override
public void riskProcess(Integer id) {
SettlementOrderChildRiskProcessMqParam mq = new SettlementOrderChildRiskProcessMqParam();
......
......@@ -99,12 +99,17 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
if (settlementDriver != null) {
// 删除结算单
settlementDriverDao.deleteByKey(settlementDriver.getId());
settlementDriver.setInvoiceType(settlementDriverDetail.getInvoiceType());
settlementDriver.setInvoicingCompanyId(settlementDriverDetail.getInvoicingCompanyId());
settlementDriver.setInvoicingCompanyShorterName(settlementDriverDetail.getInvoicingCompanyShorterName());
settlementDriver.setInvoicingCompanyGroupCode(settlementDriverDetail.getInvoicingCompanyGroupCode());
settlementDriver.setPrepayFreightFlag(settlementDriverDetail.getPrepayFreightFlag());
settlementDriverDao.updateInvoiceCompany(settlementDriver);
}
}
else {
}
settlementOrderChildRiskDao.updateProcess(settlementOrderChildRisk);
......
......@@ -442,8 +442,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(1, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(1, "公司编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "公司名称", "ownerName", 5000));
fieldList.add(new ExcelField(3, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "实际净重(吨)", "weight", 5000));
......@@ -520,8 +520,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(1, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(1, "公司编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "公司名称", "ownerName", 5000));
fieldList.add(new ExcelField(3, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "实际净重(吨)", "weight", 5000));
......@@ -688,7 +688,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(1, "货主名称", "ownerName", 5000));
fieldList.add(new ExcelField(1, "公司名称", "ownerName", 15000));
fieldList.add(new ExcelField(2, "结算方式", "settlementWayMsg", 5000));
fieldList.add(new ExcelField(3, "开票公司", "invoicingCompanyShorterName", 5000));
fieldList.add(new ExcelField(4, "开票标识", "invoiceTypeMsg", 5000));
......
......@@ -34,7 +34,7 @@ public class SettlementOwnerExportServiceImpl implements SettlementOwnerExportSe
fieldList.add(new ExcelField(1, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(2, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(3, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(4, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(4, "公司编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(5, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(6, "装车净重", "loadNet", 5000));
......
......@@ -335,7 +335,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//当前账号
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerBindCardVO card = ownerAccountService.getOwnerBindCard(loginUserInfo.getUserNo());
OwnerBindCardVO card = ownerAccountService.getOwnerBindCard(loginUserInfo.getCompanyNo());
if(Objects.nonNull(card)){
vo.setPaymentBankCardNo(card.getOwnerBankAccount());
vo.setPaymentBankName(card.getOwnerAccountBank());
......@@ -369,7 +369,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//当前账号
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerBindCardVO card = ownerAccountService.getOwnerBindCard(loginUserInfo.getUserNo());
OwnerBindCardVO card = ownerAccountService.getOwnerBindCard(loginUserInfo.getCompanyNo());
if(Objects.nonNull(card)){
vo.setPaymentBankCardNo(card.getOwnerBankAccount());
vo.setPaymentBankName(card.getOwnerAccountBank());
......
......@@ -60,4 +60,11 @@ public class SettlementPostServiceImpl implements SettlementPostService {
}
}
@Override
public void riskAdd(Integer id) {
// 发送mq (风控新增)
settlementMqService.riskAdd(id);
}
}
......@@ -2,16 +2,14 @@ package com.clx.performance.service.settle;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.vo.mq.*;
import com.clx.performance.vo.mq.settle.SettlementInvoiceStatusUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.settle.SettlementOwnerDetialInvoiceCompanyUpdateMqParam;
import com.clx.performance.vo.mq.settle.SettlementPlatformAutoConfirmMqParam;
import com.clx.performance.vo.mq.settle.*;
public interface SettlementMqHandlerService {
void settlementDetailAdd(SettlementDetailAddMqParam mq);
void settlementStatistics(SettlementStatisticsMqParam mq);
void settlementDriverSettlement(SettlementDriverSettleMqParam mq);
void settle(SettlementSettleMqParam mq);
......@@ -27,6 +25,7 @@ public interface SettlementMqHandlerService {
String settlementNoGenerate();
void riskAdd(SettlementOrderChildRiskAddMqParam mq);
void riskProcess(SettlementOrderChildRiskProcessMqParam mq);
void invoiceCompanyUpdate(SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq);
......
......@@ -6,6 +6,7 @@ public interface SettlementMqService {
void settlementStatistics(String childNo);
void settlementStatistics(String childNo, Integer type);
void settlementDriverSettle(String childNo);
void invoiceTypeSync(String childNo);
......@@ -15,6 +16,8 @@ public interface SettlementMqService {
void payStatusSync(String childNo);
void riskAdd(Integer id);
void riskProcess(Integer id);
void updateInvoiceCompany(Integer id);
......
......@@ -15,4 +15,6 @@ public interface SettlementPostService {
void updateInvoice(List<String> childNoList);
void riskAdd(Integer id);
}
......@@ -12,7 +12,7 @@ public class OwnerCaseOutProvider {
public String ownerCaseOutPageList(@Param("param") PageOwnerCaseOutListParam param) {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.case_out_no, a.case_out_balance, a.account_type, " +
" a.case_out_no, a.case_out_balance, a.account_type,a.company_name, " +
" a.status,a.case_out_bank,a.case_out_bank_number,date_format(a.payment_time, '%Y-%m-%d %H:%i:%s') as payment_time,a.create_by,a.platform_payment_bank_number,a.platform_payment_bank,a.payment_by,a.payment_proof,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time,a.modified_time");
FROM("owner_case_out a");
if (StringUtils.isNotBlank(param.getBeginTime()) && StringUtils.isNotBlank(param.getEndTime())) {
......
......@@ -12,7 +12,7 @@ public class OwnerTopUpProvider {
public String ownerTopUpPageList(@Param("param") PageOwnerTopUpListParam param) {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.top_up_no, a.top_up_balance, a.account_type, " +
" a.top_up_no, a.top_up_balance, a.account_type,a.company_name, " +
" a.status,a.drawing_bank,a.enterprise_name,a.account_number,a.drawing_bank_number,a.drawing_proof,date_format(a.approval_time, '%Y-%m-%d %H:%i:%s') as approval_time,a.approval_by,a.approval_turn_down,a.create_by,date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time,a.modified_time");
FROM("owner_top_up a");
if (StringUtils.isNotBlank(param.getBeginTime()) && StringUtils.isNotBlank(param.getEndTime())) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论