huminghao 4 дней назад
Родитель
Сommit
33e5936ef5

+ 7
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/comm/VehicleInfoController.java Просмотреть файл

@@ -44,12 +44,18 @@ public class VehicleInfoController extends MyValidController {
return ApiResponse.of(manager.view(dto));
}

@ApiOperation("查看车辆设备(卡、签)")
@ApiOperation("查看车辆设备(卡、签、人信息)")
@PostMapping("/queryDevice")
public ApiResponse<VehicleInfoQueryDeviceResponseDTO> queryDevice(@Valid @RequestBody VehicleInfoQueryDeviceRequestDTO dto) throws ManagerException {
return ApiResponse.of(manager.queryDevice(dto));
}

@ApiOperation("查看车辆(卡、人信息)")
@PostMapping("/queryCardInfoAndCustomerTel")
public ApiResponse<QueryCardInfoAndCustomerTelResponseDTO> queryCardInfoAndCustomerTel(@Valid @RequestBody QueryCardInfoAndCustomerTelRequestDTO dto) throws ManagerException {
return ApiResponse.of(manager.queryCardInfoAndCustomerTel(dto));
}





+ 7
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/etcTransaction/QueryProvinceEtcTransactionFlowResponseDTO.java Просмотреть файл

@@ -3,9 +3,11 @@ package cn.com.taiji.iaw.dto.ass.etcTransaction;
import cn.com.taiji.common.model.BaseModel;
import cn.com.taiji.core.model.comm.protocol.ias.province.model.GetOriginListResModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.List;


@@ -21,6 +23,11 @@ import java.util.List;
@ApiModel(description = "省中心车辆通行流水查询返回")
public class QueryProvinceEtcTransactionFlowResponseDTO extends BaseModel {

@ApiModelProperty("金额合计")
private BigDecimal totalTollAmount;

@ApiModelProperty("通信次数")
private Integer transCount;

private List<GetOriginListResModel> modelList;


+ 22
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/comm/QueryCardInfoAndCustomerTelRequestDTO.java Просмотреть файл

@@ -0,0 +1,22 @@
package cn.com.taiji.iaw.dto.comm;

import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;

@ApiModel(description = "查看车辆(卡、人信息)详情")
@Getter
@Setter
@Accessors(chain = true)
public class QueryCardInfoAndCustomerTelRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "车辆id,车牌号_车牌颜色")
@NotBlank(message = "车辆编号必传")
private String vehicleId;

}

+ 23
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/comm/QueryCardInfoAndCustomerTelResponseDTO.java Просмотреть файл

@@ -0,0 +1,23 @@
package cn.com.taiji.iaw.dto.comm;

import cn.com.taiji.common.model.BaseModel;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import cn.com.taiji.core.entity.dict.basic.ObuStatus;
import cn.com.taiji.iaw.model.base.CardInfoModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.List;

@Getter
@Setter
public class QueryCardInfoAndCustomerTelResponseDTO extends BaseModel {
@ApiModelProperty(value = "用户手机号")
private String customerTel;

List<CardInfoModel> cardInfoList;

}

+ 6
- 2
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssRefundApplyInfoManagerImpl.java Просмотреть файл

@@ -28,7 +28,6 @@ import cn.com.taiji.core.repo.request.ass.AssRefundApplyInfoPageRequest;
import cn.com.taiji.core.repo.request.ass.GetOriginListResPageRequest;
import cn.com.taiji.iaw.dto.ass.etcTransaction.*;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.model.MyFinals;
import cn.com.taiji.iaw.model.etcTransaction.ProvinceEtcTransactionFlowExcelModel;
import cn.com.taiji.iaw.tools.SourceTargetMapper;
import org.apache.commons.compress.utils.Lists;
@@ -95,9 +94,14 @@ public class AssRefundApplyInfoManagerImpl extends AbstractIawManager implements
.divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP));
modelList.add(model);
}
BigDecimal totalTollAmount = modelList.stream()
.map(GetOriginListResModel::getTollAmount) // 假设有 getTollAmount() 方法
.filter(amount -> amount != null) // 过滤掉 null 值
.reduce(BigDecimal.ZERO, BigDecimal::add);
QueryProvinceEtcTransactionFlowResponseDTO responseDTO = new QueryProvinceEtcTransactionFlowResponseDTO();
responseDTO.setTotalTollAmount(totalTollAmount);
responseDTO.setTransCount(modelList.size());
responseDTO.setModelList(modelList);

return responseDTO;
}


+ 2
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManager.java Просмотреть файл

@@ -18,4 +18,6 @@ public interface VehicleInfoManager {
VehicleInfoViewResponseDTO view(VehicleInfoViewRequestDTO dto) throws ManagerException;

VehicleInfoQueryDeviceResponseDTO queryDevice(VehicleInfoQueryDeviceRequestDTO dto) throws ManagerException;

QueryCardInfoAndCustomerTelResponseDTO queryCardInfoAndCustomerTel(QueryCardInfoAndCustomerTelRequestDTO dto) throws ManagerException;
}

