浏览代码

Merge remote-tracking branch 'origin/master'

master
liangchao 1 天前
父节点
当前提交
fe50d6e2be
共有 25 个文件被更改,包括 262 次插入186 次删除
  1. 1
    3
      gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssDeviceReplace.java
  2. 2
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/log/OperateType.java
  3. 8
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssDeviceReplaceRepo.java
  4. 2
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/msgw/MsgwSendDetailsRepo.java
  5. 35
    0
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/AssDeviceReplaceController.java
  6. 0
    21
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/VehicleChangeController.java
  7. 9
    3
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManagerImpl.java
  8. 0
    7
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeManger.java
  9. 0
    114
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeMangerImpl.java
  10. 5
    0
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManager.java
  11. 8
    2
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManagerImpl.java
  12. 1
    1
      zhywpt-app-invw/src/main/java/cn/com/taiji/invw/dto/card/InvwCardDetailsExportRequestDTO.java
  13. 2
    1
      zhywpt-app-invw/src/main/java/cn/com/taiji/invw/dto/obu/InvwObuDetailsExportRequestDTO.java
  14. 10
    11
      zhywpt-app-invw/src/main/java/cn/com/taiji/invw/model/obu/InvwObuDetailsExcelModel.java
  15. 1
    1
      zhywpt-app-invw/src/main/resources/bootstrap.yml
  16. 17
    0
      zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendApplyViewAllRequestDto.java
  17. 17
    0
      zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendApplyViewAllResponseDto.java
  18. 4
    3
      zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendDetailsRequestDto.java
  19. 5
    1
      zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendDetailsResponseDto.java
  20. 12
    2
      zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/manager/messageWaitSend/MessageWaitSendManagerImpl.java
  21. 7
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderSignParamManager.java
  22. 9
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderSignQueryManager.java
  23. 1
    1
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/assSign/AbsAssSignManager.java
  24. 84
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/assSign/AssVehicleChangeManager.java
  25. 22
    15
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/vehicleChange/VehicleChangeReviewManagew.java

+ 1
- 3
gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssDeviceReplace.java 查看文件

@@ -1,12 +1,10 @@
package cn.com.taiji.core.entity.ass;

import cn.com.taiji.core.entity.AbstractStringPropertyUUIDEntity;
import cn.com.taiji.core.entity.dict.ass.CancelOrderStep;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.IdType;
import cn.com.taiji.core.entity.dict.basic.ObuStatus;
import cn.com.taiji.core.entity.dict.issue.RefundOperateType;
import lombok.Getter;
import lombok.Setter;

@@ -16,7 +14,7 @@ import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
* 设备更换
* 设备注销
*/
@Getter
@Setter

+ 2
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/log/OperateType.java 查看文件

