@@ -103,8 +103,8 @@ public class QtkCardInfo extends AbstractStringPropertyUUIDEntity { | |||
@Column(name = "CARD_VERSION") | |||
@Enumerated(EnumType.STRING) | |||
private DeviceVersion cardVersion;//卡版本号; | |||
@Column(name = "DEVICE_VERSION") | |||
private DeviceVersion deviceVersion;//卡设备实际版本; | |||
// @Column(name = "DEVICE_VERSION") | |||
// private DeviceVersion deviceVersion;//卡设备实际版本; | |||
/* @Size(max = 100) | |||
@Column(name = "APPLY_STAFF_ID") | |||
private String applyStaffId;//开卡申请工号; |
@@ -121,8 +121,8 @@ public class QtkObuInfo extends AbstractStringPropertyUUIDEntity { | |||
@Column(name = "OBU_VERSION") | |||
@Enumerated(EnumType.STRING) | |||
private DeviceVersion obuVersion;//版本号; | |||
@Column(name = "DEVICE_VERSION") | |||
private DeviceVersion deviceVersion;//卡设备实际版本; | |||
// @Column(name = "DEVICE_VERSION") | |||
// private DeviceVersion deviceVersion;//卡设备实际版本; | |||
/*@Size(max = 255) | |||
@Column(name = "CUSTOMER") | |||
private String customer;//用户表外键; |
@@ -20,6 +20,10 @@ public interface QtkCustomerInfoRepo extends AbstractJpaRepo<QtkCustomerInfo, St | |||
@Query("from QtkCustomerInfo where customerIdNum = ?1 and customerIdType = ?2 and userType = ?3") | |||
QtkCustomerInfo findByCustomerIdNumAndCustomerIdTypeAndUserType(String customerIdNum, Integer customerIdType, Integer userType); | |||
@Query("select customerId from QtkCustomerInfo where customerIdNum = ?1") | |||
List<String> findCustomerIdByIdNum(String customerIdNum); | |||
@Query("select customerId from QtkCustomerInfo where customerIdNum = ?1 and customerIdType =?2") | |||
List<String> findCustomerIdByIdNumAndIdType(String customerIdNum, IdType customerIdType); | |||
} |
@@ -3,22 +3,35 @@ package cn.com.taiji.core.repo.request.basic; | |||
import cn.com.taiji.common.pub.dao.HqlBuilder; | |||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | |||
import cn.com.taiji.core.entity.basic.QtkCardInfo; | |||
import cn.com.taiji.core.entity.dict.basic.CardStatus; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import java.util.List; | |||
@Getter | |||
@Setter | |||
public class QtkCardInfoPageRequest extends JpaDateTimePageableDataRequest<QtkCardInfo>{ | |||
public QtkCardInfoPageRequest() { | |||
this.orderBy="id"; | |||
this.orderBy="updateTime"; | |||
this.desc=true; | |||
} | |||
// 卡编号 | |||
private String cardId; | |||
// 卡状态 | |||
private CardStatus cardStatus; | |||
// 车辆编号 | |||
private String vehicleId; | |||
// 用户编号 | |||
private String customerId; | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from QtkCardinfo where 1=1 "); | |||
HqlBuilder hql = new HqlBuilder("from "+ QtkCardInfo.class.getName() +" where 1=1 "); | |||
hql.append(" and vehicleId=:vehicleId", vehicleId); | |||
hql.append(" and customerId=:customerId", customerId); | |||
hql.append(" and cardId=:cardId", cardId); | |||
hql.append(" and cardStatus=:cardStatus", cardStatus); | |||
return hql; | |||
} | |||
@@ -3,6 +3,7 @@ package cn.com.taiji.core.repo.request.basic; | |||
import cn.com.taiji.common.pub.dao.HqlBuilder; | |||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | |||
import cn.com.taiji.core.entity.basic.QtkCustomerInfo; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
@@ -11,14 +12,38 @@ import lombok.Setter; | |||
public class QtkCustomerInfoPageRequest extends JpaDateTimePageableDataRequest<QtkCustomerInfo>{ | |||
public QtkCustomerInfoPageRequest() { | |||
this.orderBy="id"; | |||
this.orderBy="updateTime"; | |||
this.desc=true; | |||
} | |||
/** | |||
* 用户编号 | |||
*/ | |||
private String customerId; | |||
/** | |||
* 用户姓名 | |||
*/ | |||
private String customerName; | |||
/** | |||
* 用户证件类型 | |||
*/ | |||
private IdType customerIdType; | |||
/** | |||
* 用户证件号码 | |||
*/ | |||
private String customerIdNum; | |||
/** | |||
* 用户手机号 | |||
*/ | |||
private String customerTel; | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from QtkCustomerInfo where 1=1 "); | |||
public HqlBuilder toSelectHql() { | |||
HqlBuilder hql = new HqlBuilder(" from " + QtkCustomerInfo.class.getName() + " where 1=1 "); | |||
hql.append(" and customerId=:customerId", customerId); | |||
hql.append(" and customerName=:customerName", customerName); | |||
hql.append(" and customerIdType=:customerIdType", customerIdType); | |||
hql.append(" and customerIdNum=:customerIdNum", customerIdNum); | |||
hql.append(" and customerTel=:customerTel", customerTel); | |||
return hql; | |||
} | |||
@@ -3,6 +3,7 @@ package cn.com.taiji.core.repo.request.basic; | |||
import cn.com.taiji.common.pub.dao.HqlBuilder; | |||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | |||
import cn.com.taiji.core.entity.basic.QtkObuInfo; | |||
import cn.com.taiji.core.entity.dict.basic.ObuStatus; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
@@ -11,14 +12,33 @@ import lombok.Setter; | |||
public class QtkObuInfoPageRequest extends JpaDateTimePageableDataRequest<QtkObuInfo>{ | |||
public QtkObuInfoPageRequest() { | |||
this.orderBy="id"; | |||
this.orderBy="updateTime"; | |||
this.desc=true; | |||
} | |||
// 签编号 | |||
private String obuId; | |||
/** | |||
* 签状态 | |||
* <p> | |||
* 0-未安装,1-正常,2-有签挂起,3-无签挂起,4-有签注销,5-无签注销,6-标签挂失, | |||
* 7-已过户,8-维修中,9-发行申请,10-车型不符,11-已发行,99-已删除 | |||
* </p> | |||
*/ | |||
// 签状态 | |||
private ObuStatus obuStatus; | |||
// 车辆编号 | |||
private String vehicleId; | |||
// 用户编号 | |||
private String customerId; | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from QtkObuInfo where 1=1 "); | |||
HqlBuilder hql = new HqlBuilder("from "+ QtkObuInfo.class.getName() +" where 1=1 "); | |||
hql.append(" and vehicleId=:vehicleId", vehicleId); | |||
hql.append(" and customerId=:customerId", customerId); | |||
hql.append(" and obuId=:obuId", obuId); | |||
hql.append(" and obuStatus=:obuStatus", obuStatus); | |||
return hql; | |||
} | |||
@@ -1,24 +1,52 @@ | |||
package cn.com.taiji.core.repo.request.basic; | |||
import cn.com.taiji.common.pub.StringTools; | |||
import cn.com.taiji.common.pub.dao.HqlBuilder; | |||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | |||
import cn.com.taiji.core.entity.basic.QtkVehicleInfo; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import java.util.List; | |||
@Getter | |||
@Setter | |||
public class QtkVehicleInfoPageRequest extends JpaDateTimePageableDataRequest<QtkVehicleInfo>{ | |||
public QtkVehicleInfoPageRequest() { | |||
this.orderBy="id"; | |||
this.orderBy="updateTime"; | |||
this.desc=true; | |||
} | |||
@Override | |||
public HqlBuilder toSelectHql(){ | |||
HqlBuilder hql = new HqlBuilder("from QtkVehicleInfo where 1=1 "); | |||
// 车辆ID | |||
private String vehicleId; | |||
// 用户ID | |||
private String customerId; | |||
// 用户证件号码 | |||
private String customerIdNum; | |||
// 用户证件类型 | |||
private IdType customerIdType; | |||
// 车牌号 | |||
private String vehiclePlate; | |||
// 车牌颜色 | |||
private Integer vehiclePlateColor; | |||
// 用户ID集合 | |||
private List<String> customerIds; | |||
@Override | |||
public HqlBuilder toSelectHql() { | |||
HqlBuilder hql = new HqlBuilder("from " + QtkVehicleInfo.class.getName() + " where 1=1 "); | |||
hql.append(" and vehicleId=:vehicleId", vehicleId); | |||
hql.append(" and vehiclePlate=:vehiclePlate", vehiclePlate); | |||
hql.append(" and vehiclePlateColor=:vehiclePlateColor", vehiclePlateColor); | |||
hql.append(" and ownerIdType=:customerIdType", customerIdType); | |||
hql.append(" and ownerIdNum=:customerIdNum", customerIdNum); | |||
if (StringTools.hasText(customerId)) { | |||
hql.append(" and customerId=:customerId", customerId); | |||
} else { | |||
hql.append(" and customerId in :customerIds", customerIds); | |||
} | |||
return hql; | |||
} | |||
@@ -0,0 +1,62 @@ | |||
package cn.com.taiji.managew.api.baseInfo; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.common.web.ApiResponse; | |||
import cn.com.taiji.managew.api.MyValidController; | |||
import cn.com.taiji.managew.dto.baseInfo.*; | |||
import cn.com.taiji.managew.manager.baseInfo.BaseInfoManager; | |||
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 = {"基础信息"}) | |||
@RestController | |||
@RequestMapping("/api/baseInfo") | |||
public class BaseInfoController extends MyValidController { | |||
@Autowired | |||
private BaseInfoManager manager; | |||
@ApiOperation(value = "001-用户信息查询") | |||
@PostMapping(value = "/queryUser") | |||
public ApiResponse<Pagination> queryUser(@Valid @RequestBody BaseInfoUserPageRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.queryUser(req)); | |||
} | |||
@ApiOperation(value = "002-车辆信息查询") | |||
@PostMapping("/queryVehicle") | |||
public ApiResponse<Pagination> queryVehicle(@Valid @RequestBody BaseInfoVehiclePageRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.queryVehicle(req)); | |||
} | |||
@ApiOperation("003-卡信息查询") | |||
@PostMapping("/queryCard") | |||
public ApiResponse<Pagination> queryCard(@RequestBody BaseInfoCardPageRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.queryCard(req)); | |||
} | |||
@ApiOperation("004-签信息查询") | |||
@PostMapping("/queryObu") | |||
public ApiResponse<Pagination> queryObu(@Valid @RequestBody BaseInfoObuPageRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.queryObu(req)); | |||
} | |||
@ApiOperation("005-用户详情") | |||
@PostMapping("/queryUserDetail") | |||
public ApiResponse<BaseInfoUserResponseDTO> queryUserDetail(@Valid @RequestBody BaseInfoUserPageRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.queryUserDetail(req)); | |||
} | |||
@ApiOperation("006-车辆详情") | |||
@PostMapping("/queryVehicleDetail") | |||
public ApiResponse<BaseInfoVehicleResponseDTO> queryVehicleDetail(@Valid @RequestBody BaseInfoVehiclePageRequestDTO req) throws ManagerException { | |||
return ApiResponse.of(manager.queryVehicleDetail(req)); | |||
} | |||
} |
@@ -0,0 +1,24 @@ | |||
package cn.com.taiji.managew.dto.baseInfo; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import cn.com.taiji.core.entity.dict.basic.CardStatus; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel(value = "基础信息卡分页查询参数") | |||
public class BaseInfoCardPageRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "卡编号") | |||
private String cardId; | |||
@ApiModelProperty(value = "卡状态") | |||
private CardStatus cardStatus; | |||
@ApiModelProperty(value = "用户编号") | |||
private String customerId; | |||
@ApiModelProperty(value = "车牌号码") | |||
private String vehiclePlate; | |||
@ApiModelProperty(value = "车牌颜色") | |||
private Integer vehiclePlateColor; | |||
} |
@@ -0,0 +1,28 @@ | |||
package cn.com.taiji.managew.dto.baseInfo; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import cn.com.taiji.core.entity.dict.basic.ObuStatus; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel(value = "基础信息签分页查询参数") | |||
public class BaseInfoObuPageRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "签编号") | |||
private String obuId; | |||
/** | |||
* 签状态 | |||
* 0-未安装,1-正常,2-有签挂起,3-无签挂起,4-有签注销,5-无签注销,6-标签挂失, | |||
* 7-已过户,8-维修中,9-发行申请,10-车型不符,11-已发行,99-已删除 | |||
*/ | |||
@ApiModelProperty(value = "签状态") | |||
private ObuStatus obuStatus; | |||
@ApiModelProperty(value = "用户编号") | |||
private String customerId; | |||
@ApiModelProperty(value = "车牌号码") | |||
private String vehiclePlate; | |||
@ApiModelProperty(value = "车牌颜色") | |||
private Integer vehiclePlateColor; | |||
} |
@@ -0,0 +1,37 @@ | |||
package cn.com.taiji.managew.dto.baseInfo; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel(value = "基础信息用户分页查询参数") | |||
public class BaseInfoUserPageRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
/** | |||
* 用户编号 | |||
*/ | |||
@ApiModelProperty(value = "用户编号") | |||
private String customerId; | |||
/** | |||
* 用户姓名 | |||
*/ | |||
@ApiModelProperty(value = "用户姓名") | |||
private String customerName; | |||
/** | |||
* 用户证件类型 | |||
*/ | |||
@ApiModelProperty(value = "用户证件类型") | |||
private IdType customerIdType; | |||
/** | |||
* 用户证件号码 | |||
*/ | |||
@ApiModelProperty(value = "用户证件号码") | |||
private String customerIdNum; | |||
/** | |||
* 用户手机号 | |||
*/ | |||
@ApiModelProperty(value = "用户手机号") | |||
private String customerTel; | |||
} |
@@ -0,0 +1,66 @@ | |||
package cn.com.taiji.managew.dto.baseInfo; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import cn.com.taiji.core.entity.dict.basic.UserType; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import java.time.LocalDateTime; | |||
@Setter | |||
@Getter | |||
@ApiModel(description = "用户信息详情响应") | |||
public class BaseInfoUserResponseDTO { | |||
@ApiModelProperty(value = "创建时间") | |||
private LocalDateTime insertTime;//创建时间 | |||
@ApiModelProperty(value = "修改时间") | |||
private LocalDateTime updateTime;//修改时间 | |||
@ApiModelProperty(value = "用户编号") | |||
private String customerId;//用户编号 | |||
@ApiModelProperty(value = "发行方编号") | |||
private String issuerId;//发行方编号 | |||
@ApiModelProperty(value = "注册日期") | |||
private String registeredDate;//注册日期 | |||
@ApiModelProperty(value = "流水编号") | |||
private String seriseNo;//流水编号 | |||
@ApiModelProperty(value = "用户类型") | |||
private UserType userType;//用户类型1-个人 2-单位 | |||
@ApiModelProperty(value = "用户姓名") | |||
private String customerName;//用户姓名 | |||
@ApiModelProperty(value = "用户证件类型") | |||
private IdType customerIdType;//用户证件类型 | |||
@ApiModelProperty(value = "用户证件号") | |||
private String customerIdNum;//用户证件号 | |||
@ApiModelProperty(value = "用户手机号") | |||
private String customerTel;//用户手机号 | |||
@ApiModelProperty(value = "开户人地址") | |||
private String customerAddress;//开户人地址 | |||
@ApiModelProperty(value = "开户人正面图片地址") | |||
private String customerPosImgUrl;//开户人正面图片地址 | |||
@ApiModelProperty(value = "开户人反面图片地址") | |||
private String customerNegImgUrl;//开户人反面图片地址 | |||
@ApiModelProperty(value = "指定经办人姓名") | |||
private String agentName;//指定经办人姓名 | |||
@ApiModelProperty(value = "指定经办人证件类型") | |||
private IdType agentIdtype;//指定经办人证件类型 | |||
@ApiModelProperty(value = "指定经办人证件号码") | |||
private String agentIdNum;//指定经办人证件号码 | |||
@ApiModelProperty(value = "指定经办人手机号") | |||
private String agentPosImgUrl;//指定经办人正面图片地址 | |||
@ApiModelProperty(value = "指定经办人手机号") | |||
private String agentNegImgUrl;//指定经办人反面图片地址 | |||
@ApiModelProperty(value = "用户证件过期时间") | |||
private String customerVid;//用户证件过期时间,格式:yyyyMMdd或“长期” | |||
@ApiModelProperty(value = "开户渠道编号") | |||
private String channelId;//开户渠道编号 | |||
@ApiModelProperty(value = "部门/分支机构名称") | |||
private String department;//部门/分支机构名称 | |||
@ApiModelProperty(value = "客户状态") | |||
private Integer status;//客户状态,代码写死了1 | |||
@ApiModelProperty(value = "开户方式") | |||
private Integer registeredType;//开户方式 | |||
@ApiModelProperty(value = "是否迁移数据") | |||
private Integer isMigrateData;//是否迁移数据0_否,1_是 | |||
} |
@@ -0,0 +1,23 @@ | |||
package cn.com.taiji.managew.dto.baseInfo; | |||
import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Data; | |||
@Data | |||
@ApiModel(value = "基础信息车辆分页查询参数") | |||
public class BaseInfoVehiclePageRequestDTO extends AbstractStaffBizPageRequestDTO { | |||
@ApiModelProperty(value = "用户证件类型") | |||
private IdType customerIdType; | |||
@ApiModelProperty(value = "用户证件号") | |||
private String customerIdNum; | |||
@ApiModelProperty(value = "用户编号") | |||
private String customerId; | |||
@ApiModelProperty(value = "车牌号码") | |||
private String vehiclePlate; | |||
@ApiModelProperty(value = "车牌颜色") | |||
private Integer vehiclePlateColor; | |||
} |
@@ -0,0 +1,12 @@ | |||
package cn.com.taiji.managew.dto.baseInfo; | |||
import cn.com.taiji.managew.model.baseInfo.VehicleInfoModel; | |||
import io.swagger.annotations.ApiModel; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
@Getter | |||
@Setter | |||
@ApiModel(description = "车辆详情响应") | |||
public class BaseInfoVehicleResponseDTO extends VehicleInfoModel { | |||
} |
@@ -0,0 +1,16 @@ | |||
package cn.com.taiji.managew.manager.baseInfo; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.managew.dto.baseInfo.*; | |||
public interface BaseInfoManager { | |||
Pagination queryUser(BaseInfoUserPageRequestDTO req); | |||
Pagination queryVehicle(BaseInfoVehiclePageRequestDTO req); | |||
Pagination queryCard(BaseInfoCardPageRequestDTO req) throws ManagerException; | |||
Pagination queryObu(BaseInfoObuPageRequestDTO req) throws ManagerException; | |||
BaseInfoUserResponseDTO queryUserDetail(BaseInfoUserPageRequestDTO req) throws ManagerException; | |||
BaseInfoVehicleResponseDTO queryVehicleDetail(BaseInfoVehiclePageRequestDTO req) throws ManagerException; | |||
} |
@@ -0,0 +1,185 @@ | |||
package cn.com.taiji.managew.manager.baseInfo; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.common.pub.StringTools; | |||
import cn.com.taiji.core.entity.basic.QtkCardInfo; | |||
import cn.com.taiji.core.entity.basic.QtkCustomerInfo; | |||
import cn.com.taiji.core.entity.basic.QtkObuInfo; | |||
import cn.com.taiji.core.entity.basic.QtkVehicleInfo; | |||
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.request.basic.QtkCardInfoPageRequest; | |||
import cn.com.taiji.core.repo.request.basic.QtkCustomerInfoPageRequest; | |||
import cn.com.taiji.core.repo.request.basic.QtkObuInfoPageRequest; | |||
import cn.com.taiji.core.repo.request.basic.QtkVehicleInfoPageRequest; | |||
import cn.com.taiji.managew.dto.baseInfo.*; | |||
import cn.com.taiji.managew.manager.AbstractCommManager; | |||
import cn.com.taiji.managew.model.baseInfo.CardInfoModel; | |||
import cn.com.taiji.managew.model.baseInfo.ObuInfoModel; | |||
import cn.com.taiji.managew.model.baseInfo.VehicleInfoModel; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import org.springframework.util.StringUtils; | |||
import java.util.List; | |||
@Service | |||
public class BaseInfoManagerImpl extends AbstractCommManager implements BaseInfoManager { | |||
@Autowired | |||
private QtkCustomerInfoRepo customerInfoRepo; | |||
@Autowired | |||
private QtkVehicleInfoRepo vehicleInfoRepo; | |||
@Autowired | |||
private QtkCardInfoRepo cardInfoRepo; | |||
@Autowired | |||
private QtkObuInfoRepo obuInfoRepo; | |||
@Override | |||
public Pagination queryUser(BaseInfoUserPageRequestDTO req) { | |||
QtkCustomerInfoPageRequest request = new QtkCustomerInfoPageRequest(); | |||
BeanUtils.copyProperties(req, request); | |||
return customerInfoRepo.page(request); | |||
} | |||
@Override | |||
public Pagination queryVehicle(BaseInfoVehiclePageRequestDTO req) { | |||
QtkVehicleInfoPageRequest request = new QtkVehicleInfoPageRequest(); | |||
List<String> customerIds = null; | |||
if (hasText(req.getCustomerIdNum())) { | |||
if (req.getCustomerIdType() == null) { | |||
customerIds = customerInfoRepo.findCustomerIdByIdNum(req.getCustomerIdNum()); | |||
} else { | |||
customerIds = customerInfoRepo.findCustomerIdByIdNumAndIdType(req.getCustomerIdNum(), req.getCustomerIdType()); | |||
} | |||
} | |||
BeanUtils.copyProperties(req, request); | |||
if(!isEmpty(customerIds)){ | |||
request.setCustomerIds(customerIds); | |||
} | |||
return vehicleInfoRepo.page(request).convertResult(this::coverVeh); | |||
} | |||
@Override | |||
public Pagination queryCard(BaseInfoCardPageRequestDTO req) throws ManagerException { | |||
QtkCardInfoPageRequest request = new QtkCardInfoPageRequest(); | |||
if (StringTools.hasText(req.getVehiclePlate()) != (req.getVehiclePlateColor() == null)) { | |||
throw new ManagerException("车牌号和车牌颜色要同时填写,才能进行查询"); | |||
}else { | |||
request.setVehicleId(req.getVehiclePlate() + "_" + req.getVehiclePlateColor()); | |||
} | |||
BeanUtils.copyProperties(req, request); | |||
return cardInfoRepo.page(request).convertResult(this::coverCard); | |||
} | |||
@Override | |||
public Pagination queryObu(BaseInfoObuPageRequestDTO req) throws ManagerException { | |||
QtkObuInfoPageRequest request = new QtkObuInfoPageRequest(); | |||
if (StringTools.hasText(req.getVehiclePlate()) != (req.getVehiclePlateColor() == null)) { | |||
throw new ManagerException("车牌号和车牌颜色要同时填写,才能进行查询"); | |||
}else { | |||
request.setVehicleId(req.getVehiclePlate() + "_" + req.getVehiclePlateColor()); | |||
} | |||
BeanUtils.copyProperties(req, request); | |||
return obuInfoRepo.page(request).convertResult(this::coverObu); | |||
} | |||
@Override | |||
public BaseInfoUserResponseDTO queryUserDetail(BaseInfoUserPageRequestDTO req) throws ManagerException { | |||
if (!StringUtils.hasText(req.getCustomerId())) { | |||
throw new ManagerException("用户编号不能为空"); | |||
} | |||
QtkCustomerInfo customer = customerInfoRepo.findByCustomerId(req.getCustomerId()); | |||
if (customer == null) throw new ManagerException("用户不存在"); | |||
BaseInfoUserResponseDTO response = new BaseInfoUserResponseDTO(); | |||
BeanUtils.copyProperties(customer, response); | |||
return response; | |||
} | |||
@Override | |||
public BaseInfoVehicleResponseDTO queryVehicleDetail(BaseInfoVehiclePageRequestDTO req) throws ManagerException { | |||
if (!StringUtils.hasText(req.getVehiclePlate())) { | |||
throw new ManagerException("车牌号不能为空"); | |||
} | |||
if (req.getVehiclePlateColor() == null) { | |||
throw new ManagerException("车牌颜色不能为空"); | |||
} | |||
String vehicleId = req.getVehiclePlate() + "_" + req.getVehiclePlateColor(); | |||
QtkVehicleInfo vehicle = vehicleInfoRepo.findByVehicleId(vehicleId); | |||
if (vehicle == null) throw new ManagerException("车辆不存在"); | |||
BaseInfoVehicleResponseDTO response = new BaseInfoVehicleResponseDTO(); | |||
BeanUtils.copyProperties(vehicle, response); | |||
extracted(response); | |||
return response; | |||
} | |||
private ObuInfoModel coverObu(QtkObuInfo qtkObuInfo) { | |||
ObuInfoModel model = new ObuInfoModel(); | |||
BeanUtils.copyProperties(qtkObuInfo, model); | |||
String vehicleId = qtkObuInfo.getVehicleId(); | |||
if (StringUtils.hasText(vehicleId)) { | |||
String[] split = vehicleId.split("_"); | |||
if (split.length > 1) { | |||
model.setVehiclePlate(split[0]); | |||
model.setVehiclePlateColor(Integer.valueOf(split[1])); | |||
} | |||
} | |||
return model; | |||
} | |||
private CardInfoModel coverCard(QtkCardInfo qtkCardInfo) { | |||
CardInfoModel model = new CardInfoModel(); | |||
BeanUtils.copyProperties(qtkCardInfo, model); | |||
String vehicleId = qtkCardInfo.getVehicleId(); | |||
if (StringUtils.hasText(vehicleId)) { | |||
String[] split = vehicleId.split("_"); | |||
if (split.length > 1) { | |||
model.setVehiclePlate(split[0]); | |||
model.setVehiclePlateColor(Integer.valueOf(split[1])); | |||
} | |||
} | |||
return model; | |||
} | |||
private VehicleInfoModel coverVeh(QtkVehicleInfo qtkVehicleInfo) { | |||
VehicleInfoModel model = new VehicleInfoModel(); | |||
BeanUtils.copyProperties(qtkVehicleInfo, model); | |||
extracted(model); | |||
return model; | |||
} | |||
private static void extracted(VehicleInfoModel model) { | |||
if (StringTools.hasText(model.getOwnerPosImgUrl())) | |||
model.setOwnerPosImgUrl(model.getOwnerPosImgUrl().replace("http://100.64.2.113:9000", "https://qtzl.etcjz.cn/")); | |||
if (StringTools.hasText(model.getOwnerNegImgUrl())) | |||
model.setOwnerNegImgUrl(model.getOwnerNegImgUrl().replace("http://100.64.2.113:9000", "https://qtzl.etcjz.cn/")); | |||
if (StringTools.hasText(model.getVehNegImgUrl())) | |||
model.setVehNegImgUrl(model.getVehNegImgUrl().replace("http://100.64.2.113:9000", "https://qtzl.etcjz.cn/")); | |||
if (StringTools.hasText(model.getVehPosImgUrl())) | |||
model.setVehPosImgUrl(model.getVehPosImgUrl().replace("http://100.64.2.113:9000", "https://qtzl.etcjz.cn/")); | |||
if (StringTools.hasText(model.getOwnerPosImgUrl())) | |||
model.setOwnerPosImgUrl(model.getOwnerPosImgUrl().replace("http://192.168.101.145:9000/", "https://trial.etcjz.cn/")); | |||
if (StringTools.hasText(model.getOwnerNegImgUrl())) | |||
model.setOwnerNegImgUrl(model.getOwnerNegImgUrl().replace("http://192.168.101.145:9000/", "https://trial.etcjz.cn/")); | |||
if (StringTools.hasText(model.getVehNegImgUrl())) | |||
model.setVehNegImgUrl(model.getVehNegImgUrl().replace("http://192.168.101.145:9000/", "https://trial.etcjz.cn/")); | |||
if (StringTools.hasText(model.getVehPosImgUrl())) | |||
model.setVehPosImgUrl(model.getVehPosImgUrl().replace("http://192.168.101.145:9000/", "https://trial.etcjz.cn/")); | |||
} | |||
public static void main(String[] args) { | |||
Integer a = null; | |||
String b = "0"; | |||
if (StringTools.hasText(b) == (a != null)) { | |||
System.out.println("通过"); | |||
}else { | |||
System.out.println("不通过"); | |||
} | |||
} | |||
} |
@@ -0,0 +1,41 @@ | |||
package cn.com.taiji.managew.model.baseInfo; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import lombok.Data; | |||
import java.time.LocalDateTime; | |||
@Data | |||
public class CardInfoModel extends BaseModel { | |||
private LocalDateTime insertTime;//创建时间; | |||
private LocalDateTime updateTime;//修改时间; | |||
private String cardId;//卡号; | |||
private String cardNetId;//卡片网络编号; | |||
private String customerId;//用户编号; | |||
private String vehicleId;//车辆编号; | |||
private Integer cardType;//卡类型 三位数字,对应部中心上传,当前代码里面全部写死了储值卡211,记账卡111 | |||
private String cardBrand;//卡品牌 字典CARD_BRAND,当前代码写死全是3 | |||
private String agencyId;//合作机构编号; | |||
private LocalDateTime cardEnableTime;//卡启用时间; | |||
private LocalDateTime cardExpireTime;//卡过期时间; | |||
private String channelId;//网点编号; | |||
private Integer cardIssuedType;//开卡方式 1-线上 2-线下 订单表的promotionModesrivate CardStatus cardStatus;//卡状态; | |||
private LocalDateTime cardStatusChangeTime;//卡状态变更时间; | |||
private String packageId;//套餐编号(产品编号); | |||
private Integer packageType;//套餐类型 当前全都默认是0 | |||
private String packageEnableTime;//套餐启用时间; | |||
private String accountId;//记账机构编号; | |||
private DeviceVersion cardVersion;//卡版本号; | |||
private DeviceVersion deviceVersion;//卡设备实际版本; | |||
private String agreementId;//签约协议号-上传部里的协议?; | |||
private Long balance;//卡金额; | |||
private Integer debitType;//记账卡的基础上,0是记账卡,1是预存卡 | |||
private Integer isMigrateData = 0;//是否迁移数据0_否,1_是rivate SecretKeyType deviceType;//设备类型rivate CardType cardTypeNew;//卡类型(上面那个卡类型太乱了) | |||
private LocalDateTime warrantyDate;//质保期(之前从库存里面取,后续数据迁移注意转换); | |||
//VEHICLE_PLATE;车牌号 | |||
private String vehiclePlate; | |||
//VEHICLE_PLATE_COLOR;车牌颜色 | |||
private Integer vehiclePlateColor; | |||
} |
@@ -0,0 +1,37 @@ | |||
package cn.com.taiji.managew.model.baseInfo; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import cn.com.taiji.core.entity.dict.basic.UserType; | |||
import lombok.Data; | |||
import java.time.LocalDateTime; | |||
@Data | |||
public class CustomerInfoModel extends BaseModel { | |||
private LocalDateTime insertTime;//创建时间 | |||
private LocalDateTime updateTime;//修改时间 | |||
private String customerId;//用户编号 | |||
private String issuerId;//发行方编号 | |||
private String registeredDate;//注册日期 | |||
private String seriseNo;//流水编号 | |||
private UserType userType;//用户类型1-个人 2-单位 | |||
private String customerName;//用户姓名 | |||
private IdType customerIdType;//用户证件类型 | |||
private String customerIdNum;//用户证件号 | |||
private String customerTel;//用户手机号 | |||
private String customerAddress;//开户人地址 | |||
private String customerPosImgUrl;//开户人正面图片地址 | |||
private String customerNegImgUrl;//开户人反面图片地址 | |||
private String agentName;//指定经办人姓名 | |||
private IdType agentIdtype;//指定经办人证件类型 | |||
private String agentIdNum;//指定经办人证件号码 | |||
private String agentPosImgUrl;//指定经办人正面图片地址 | |||
private String agentNegImgUrl;//指定经办人反面图片地址 | |||
private String customerVid;//用户证件过期时间,格式:yyyyMMdd或“长期” | |||
private String channelId;//开户渠道编号 | |||
private String department;//部门/分支机构名称 | |||
private Integer status;//客户状态,代码写死了1 | |||
private Integer registeredType;//开户方式 | |||
private Integer isMigrateData;//是否迁移数据0_否,1_是 | |||
} |
@@ -0,0 +1,44 @@ | |||
package cn.com.taiji.managew.model.baseInfo; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.basic.ObuStatus; | |||
import cn.com.taiji.core.entity.dict.basic.ObuType; | |||
import cn.com.taiji.core.entity.dict.basic.SecretKeyType; | |||
import lombok.Data; | |||
import java.time.LocalDateTime; | |||
@Data | |||
public class ObuInfoModel extends BaseModel { | |||
private LocalDateTime insertTime;//创建时间; | |||
private LocalDateTime updateTime;//更新时间; | |||
private String obuId;//obu编号; | |||
private String obuNetId;//网络编号; | |||
private String customerId;//用户编号; | |||
private String vehicleId;//车辆编号; | |||
private String obuBrand;//OBU品牌; | |||
private ObuType obuType;//签类型; | |||
private String agencyId;//合作机构编号; | |||
private LocalDateTime obuEnableTime;//启用时间; | |||
private LocalDateTime obuExpireTime;//到期时间; | |||
private String channelId;//网点编号; | |||
private Integer registeredType;//激活类型;1-线上 2-线下,取自订单表promotionModes | |||
private String registeredChannelId;//激活网点; | |||
private LocalDateTime registeredTime;//激活时间; | |||
private ObuStatus obuStatus;//签状态; | |||
private LocalDateTime obuStatusChangeTime;//OBU状态变更时间; | |||
private String applyStaffId;//开签申请工号; | |||
private String confirmStaffId;//开签确认工号; | |||
private DeviceVersion obuVersion;//版本号; | |||
private DeviceVersion deviceVersion;//卡设备实际版本; | |||
private Integer isMigrateData = 0;//是否迁移数据0_否,1_是 | |||
private SecretKeyType deviceType;//设备类型 | |||
private String cardId;//ETC卡编号 | |||
private LocalDateTime warrantyDate;//质保期(之前从库存里面取,后续数据迁移注意转换); | |||
//VEHICLE_PLATE;车牌号 | |||
private String vehiclePlate; | |||
//VEHICLE_PLATE_COLOR;车牌颜色 | |||
private Integer vehiclePlateColor; | |||
} |
@@ -0,0 +1,125 @@ | |||
package cn.com.taiji.managew.model.baseInfo; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import lombok.Data; | |||
import java.time.LocalDateTime; | |||
import java.util.Date; | |||
@Data | |||
public class VehicleInfoModel extends BaseModel { | |||
// 创建时间 | |||
private LocalDateTime insertTime; | |||
// 更新时间 | |||
private LocalDateTime updateTime; | |||
//应急车辆标识 0-非应急车辆 1-应急车辆 | |||
private Integer emergencyFlag; | |||
// 车辆ID | |||
private String vehicleId; | |||
// 车牌号 | |||
private String vehiclePlate; | |||
// 车牌颜色 | |||
private Integer vehiclePlateColor; | |||
// 用户编号 | |||
private String customerId; | |||
// 车型 | |||
private Integer type; | |||
// 使用用户类型 | |||
private Integer useUserType; | |||
// 车辆签约 | |||
private Integer vehicleSign; | |||
// 车辆识别代号 | |||
private String vin; | |||
// 发动机编号 | |||
private String engineNum; | |||
// 行驶证车辆类型 | |||
private String vehicleType; | |||
// 行驶证品牌型号 | |||
private String vehicleModel; | |||
// 核定载人数 | |||
private Integer approvedCount; | |||
// 总质量 | |||
private Integer totalMass; | |||
// 整备质量 | |||
private Integer maintenaceMass; | |||
// 核定载质量 | |||
private Integer permittedWeight; | |||
// 车辆尺寸 | |||
private String vehicleDimensions; | |||
// 准牵引总质量 | |||
private Integer permittedTowWeight; | |||
// 车轴数 | |||
private Integer axleCount; | |||
// 发证日期 | |||
private String issueDate; | |||
// 行驶证正面图片地址 | |||
private String vehPosImgUrl; | |||
// 行驶证反面图片地址 | |||
private String vehNegImgUrl; | |||
// 车主姓名 | |||
private String ownerName; | |||
// 车主证件类型 | |||
private Integer ownerIdType; | |||
// 车主证件号码 | |||
private String ownerIdNum; | |||
// 车主证件正面图片的BASE64编码 | |||
private String ownerPosImgUrl; | |||
// 车主证件反面图片的BASE64编码 | |||
private String ownerNegImgUrl; | |||
// 签约编号 | |||
private String agreementId; | |||
// 添加渠道编号 | |||
private String channelId; | |||
// 代扣协议支撑服务场景(签约渠道(银行、微信支付宝等)和用户签定的协议) | |||
private String scenePayType; | |||
// 道路运输证编号 | |||
private String transportIdNum; | |||
// 经营许可证编号 | |||
private String licenseIdNum; | |||
// 车身45°照片 | |||
private String vehBodyUrl; | |||
// 委托书地址 | |||
private String proxyUrl; | |||
// 指定联系人列表 | |||
private String contacts; | |||
// 所有人联系地址 | |||
private String ownerAddress; | |||
// 轴型 | |||
private String axisType; | |||
// 检验记录 | |||
private String testRecord; | |||
// 档案编号 | |||
private String fileNum; | |||
// 录入时间 | |||
private String registeredTime; | |||
// 所有人联系方式 | |||
private String ownerTel; | |||
// 车辆使用性质 | |||
private Integer useCharacter; | |||
// 注册日期 | |||
private String registerDate; | |||
// 轴距 | |||
private Integer axleDistance; | |||
// 迁移新增:车辆用户类型 | |||
private Integer vehicleCustomerType; | |||
//车脸识别特征版本号 版本号(YYYYMMDD+2位顺序码)+算法类型(2位) | |||
private String vehicleFeatureVersion; | |||
//车脸识别特征码 | |||
private String vehicleFeatureCode; | |||
//预付费/代扣账户编码 | |||
private String payAccountNum; | |||
//车轮数 | |||
private Integer wheelCount; | |||
//上传状态 | |||
private Integer uploadStatus; | |||
//认证监管平台车辆编号 | |||
private String daspVehicleId; | |||
//是否认证监管平台 0-不是 1-是" | |||
private String daspSign; | |||
//认证监管平台接收时间 | |||
private Date daspAccept; | |||
// 牵引车标识:0否 1 是 | |||
private String tractorSign; | |||
// 道路运输许可证图片地址 | |||
private String roadTransportPermitPicUrl; | |||
} |
@@ -12,6 +12,7 @@ import lombok.Data; | |||
import javax.persistence.EnumType; | |||
import javax.persistence.Enumerated; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
@Data | |||
@@ -22,7 +23,7 @@ public class RbacMenuAddRequestDTO extends AbstractStaffBizRequestDTO { | |||
* 菜单名 | |||
*/ | |||
@ApiModelProperty(value = "菜单名", required = true) | |||
@NotNull(message = "菜单名不能为空") | |||
@NotBlank(message = "菜单名不能为空") | |||
private String name; | |||
/** | |||
* 描述,可为null | |||
@@ -43,7 +44,6 @@ public class RbacMenuAddRequestDTO extends AbstractStaffBizRequestDTO { | |||
* 角色归属那个系统 | |||
*/ | |||
@ApiModelProperty(value = "角色归属那个系统", required = true) | |||
@Enumerated(value = EnumType.STRING) | |||
private SystemType systemType; | |||
/** | |||
* 状态: | |||
@@ -51,7 +51,6 @@ public class RbacMenuAddRequestDTO extends AbstractStaffBizRequestDTO { | |||
* DISABLE 禁用 | |||
*/ | |||
@ApiModelProperty(value = "状态", required = true) | |||
@Enumerated(value = EnumType.STRING) | |||
private RbacStatus status; | |||
/** | |||
@@ -70,18 +69,14 @@ public class RbacMenuAddRequestDTO extends AbstractStaffBizRequestDTO { | |||
* 菜单来源方 | |||
*/ | |||
@ApiModelProperty(value = "菜单来源方", required = true) | |||
@Enumerated(value = EnumType.STRING) | |||
private RbacSource menuSource; | |||
/*** | |||
* 是否是推荐位(小程序) | |||
*/ | |||
@ApiModelProperty(value = "是否是推荐位", required = true) | |||
@Enumerated(value = EnumType.STRING) | |||
private IsEnable isRecommend; | |||
@Override | |||
public void validate(ViolationValidator validator) { | |||
super.validate(validator); |
@@ -56,7 +56,6 @@ public class RbacMenuChangeRequestDTO extends AbstractStaffBizRequestDTO { | |||
* DISABLE 禁用 | |||
*/ | |||
@ApiModelProperty(value = "状态", required = true) | |||
@NotBlank(message = "状态不能为空") | |||
private RbacStatus status; | |||
/** | |||
@@ -75,7 +74,6 @@ public class RbacMenuChangeRequestDTO extends AbstractStaffBizRequestDTO { | |||
* 菜单来源方 | |||
*/ | |||
@ApiModelProperty(value = "菜单来源方", required = true) | |||
@NotNull(message = "菜单来源方不能为空") | |||
private RbacSource menuSource; | |||
/*** |