+ 48
- 3
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/VehicleInfoManagerImpl.java Просмотреть файл

@@ -2,6 +2,7 @@ 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.common.pub.BeanTools;
import cn.com.taiji.common.pub.CollectionTools;
import cn.com.taiji.core.entity.basic.QtkCardInfo;
import cn.com.taiji.core.entity.basic.QtkCustomerInfo;
@@ -10,19 +11,24 @@ import cn.com.taiji.core.entity.basic.QtkVehicleInfo;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import cn.com.taiji.core.entity.dict.basic.ObuStatus;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.user.Staff;
import cn.com.taiji.core.repo.jpa.basic.QtkCardInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkCustomerInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkObuInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkVehicleInfoRepo;
import cn.com.taiji.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.core.repo.request.basic.QtkVehicleInfoPageRequest;
import cn.com.taiji.iaw.dto.comm.*;
import cn.com.taiji.iaw.manager.AbstractCommManager;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.model.MyFinals;
import cn.com.taiji.iaw.model.base.CardInfoModel;
import cn.com.taiji.iaw.tools.WxLoginUserUtil;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;


@@ -34,7 +40,7 @@ import java.util.List;
* @version: 1.0
*/
@Service
public class VehicleInfoManagerImpl extends AbstractCommManager implements VehicleInfoManager {
public class VehicleInfoManagerImpl extends AbstractIawManager implements VehicleInfoManager {

@Autowired
private QtkVehicleInfoRepo repo;
@@ -46,6 +52,8 @@ public class VehicleInfoManagerImpl extends AbstractCommManager implements Vehic
private QtkObuInfoRepo obuInfoRepo;
@Autowired
private QtkCustomerInfoRepo customerInfoRepo;
@Autowired
private StaffRepo staffRepo;

@Override
public Pagination page(VehicleInfoPageRequestDTO dto) throws ManagerException {
@@ -94,7 +102,11 @@ public class VehicleInfoManagerImpl extends AbstractCommManager implements Vehic

if (SourceType.SERVICE_HALL.equals(dto.getOrderSource())) {
//判断是否是黔通智联
if (findAgencyIdByToken(dto.getAccessToken()).equals(MyFinals.QTZL_AGENCY_ID)){
Staff staff = staffRepo.findByOpenId(findOpenIdByToken(dto.getAccessToken()));
if (staff == null){
throw new ManagerException("为获取到当前员工账号!");
}
if ("MANAGER".equals(staff.getIdentityType()) || MyFinals.QTZL_AGENCY_ID.equals(staff.getAgencyId())){
cardInfos = cardInfoRepo.listByVehicleId(dto.getVehicleId());
obuInfos = obuInfoRepo.listByVehicleId(dto.getVehicleId());
}else {
@@ -105,7 +117,6 @@ public class VehicleInfoManagerImpl extends AbstractCommManager implements Vehic
else {
cardInfos = cardInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), dto.getVehicleId());
obuInfos = obuInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), dto.getVehicleId());

}
//处理卡签信息
handleDevice(resDTO, cardInfos, obuInfos);
@@ -113,6 +124,40 @@ public class VehicleInfoManagerImpl extends AbstractCommManager implements Vehic
return resDTO;
}

@Override
public QueryCardInfoAndCustomerTelResponseDTO queryCardInfoAndCustomerTel(QueryCardInfoAndCustomerTelRequestDTO dto) throws ManagerException {
//查询车辆信息
QtkVehicleInfo vehicleInfo = repo.findByVehicleId(dto.getVehicleId());
if (vehicleInfo == null) {
throw new ManagerException("未获取到车辆信息!");
}
QueryCardInfoAndCustomerTelResponseDTO resDTO = new QueryCardInfoAndCustomerTelResponseDTO();
//查询用户手机号
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(vehicleInfo.getCustomerId());
resDTO.setCustomerTel(customerInfo.getCustomerTel());

List<QtkCardInfo> cardInfos = Lists.newArrayList();
if (SourceType.SERVICE_HALL.equals(dto.getOrderSource())) {
//判断是否是黔通智联
Staff staff = staffRepo.findByOpenId(findOpenIdByToken(dto.getAccessToken()));
if (staff == null){
throw new ManagerException("为获取到当前员工账号!");
}
if ("MANAGER".equals(staff.getIdentityType()) || MyFinals.QTZL_AGENCY_ID.equals(staff.getAgencyId())){
cardInfos = cardInfoRepo.listByVehicleId(dto.getVehicleId());
}else {
cardInfos = cardInfoRepo.listByAgencyIdAndVehicleId(findAgencyIdByToken(dto.getAccessToken()),dto.getVehicleId());
}
}
else {
cardInfos = cardInfoRepo.listByCustomerIdAndVehicleId(vehicleInfo.getCustomerId(), dto.getVehicleId());
}
List<CardInfoModel> modelList = Lists.newArrayList();
BeanTools.copyProperties(cardInfos, modelList);
resDTO.setCardInfoList(modelList);
return null;
}

private void handleDevice(VehicleInfoQueryDeviceResponseDTO resDTO,List<QtkCardInfo> cardInfos, List<QtkObuInfo> obuInfos) {
//卡
if (!CollectionTools.isEmpty(cardInfos)){

+ 23
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/model/base/CardInfoModel.java Просмотреть файл

@@ -0,0 +1,23 @@
package cn.com.taiji.iaw.model.base;

import cn.com.taiji.common.model.BaseModel;
import cn.com.taiji.core.entity.dict.basic.CardStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@ApiModel(description = "卡信息")
public class CardInfoModel extends BaseModel {

@ApiModelProperty(value = "卡号")
private String cardId;

@ApiModelProperty(value = "卡类型")
private Integer cardType;

@ApiModelProperty(value = "卡状态")
private CardStatus cardStatus;
}

+ 0
- 16
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/AbstractManagewManager.java Просмотреть файл

@@ -8,12 +8,9 @@ import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.issue.IssueOrderinfo;
import cn.com.taiji.core.entity.log.OperateLog;
import cn.com.taiji.core.entity.user.AccountInfo;
import cn.com.taiji.core.entity.user.Staff;
import cn.com.taiji.core.repo.jpa.issue.IssueOrderinfoRepo;
import cn.com.taiji.core.repo.jpa.log.OperateLogRepo;
import cn.com.taiji.core.repo.jpa.user.AccountInfoRepo;
import cn.com.taiji.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.managew.model.MyFinals;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -34,19 +31,6 @@ public abstract class AbstractManagewManager extends AbstractCommManager {
private AccountInfoRepo accountInfoRepo;
@Autowired
protected IssueOrderinfoRepo issueOrderinfoRepo;
@Autowired
protected StaffRepo staffRepo;

protected Boolean isManager(String openId, String agencyId) throws ManagerException {
Staff staff = staffRepo.findByOpenId(openId);
if (staff == null){
throw new ManagerException("为获取到当前员工账号!");
}
if ("MANAGER".equals(staff.getIdentityType()) || MyFinals.QTZL_AGENCY_ID.equals(agencyId)){
return true;
}
return false;
}

//异步记录操作日志
protected void sysPersistOperateLog(OperateType operateType, String operatorDataId, SourceType source,

+ 2
- 1
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/ass/AssOrderinfoManagerImpl.java Просмотреть файл

@@ -16,6 +16,7 @@ import cn.com.taiji.managew.dto.ass.AssOrderCancelDTO;
import cn.com.taiji.managew.dto.ass.AssOrderinfoPageRequestDTO;
import cn.com.taiji.managew.dto.ass.AssReviewRequestDTO;
import cn.com.taiji.managew.manager.AbstractManagewManager;
import cn.com.taiji.managew.model.MyFinals;
import cn.com.taiji.managew.model.ass.AssOrderInfoModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -43,7 +44,7 @@ public class AssOrderinfoManagerImpl extends AbstractManagewManager implements A
throw new ManagerException("为获取到当前员工账号!");
}
pageRequest.setAgencyId(staff.getAgencyId());
if (isManager(findOpenIdByToken(dto.getAccessToken()), findAgencyIdByToken(dto.getAccessToken()))){
if ("MANAGER".equals(staff.getIdentityType()) || MyFinals.QTZL_AGENCY_ID.equals(staff.getAgencyId())){
pageRequest.setAgencyId(null);
}
return repo.page(pageRequest).convertResult(this::toModel);

+ 2
- 2
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/ass/AssRefundApplyInfoManagerImpl.java Просмотреть файл

@@ -19,6 +19,7 @@ import cn.com.taiji.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.core.repo.request.ass.AssRefundApplyInfoPageRequest;
import cn.com.taiji.managew.dto.ass.etcTransaction.*;
import cn.com.taiji.managew.manager.AbstractManagewManager;
import cn.com.taiji.managew.model.MyFinals;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,7 +32,6 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
* @Auther: humh
@@ -61,7 +61,7 @@ public class AssRefundApplyInfoManagerImpl extends AbstractManagewManager implem
throw new ManagerException("为获取到当前员工账号!");
}
pageRequest.setAgencyId(staff.getAgencyId());
if (isManager(findOpenIdByToken(dto.getAccessToken()), findAgencyIdByToken(dto.getAccessToken()))){
if ("MANAGER".equals(staff.getIdentityType()) || MyFinals.QTZL_AGENCY_ID.equals(staff.getAgencyId())){
pageRequest.setAgencyId(null);
}
return refundApplyInfoRepo.page(pageRequest);

Загрузка…
Отмена
Сохранить