@@ -149,6 +149,8 @@ public enum OperateType {
CHANGE_VEHICLE_RECE("车辆信息修改确认收货"),
CHANGE_VEHICLE_PAYQUERY("车辆信息修改支付查询"),
CHANGE_VEHICLE_PAYAPPLY("车辆信息修改支付申请"),
CHANGE_VEHICLE_SIGNQUERY("车辆信息修改签约查询"),
CHANGE_VEHICLE_SIGNPARAM("车辆信息修改获取签约参数"),
//客户信息修改
CUSTOMER_INFO_CHANGE_APPLY_SELF("个人客户信息修改申请"),
CUSTOMER_INFO_CHANGE_APPLY_UNIT("单位客户信息修改申请"),

+ 8
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssDeviceReplaceRepo.java 查看文件

@@ -0,0 +1,8 @@
package cn.com.taiji.core.repo.jpa.ass;

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.ass.AssDeviceReplace;

public interface AssDeviceReplaceRepo extends AbstractJpaRepo<AssDeviceReplace, String> {

}

+ 2
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/msgw/MsgwSendDetailsRepo.java 查看文件

@@ -16,6 +16,8 @@ public interface MsgwSendDetailsRepo extends AbstractJpaRepo<MsgwSendDetails, St
@Query("from MsgwSendDetails where applyId=?1 and sendResult=?2")
List<MsgwSendDetails> findByApplyIdAndSendResult(String applyId, MessageResult messageResult);

@Query("from MsgwSendDetails where applyId=?1")
List<MsgwSendDetails> findByApplyId(String applyId);

@Query("SELECT count(*) FROM MsgwSendDetails m WHERE 1 = 1 " +
"AND (:messageType IS NULL OR m.messageType = :messageType) " +

+ 35
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/AssDeviceReplaceController.java 查看文件

@@ -0,0 +1,35 @@
package cn.com.taiji.iaw.api.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.iaw.api.MyValidController;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyResponseDTO;
import cn.com.taiji.iaw.manager.ass.AssObuSupplyManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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 javax.validation.Valid;


@Api(tags = {"增补OBU"})
@RestController
@RequestMapping("/api/deviceReplace")
public class AssDeviceReplaceController extends MyValidController {

@Autowired
private AssObuSupplyManager manager;

// @ApiOperation("增补OBU提交申请")
// @PostMapping("/apply")
// public ApiResponse<AssObuSupplyApplyResponseDTO> apply(@Valid @RequestBody AssObuSupplyApplyRequestDTO dto) throws ManagerException {
// return ApiResponse.of(manager.apply(dto));
// }


}

+ 0
- 21
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/VehicleChangeController.java 查看文件

@@ -7,8 +7,6 @@ import cn.com.taiji.iaw.dto.ass.sign.ResignCheckResDTO;
import cn.com.taiji.iaw.dto.ass.sign.ResignResponseDTO;
import cn.com.taiji.iaw.dto.ass.vehicleChange.*;
import cn.com.taiji.iaw.dto.issue.order.OrderCommDTO;
import cn.com.taiji.iaw.dto.issue.order.PayApplyReqDTO;
import cn.com.taiji.iaw.dto.issue.order.PayApplyResDTO;
import cn.com.taiji.iaw.manager.ass.VehicleChangeManger;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -52,25 +50,6 @@ public class VehicleChangeController extends MyValidController {
VehicleChangeViewResDTO resDTO = manager.beforeReview(dto);
return ApiResponse.of(resDTO);
}
@ApiOperation(value = "8.支付查询")
@PostMapping(value = "/payQuery")
public ApiResponse<VehicleChangePayQyResDTO> payQuery(@Valid @RequestBody VehicleChangePayQyReqDTO reqDto) throws ManagerException {
VehicleChangePayQyResDTO res = manager.payQuery(reqDto);
return ApiResponse.of(res);
}

@ApiOperation("签约参数获取")
@PostMapping("/sign")
public ApiResponse<ResignResponseDTO> sign(@Valid @RequestBody VehicleChangeSignReqDTO dto) throws ManagerException {
ResignResponseDTO resDTO = manager.sign(dto);
return ApiResponse.of(resDTO);
}
@ApiOperation("签约检测")
@PostMapping("/signCheck")
public ApiResponse<ResignCheckResDTO> signCheck(@Valid @RequestBody VehicleChangeSignReqDTO dto) throws ManagerException {
ResignCheckResDTO resDTO = manager.signCheck(dto);
return ApiResponse.of(resDTO);
}
// todo 发货 managew写

// todo 确认收货

+ 9
- 3
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManagerImpl.java 查看文件

@@ -11,7 +11,9 @@ import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.entity.dict.ass.AssOrderStatus;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.core.entity.dict.ass.AssOrderType;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.ObuStatus;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.dict.issue.FeeCategory;
import cn.com.taiji.core.entity.dict.issue.OrderPayType;
@@ -32,6 +34,7 @@ import cn.com.taiji.core.repo.jpa.issue.IssueProductPayRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductRepo;
import cn.com.taiji.iaw.dto.ass.obuSupply.*;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.manager.comm.VehicleInfoManager;
import cn.com.taiji.iaw.manager.comm.VehicleInfoManagerImpl;
import cn.com.taiji.iaw.model.MyFinals;
import cn.com.taiji.iaw.model.base.VehicleInfoQueryDeviceModel;
@@ -60,7 +63,7 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
@Autowired
private QtkVehicleInfoRepo vehicleInfoRepo;
@Autowired
private VehicleInfoManagerImpl vehicleInfoManagerImpl;
private VehicleInfoManager vehicleInfoManager;
@Autowired
private QtkCustomerInfoRepo customerInfoRepo;
@Autowired
@@ -213,11 +216,14 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
}
}

VehicleInfoQueryDeviceModel model = vehicleInfoManagerImpl.getDevice(dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), findAgencyIdByToken(dto.getAccessToken()), vehicleInfo);
VehicleInfoQueryDeviceModel model = vehicleInfoManager.getDevice(dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), findAgencyIdByToken(dto.getAccessToken()), vehicleInfo);
if (model == null){
throw new ManagerException("没有获取到正常状态的卡,不能进行增补OBU");
}
if (!StringUtils.isEmpty(model.getObuId())){
if (model.getCardStatus() != CardStatus.ZC){
throw new ManagerException("没有获取到正常状态的卡,不能进行增补OBU");
}
if (model.getObuStatus() == ObuStatus.ZC){
throw new ManagerException("查询到该车辆有正常状态的OBU,无需增补OBU");
}


+ 0
- 7
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeManger.java 查看文件

@@ -17,16 +17,9 @@ import cn.com.taiji.iaw.dto.issue.order.PayApplyResDTO;
public interface VehicleChangeManger {
VehicleChangeViewResDTO beforeReview(VehicleChangeViewReqDTO dto) throws ManagerException;

ResignCheckResDTO signCheck(VehicleChangeSignReqDTO dto) throws ManagerException;

ResignResponseDTO sign(VehicleChangeSignReqDTO dto) throws ManagerException;

VehicleChangeApplyResDTO apply(VehicleChangeApplyReqDTO dto) throws ManagerException;

VehicleChangeProResDTO proSelect(VehicleChangeProReqDTO dto) throws ManagerException;

VehicleChangePayQyResDTO payQuery(VehicleChangePayQyReqDTO reqDto) throws ManagerException;


void orderReceiveGoods(OrderCommDTO reqDto) throws ManagerException;
}

+ 0
- 114
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/VehicleChangeMangerImpl.java 查看文件

@@ -174,35 +174,6 @@ public class VehicleChangeMangerImpl extends AbstractIawManager implements Vehic
resDTO.setTap(assOrderinfo.getAuditReason()+"请仔细核对新车和旧车区别,决定是否审核通过");
return resDTO;
}
@Override
public VehicleChangePayQyResDTO payQuery(VehicleChangePayQyReqDTO reqDto) throws ManagerException {
VehicleChangePayQyResDTO resDTO = new VehicleChangePayQyResDTO();
AssOrderinfo orderinfo = checkAssOrder(reqDto.getOrderNo());
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(orderinfo.getOrderNo());
List<IssueOrderPay> issueOrderPays = payTools.paymentDetections(orderinfo.getOrderNo(), OrderType.AFTERSALE);
//是否存在未支付的
boolean b = issueOrderPays.stream().anyMatch(pay -> !pay.getPayStatus().equals(OrderPayStatus.SUCCESS));
if (!b) {
//已支付
orderinfo.setOrderStep(AssOrderStep.WAITING_SIGN);
assOrderinfoRepo.merge(orderinfo);
resDTO.setPaymentStatus(1);
//通知渠道
asyCallBackQd(orderinfo.getOrderNo(), vehicleInfoChange.getCallAgencyId(), notifyChannel(orderinfo, vehicleInfoChange));
}else {
List<OrderPayQueryModel> collect = issueOrderPays.stream().map(p -> {
OrderPayQueryModel model = copyProperties(p, new OrderPayQueryModel());
model.setOrderPayId(p.getId());
return model;
}).collect(Collectors.toList());
resDTO.setOrderNo(orderinfo.getOrderNo());
resDTO.setPaymentStatus(0);
resDTO.setSumFee(vehicleInfoChange.getAmount());
resDTO.setDatas(collect);
}
issueOrderPayRepo.saveAll(issueOrderPays);
return resDTO;
}

@Override
public void orderReceiveGoods(OrderCommDTO reqDto) throws ManagerException {
@@ -233,92 +204,7 @@ public class VehicleChangeMangerImpl extends AbstractIawManager implements Vehic
// sysPersistOperateLog(OperateType.CHANGE_VEHICLE_RECE,assOrderinfo.getId(),reqDto.getOrderSource(), openId,"车辆信息修改确认收货");
}

@Override
public ResignCheckResDTO signCheck(VehicleChangeSignReqDTO dto) throws ManagerException {
// AssOrderinfo assOrderinfo = checkAssOrder(dto.getOrderNo());
// AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(dto.getOrderNo());
// String productId = vehicleInfoChange.getProductId();
// if (!hasText(productId)) {
// QtkCardInfo cardInfo = qtkCardInfoRepo.findByVehicleIdAndCardStatus(assOrderinfo.getCardId());
// //业务进行到这里,一定有正常的卡信息,这里抛异常提示
// if (cardInfo == null) throw new ManagerException("车辆信息变更无法进行签约");
// productId = cardInfo.getPackageId();
// }
// AccountInfo accountInfo = findAccountInfoByToken(dto.getAccessToken());
// ResignRequest request = new ResignRequest();
// request.setWxOpenId(dto.getSubOpenId());
// request.setProductId(productId);
// //校验新车牌
// request.setVehicleId(vehicleInfoChange.getVehiclePlate()+"_"+vehicleInfoChange.getVehiclePlateColor());
// request.setName(accountInfo.getUserName());
// request.setIdNum(accountInfo.getIdNum());
// request.setFlag(1);
// SignQueryResponse response = jsonPostRepeat(request);
// ResignCheckResDTO resignCheckResDTO = copyProperties(response, new ResignCheckResDTO());
// //签约成功,检测是否需要升级设备,是订单改带升级,否结束订单
// if (!resignCheckResDTO.getUserState().equals("UNAUTHORIZED")) {
// //需要升级的,肯定没有选择产品(更换渠道)
// //不需要升级的分两种情况:
// //1、有产品,代表其更换渠道了,需要判断需不需要发货,不需要发货,签约完侯就是待激活
// //2、没有产品,就结束了
// AssDeviceUpgrade orderType = assDeviceUpgradeRepo.findByOrderNoAndOrderType(dto.getOrderNo(), AssOrderType.VEHICLE_UPDATE);
// if (orderType != null) {
// assOrderinfo.setOrderStep(AssOrderStep.WAITING_UPGRADE);
// }else {
// if (hasText(vehicleInfoChange.getProductId())) {
// if (ShippingStatus.WAIT_SHIPPING == vehicleInfoChange.getShippingStatus()) {
// assOrderinfo.setOrderStep(AssOrderStep.WAITING_SEND);
// }else {
// assOrderinfo.setOrderStep(AssOrderStep.WAITING_ACTIVE);
// }
// }else {
// assOrderinfo.setOrderStep(AssOrderStep.COMPLETED);
// assOrderinfo.setOrderStatus(AssOrderStatus.FINISHED);
// }
// }
// assOrderinfoRepo.merge(assOrderinfo);
// //通知渠道
// asyCallBackQd(assOrderinfo.getOrderNo(), vehicleInfoChange.getCallAgencyId(), notifyChannel(assOrderinfo, vehicleInfoChange));
//
// }
// return resignCheckResDTO;
return null;
}

@Override
public ResignResponseDTO sign(VehicleChangeSignReqDTO dto) throws ManagerException {
AssOrderinfo assOrderinfo = checkAssOrder(dto.getOrderNo());
if (AssOrderStep.WAITING_SIGN != assOrderinfo.getOrderStep()) {
throw new ManagerException("当前阶段'"+assOrderinfo.getOrderStep().getStep()+"'不可签约");
}
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(dto.getOrderNo());
String productId = vehicleInfoChange.getProductId();
String agencyId = vehicleInfoChange.getAccountId();
if (!hasText(productId)) {
QtkCardInfo cardInfo = qtkCardInfoRepo.findByVehicleIdAndCardStatus(assOrderinfo.getCardId());
if (cardInfo == null) throw new ManagerException("未找到卡信息,车辆信息变更无法进行签约");
productId = cardInfo.getPackageId();
agencyId = cardInfo.getAgencyId();
}
ResignResponseDTO responseDTO = new ResignResponseDTO();
//渠道订单没有渠道配置或签约地址默认和黔通签约
AssAgencyConfig agencyConfig = assAgencyConfigRepo.findByAgencyId(agencyId);
if (agencyConfig != null && !agencyConfig.getQtSign()){
responseDTO.setChannelSignAppId(agencyConfig.getChannelSignAppId());
responseDTO.setChannelSignUrl(agencyConfig.getChannelSignUrl());
}
AccountInfo accountInfo = findAccountInfoByToken(dto.getAccessToken());
ResignRequest request = new ResignRequest();
request.setWxOpenId(dto.getSubOpenId());
request.setProductId(productId);
//新车牌签约
request.setVehicleId(vehicleInfoChange.getVehiclePlate()+"_"+vehicleInfoChange.getVehiclePlateColor());
request.setName(accountInfo.getUserName());
request.setIdNum(accountInfo.getIdNum());
request.setFlag(2);
SignQueryResponse response = jsonPostRepeat(request);
return copyProperties(response, responseDTO);
}

private AssOrderinfo checkAssOrder(String orderNo) throws ManagerException {
AssOrderinfo assOrderinfo = assOrderinfoRepo.findByOrderNo(orderNo);

+ 5
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManager.java 查看文件

@@ -2,7 +2,10 @@ package cn.com.taiji.iaw.manager.comm;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.iaw.dto.comm.*;
import cn.com.taiji.iaw.model.base.VehicleInfoQueryDeviceModel;


/**
@@ -20,4 +23,6 @@ public interface VehicleInfoManager {
VehicleInfoQueryDeviceResponseDTO queryDevice(VehicleInfoQueryDeviceRequestDTO dto) throws ManagerException;

QueryCardInfoAndCustomerTelResponseDTO queryCardInfoAndCustomerTel(QueryCardInfoAndCustomerTelRequestDTO dto) throws ManagerException;

VehicleInfoQueryDeviceModel getDevice(SourceType sourceType, String openId, String agencyId, QtkVehicleInfo vehicleInfo) throws ManagerException;
}

+ 8
- 2
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManagerImpl.java 查看文件

@@ -172,7 +172,10 @@ public class VehicleInfoManagerImpl extends AbstractIawManager implements Vehicl
QtkCardInfo qtkCardInfo = cardInfos.stream()
.filter(cardInfo -> cardInfo.getCardStatus() == CardStatus.ZC)
.findFirst()
.orElse(cardInfos.isEmpty() ? null : cardInfos.get(0));
.orElseGet(() -> cardInfos.stream()
.filter(cardInfo -> cardInfo.getCardStatus() == CardStatus.KGS)
.findFirst()
.orElse(cardInfos.isEmpty() ? null : cardInfos.get(0)));
copyProperties(qtkCardInfo , model);
}

@@ -181,7 +184,10 @@ public class VehicleInfoManagerImpl extends AbstractIawManager implements Vehicl
QtkObuInfo qtkObuInfo = obuInfos.stream()
.filter(obuInfo -> obuInfo.getObuStatus() == ObuStatus.ZC)
.findFirst()
.orElse(obuInfos.isEmpty() ? null : obuInfos.get(0));
.orElseGet(() -> obuInfos.stream()
.filter(obuInfo -> obuInfo.getObuStatus() == ObuStatus.BQGS)
.findFirst()
.orElse(obuInfos.isEmpty() ? null : obuInfos.get(0)));
copyProperties(qtkObuInfo , model,"cardId");
}
return model;

+ 1
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/dto/card/InvwCardDetailsExportRequestDTO.java 查看文件

@@ -21,7 +21,7 @@ import java.util.Map;
@Setter
@Getter
@ApiModel(description = "卡设备导出")
public class InvwCardDetailsExportRequestDTO extends AbstractStaffBizPageRequestDTO {
public class InvwCardDetailsExportRequestDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "起始卡号")
private String startId;

+ 2
- 1
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/dto/obu/InvwObuDetailsExportRequestDTO.java 查看文件

@@ -1,6 +1,7 @@
package cn.com.taiji.invw.dto.obu;

import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO;
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -17,7 +18,7 @@ import lombok.Setter;
@Setter
@Getter
@ApiModel(description = "签设备导出")
public class InvwObuDetailsExportRequestDTO extends AbstractStaffBizPageRequestDTO {
public class InvwObuDetailsExportRequestDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "起始签号")
private String startId;

+ 10
- 11
zhywpt-app-invw/src/main/java/cn/com/taiji/invw/model/obu/InvwObuDetailsExcelModel.java 查看文件

@@ -1,6 +1,5 @@
package cn.com.taiji.invw.model.obu;

import cn.com.taiji.core.entity.dict.basic.CardType;
import cn.com.taiji.core.entity.dict.basic.DeviceVersion;
import cn.com.taiji.core.entity.dict.basic.ObuType;
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus;
@@ -45,23 +44,23 @@ public class InvwObuDetailsExcelModel {
@ExcelProperty(value = "签型号", index = 3, converter = EasyExcelEnumConverter.class)
private DeviceVersion version;

@ColumnWidth(10)
@ExcelProperty(value = "卡号", index = 4)
private String cardId;
@ColumnWidth(10)
@ExcelProperty(value = "卡类型", index = 5)
private CardType cardType;
// @ColumnWidth(10)
// @ExcelProperty(value = "卡号", index = 4)
// private String cardId;
//
// @ColumnWidth(10)
// @ExcelProperty(value = "卡类型", index = 5, converter = EasyExcelEnumConverter.class)
// private CardType cardType;

@ColumnWidth(10)
@ExcelProperty(value = "仓库编号", index = 6)
@ExcelProperty(value = "仓库编号", index = 4)
private String storeCode;

@ColumnWidth(10)
@ExcelProperty(value = "仓库名称", index = 7)
@ExcelProperty(value = "仓库名称", index = 5)
private String storeName;

@ColumnWidth(10)
@ExcelProperty(value = "设备状态", index = 8, converter = EasyExcelEnumConverter.class)
@ExcelProperty(value = "设备状态", index = 6, converter = EasyExcelEnumConverter.class)
private InvDeviceStatus status;
}

+ 1
- 1
zhywpt-app-invw/src/main/resources/bootstrap.yml 查看文件

@@ -50,4 +50,4 @@ app:
# 自定义服务地址map,key为服务名、value为服务地址。如果配置了服务地址,接口调用时请求到该地址,如果没配置,默认请求到gateway
serviceAddr:
sample: http://127.0.0.1:8086
issues: http://127.0.0.1:9071
# issues: http://127.0.0.1:9071

+ 17
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendApplyViewAllRequestDto.java 查看文件

@@ -0,0 +1,17 @@
package cn.com.taiji.msgw.dto;

import javax.validation.constraints.NotBlank;

import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class MessageSendApplyViewAllRequestDto extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "applyId",required = true)
@NotBlank(message = "applyId不能为空")
private String applyId;
}

+ 17
- 0
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendApplyViewAllResponseDto.java 查看文件

@@ -0,0 +1,17 @@
package cn.com.taiji.msgw.dto;

import cn.com.taiji.common.entity.BaseEntity;
import cn.com.taiji.core.entity.msgw.MsgwSendApply;
import cn.com.taiji.core.entity.msgw.MsgwSendDetails;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
public class MessageSendApplyViewAllResponseDto extends BaseEntity {

private MsgwSendApply sendApply;
private List<MsgwSendDetails> sendDetails;
}

+ 4
- 3
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendDetailsRequestDto.java 查看文件

@@ -11,7 +11,8 @@ import lombok.Setter;
@Setter
public class MessageSendDetailsRequestDto extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "子表id",required = true)
@NotBlank(message = "id不能为空")
private String id;
@ApiModelProperty(value = "detailsId")
private String detailsId;
@ApiModelProperty(value = "applyId")
private String applyId;
}

+ 5
- 1
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/dto/MessageSendDetailsResponseDto.java 查看文件

@@ -1,13 +1,17 @@
package cn.com.taiji.msgw.dto;

import cn.com.taiji.common.entity.BaseEntity;
import cn.com.taiji.core.entity.msgw.MsgwSendApply;
import cn.com.taiji.core.entity.msgw.MsgwSendDetails;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
public class MessageSendDetailsResponseDto extends BaseEntity {

private MsgwSendDetails sendDetails;
private MsgwSendApply sendApply;
private List<MsgwSendDetails> sendDetails;
}

+ 12
- 2
zhywpt-app-msgw/src/main/java/cn/com/taiji/msgw/manager/messageWaitSend/MessageWaitSendManagerImpl.java 查看文件

@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;

import cn.com.taiji.common.pub.BeanTools;
import cn.com.taiji.core.entity.msgw.MsgwSendApply;
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.WxMiniSendMessageResponse;
import cn.com.taiji.core.model.comm.protocol.ats.weiXin.WxMpSendMessageResponse;
import cn.com.taiji.core.model.comm.protocol.ias.message.HltSendShortResponse;
@@ -211,9 +212,18 @@ public class MessageWaitSendManagerImpl extends AbstractCommManager implements M

@Override
public MessageSendDetailsResponseDto view(MessageSendDetailsRequestDto request) {
MsgwSendDetails sendDetails = sendDetailsRepo.findById(request.getId()).orElse(null);
MessageSendDetailsResponseDto response = new MessageSendDetailsResponseDto();
response.setSendDetails(sendDetails);
List<MsgwSendDetails> list = new ArrayList<>();
if (request.getApplyId() != null){
MsgwSendApply apply = sendApplyRepo.findById(request.getApplyId()).orElse(null);
response.setSendApply(apply);
list = sendDetailsRepo.findByApplyId(request.getApplyId());
response.setSendDetails(list);
}else {
MsgwSendDetails sendDetails = sendDetailsRepo.findById(request.getDetailsId()).orElse(null);
list.add(sendDetails);
response.setSendDetails(list);
}
return response;
}


+ 7
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderSignParamManager.java 查看文件

@@ -10,6 +10,7 @@ import cn.com.taiji.core.model.comm.protocol.ias.ass.AssSignParamResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.manager.ass.assSign.AssSignChangeManager;
import cn.com.taiji.ias.manager.ass.assSign.AssVehicleChangeManager;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -30,6 +31,8 @@ public class AssOrderSignParamManager extends AbstractAssManager<AssSignParamReq

@Autowired
private AssSignChangeManager assSignChangeManager;
@Autowired
private AssVehicleChangeManager assVehicleChangeManager;
@Override
protected String getDataId(AssSignParamRequest req) {
return "";
@@ -60,6 +63,10 @@ public class AssOrderSignParamManager extends AbstractAssManager<AssSignParamReq
response = assSignChangeManager.getParam(accountInfo, assOrderinfo);
response.setOperateType(OperateType.SIGN_CHANGE_SIGNPARAM);
break;
case VEHICLE_UPDATE:
response = assVehicleChangeManager.getParam(accountInfo, assOrderinfo);
response.setOperateType(OperateType.CHANGE_VEHICLE_SIGNPARAM);
break;
}
return response;
}

+ 9
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderSignQueryManager.java 查看文件

@@ -9,6 +9,7 @@ import cn.com.taiji.core.model.comm.protocol.ias.ass.AssSignQueryResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.manager.ass.assSign.AssSignChangeManager;
import cn.com.taiji.ias.manager.ass.assSign.AssVehicleChangeManager;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.apache.kafka.common.protocol.types.Field;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +32,8 @@ public class AssOrderSignQueryManager extends AbstractAssManager<AssSignQueryReq

@Autowired
private AssSignChangeManager assSignChangeManager;
@Autowired
private AssVehicleChangeManager assVehicleChangeManager;

@Override
protected String getDataId(AssSignQueryRequest req) {
@@ -62,6 +65,9 @@ public class AssOrderSignQueryManager extends AbstractAssManager<AssSignQueryReq
case PLATE_INFO_CHANGE://签约信息变更
userState = assSignChangeManager.check(accountInfo,orderinfo,req);
break;
case VEHICLE_UPDATE://车辆信息变更
userState = assVehicleChangeManager.check(accountInfo,orderinfo,req);
break;
// case todo
}
dataStream.put(SIGN,userState);
@@ -79,6 +85,9 @@ public class AssOrderSignQueryManager extends AbstractAssManager<AssSignQueryReq
case PLATE_INFO_CHANGE://签约信息变更
response.setOperateType(OperateType.SING_CHANGE_SIGNQUERY);
break;
case VEHICLE_UPDATE://车辆信息变更
response.setOperateType(OperateType.CHANGE_VEHICLE_SIGNQUERY);
break;
}
return response;
}

+ 1
- 1
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/assSign/AbsAssSignManager.java 查看文件

@@ -120,7 +120,7 @@ public abstract class AbsAssSignManager {
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("产品编号不存在");
}
String vehicleId = getVehicleId(orderinfo,dataStream);
if (StringUtils.hasText(vehicleId)) {
if (!StringUtils.hasText(vehicleId)) {
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("车辆编号不存在");
}
return getRequest(accountInfo, productId, vehicleId,flag);

+ 84
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/assSign/AssVehicleChangeManager.java 查看文件

@@ -0,0 +1,84 @@
package cn.com.taiji.ias.manager.ass.assSign;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.pub.TimeTools;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.ass.AssVehicleInfoChange;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.core.model.comm.protocol.ats.model.AssOrderChannelNoticeModel;
import cn.com.taiji.core.model.comm.protocol.ats.model.VehicleChangeModel;
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssSignQueryRequest;
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo;
import cn.com.taiji.core.repo.jpa.ass.AssVehicleInfoChangeRepo;
import cn.com.taiji.ias.manager.ass.AssCommonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Map;

/**
* @Author:ChenChao
* @Date:2025/9/24 22:16
* @Filename:AssVehicleChangeManager
* @description:
*/
@Service
public class AssVehicleChangeManager extends AbsAssSignManager{

private static final String CARCHANGE = "carChange";
@Autowired
private AssVehicleInfoChangeRepo assVehicleInfoChangeRepo;
@Autowired
private AssOrderinfoRepo orderInfoRepo;
@Autowired
private AssCommonUtil assCommonUtil;
@Override
public String getAgencyId(AssOrderinfo orderinfo, Map<String, Object> dataStream) throws ServiceHandleException {
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(orderinfo.getOrderNo());
dataStream.put(CARCHANGE,vehicleInfoChange);
return vehicleInfoChange.getAccountId();
}

@Override
public String getProductId(AssOrderinfo orderinfo, Map<String, Object> dataStream) throws ServiceHandleException {
AssVehicleInfoChange infoChange = (AssVehicleInfoChange) dataStream.get(CARCHANGE);
return infoChange.getProductId();
}

@Override
public String getVehicleId(AssOrderinfo orderinfo, Map<String, Object> dataStream) {
AssVehicleInfoChange infoChange = (AssVehicleInfoChange) dataStream.get(CARCHANGE);
return infoChange.getVehiclePlate() + "_" + infoChange.getVehiclePlateColor();
}

@Override
public void persistHandle(AssOrderinfo orderinfo, AssSignQueryRequest req, Map<String, Object> dataStream) {
AssVehicleInfoChange infoChange = (AssVehicleInfoChange) dataStream.get(CARCHANGE);
orderinfo.setOrderStep(AssOrderStep.WAITING_UPGRADE);
orderInfoRepo.merge(orderinfo);
//通知渠道
assCommonUtil.asyCallBackQd(orderinfo.getOrderNo(), infoChange.getCallAgencyId(), notifyChannel(orderinfo, infoChange));

}
//车辆信息变更渠道通知内容
public AssOrderChannelNoticeModel notifyChannel(AssOrderinfo assOrderinfo, AssVehicleInfoChange vehicleInfoChange) {
//通知渠道
AssOrderChannelNoticeModel callModel = new AssOrderChannelNoticeModel();
callModel.setOrderNo(assOrderinfo.getOrderNo());
callModel.setOrderType(assOrderinfo.getOrderType().getCode());
callModel.setOrderStatus(assOrderinfo.getOrderStatus().getCode());
callModel.setReason(assOrderinfo.getCancelReason());
if (assOrderinfo.getCancelTime() != null) {
callModel.setCancelTime(assOrderinfo.getCancelTime().format(TimeTools.ISO_LOCAL_DATE_TIME));
}
callModel.setApplyTime(assOrderinfo.getApplyTime().format(TimeTools.ISO_LOCAL_DATE_TIME));
VehicleChangeModel vehicleChangeModel = new VehicleChangeModel();
vehicleChangeModel.setOrderStep(assOrderinfo.getOrderStep().getCode());
vehicleChangeModel.setVehicleId(vehicleInfoChange.getVehiclePlate()+"_"+vehicleInfoChange.getVehiclePlateColor());
vehicleChangeModel.setOldVehicleId(assOrderinfo.getVehicleId());
vehicleChangeModel.setFeeVehicleType(vehicleInfoChange.getType());
vehicleChangeModel.setOldFeeVehicleType(vehicleInfoChange.getOldType());
callModel.setVehicleChangeInfo(vehicleChangeModel);
return callModel;
}
}

+ 22
- 15
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/vehicleChange/VehicleChangeReviewManagew.java 查看文件

@@ -36,7 +36,7 @@ import java.util.Map;
@Service
public class VehicleChangeReviewManagew extends AbstractCommManager {

public static final String CAR_CHANGE = "carChange";
public static final String CAR_CHANGE = "carChange";//主体审核用到

@Autowired
private AssVehicleInfoChangeRepo assVehicleInfoChangeRepo;
@@ -85,27 +85,31 @@ public class VehicleChangeReviewManagew extends AbstractCommManager {
//通过处理
private void tg(AssOrderAuditRequest request, AssOrderinfo order, Staff staff, Map<String, Object> dataStream) throws ServiceHandleException {
AssVehicleInfoChange vehicleInfoChange = assVehicleInfoChangeRepo.findByOrderNo(request.getOrderNo());
QtkVehicleInfo oldVehicle = qtkVehicleInfoRepo.findByVehicleId(order.getVehicleId());
Boolean flag = false;//是否需要升级设备
//车牌变更(只有记账卡,才有支付签约问题)
if (order.getCardType() == CardType.CHARGE_CARD && vehicleInfoChange.getChangeType()) {
//有产品说明渠道不支持更换车牌,选择产品进行支付签约
if (hasText(vehicleInfoChange.getProductId())) {
order.setOrderStep(AssOrderStep.WAITING_PAY);
//车牌变更
if (vehicleInfoChange.getChangeType()) {
flag = true;
//(只有记账卡,才有支付签约问题)
if (order.getCardType() == CardType.CHARGE_CARD) {
//有产品说明渠道不支持更换车牌,选择产品进行支付签约
if (hasText(vehicleInfoChange.getProductId())) {
order.setOrderStep(AssOrderStep.WAITING_PAY);
}else {
order.setOrderStep(AssOrderStep.WAITING_UPGRADE);
}
}else {
//渠道支持(包括必须支持,如:储值卡的直接变更)车牌发生变化需要重新签约
order.setOrderStep(AssOrderStep.WAITING_SIGN);
flag = true;
order.setOrderStep(AssOrderStep.WAITING_UPGRADE);
}
}
//车辆信息变更(车型发生变化,需要设备升级,如果需要选择产品重新发行,就没有升级的步骤)
QtkVehicleInfo oldVehicle = qtkVehicleInfoRepo.findByVehicleId(order.getVehicleId());
if (!hasText(vehicleInfoChange.getProductId()) && !vehicleInfoChange.getType().equals(oldVehicle.getType())) {
//收费车型发生改变,升级设备
if (!flag) {//如果flag 为true 说明前面需要签约,不可再改变订单阶段(升级设备的是交给签约判断),为false则阶段是升级设备
if (!flag){
//车牌没有发生变更,才需要走此逻辑(看车型变化是否需要设备升级)
if (!vehicleInfoChange.getType().equals(oldVehicle.getType())) {
order.setOrderStep(AssOrderStep.WAITING_UPGRADE);
flag = true;
}
flag = true;
}

if (flag){
//下黑6
CardInRequest cardInRequest = new CardInRequest();
@@ -121,6 +125,9 @@ public class VehicleChangeReviewManagew extends AbstractCommManager {
//设备需升级写入表
inDeviceUpTable(order,vehicleInfoChange);

}else {
order.setOrderStep(AssOrderStep.COMPLETED);
order.setOrderStatus(AssOrderStatus.FINISHED);
}
//变更车辆信息
changeVehicle(oldVehicle,vehicleInfoChange);

正在加载...
取消
保存