@@ -0,0 +1,97 @@ | |||
package com.qtzl.alterSales.dao.entity.second; | |||
import com.qtzl.alterSales.manager.enums.AflDeactivateEnableRecordOpTypeEnum; | |||
import com.txffp.api.core.dao.entity.AbstractInsertTimeEntity; | |||
import javax.persistence.*; | |||
/** | |||
* 停用/启用记录管理; | |||
* @author : http://www.chiner.pro | |||
* @date : 2024-6-12 | |||
*/ | |||
@Entity | |||
@Table(name="AFL_DEACTIVATE_ENABLE_RECORD") | |||
public class AflDeactivateEnableRecord extends AbstractInsertTimeEntity { | |||
/*** 用户编号 */ | |||
private String openId ; | |||
/*** 账号编号 */ | |||
private String accountId ; | |||
/*** 车牌号 */ | |||
private String plateNum ; | |||
/*** 车牌颜色 */ | |||
private Integer plateColor ; | |||
/*** 图片识别唯一编号 */ | |||
private String imageId ; | |||
/*** 身份证正面照URL */ | |||
private String imageUrl ; | |||
/*** 操作类型 */ | |||
private AflDeactivateEnableRecordOpTypeEnum opType ; | |||
/*** 用户编号 */ | |||
@Column(name = "OPEN_ID") | |||
public String getOpenId(){ | |||
return this.openId; | |||
} | |||
/*** 用户编号 */ | |||
public void setOpenId(String openId){ | |||
this.openId=openId; | |||
} | |||
/*** 账号编号 */ | |||
@Column(name = "ACCOUNT_ID") | |||
public String getAccountId(){ | |||
return this.accountId; | |||
} | |||
/*** 账号编号 */ | |||
public void setAccountId(String accountId){ | |||
this.accountId=accountId; | |||
} | |||
/*** 车牌号 */ | |||
@Column(name = "PLATE_NUM") | |||
public String getPlateNum(){ | |||
return this.plateNum; | |||
} | |||
/*** 车牌号 */ | |||
public void setPlateNum(String plateNum){ | |||
this.plateNum=plateNum; | |||
} | |||
/*** 车牌颜色 */ | |||
@Column(name = "PLATE_COLOR") | |||
public Integer getPlateColor(){ | |||
return this.plateColor; | |||
} | |||
/*** 车牌颜色 */ | |||
public void setPlateColor(Integer plateColor){ | |||
this.plateColor=plateColor; | |||
} | |||
/*** 图片识别唯一编号 */ | |||
@Column(name = "IMAGE_ID") | |||
public String getImageId(){ | |||
return this.imageId; | |||
} | |||
/*** 图片识别唯一编号 */ | |||
public void setImageId(String imageId){ | |||
this.imageId=imageId; | |||
} | |||
/*** 身份证正面照URL */ | |||
@Column(name = "IMAGE_URL") | |||
public String getImageUrl(){ | |||
return this.imageUrl; | |||
} | |||
/*** 身份证正面照URL */ | |||
public void setImageUrl(String imageUrl){ | |||
this.imageUrl=imageUrl; | |||
} | |||
/*** 操作类型 */ | |||
@Column(name = "OP_TYPE") | |||
@Enumerated(value = EnumType.STRING) | |||
public AflDeactivateEnableRecordOpTypeEnum getOpType(){ | |||
return this.opType; | |||
} | |||
/*** 操作类型 */ | |||
public void setOpType(AflDeactivateEnableRecordOpTypeEnum opType){ | |||
this.opType=opType; | |||
} | |||
} |
@@ -0,0 +1,17 @@ | |||
package com.qtzl.alterSales.dao.repo.jpa.second; | |||
import com.qtzl.alterSales.dao.entity.second.AflDeactivateEnableRecord; | |||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; | |||
/*** | |||
* <p> | |||
* 停用/启用记录 | |||
* </p> | |||
* @author hou yi | |||
* {@code @date} 2024/6/12 10:06 | |||
**/ | |||
public interface AflDeactivateEnableRecordRepo extends JpaSpecificationExecutor<AflDeactivateEnableRecord> { | |||
} |
@@ -0,0 +1,34 @@ | |||
package com.qtzl.alterSales.manager.enums; | |||
/*** | |||
* <p> | |||
* 停用/启用管理操作类型枚举 | |||
* </p> | |||
* @author hou yi | |||
* {@code @date} 2024/6/12 10:03 | |||
**/ | |||
public enum AflDeactivateEnableRecordOpTypeEnum { | |||
/*** | |||
* 枚举具体描述 | |||
**/ | |||
DEACTIVATE("DEACTIVATE", "停用"), | |||
ENABLE("ENABLE", "启用"), | |||
; | |||
private final String code; | |||
private final String type; | |||
AflDeactivateEnableRecordOpTypeEnum(String code, String type) { | |||
this.code = code; | |||
this.type = type; | |||
} | |||
public String getCode() { | |||
return this.code; | |||
} | |||
public String getType() { | |||
return this.type; | |||
} | |||
} |
@@ -0,0 +1,95 @@ | |||
package com.qtzl.alterSales.manager.handler; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import com.google.common.collect.Lists; | |||
import com.qtzl.alterSales.dao.entity.second.AflDeactivateEnableRecord; | |||
import com.qtzl.alterSales.dao.repo.jpa.second.AflDeactivateEnableRecordRepo; | |||
import com.qtzl.alterSales.manager.abstracts.AbstractAfterSalesManager; | |||
import com.qtzl.alterSales.manager.model.protocol.UcServiceError; | |||
import com.qtzl.alterSales.manager.model.protocol.sales.AflDeactivateEnableRecordPageRequest; | |||
import com.qtzl.alterSales.manager.model.protocol.sales.AflDeactivateEnableRecordPageResponse; | |||
import com.qtzl.alterSales.manager.service.AfterSalesCmd; | |||
import com.txffp.api.core.manager.comm.annotation.ApiHandler; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.data.domain.Page; | |||
import org.springframework.data.domain.PageRequest; | |||
import org.springframework.data.domain.Sort; | |||
import org.springframework.stereotype.Service; | |||
import javax.annotation.Resource; | |||
import javax.persistence.criteria.Predicate; | |||
import java.time.LocalDateTime; | |||
import java.util.List; | |||
/*** | |||
* <p> | |||
* 停用/启用记录管理 | |||
* </p> | |||
* @author hou yi | |||
* {@code @date} 2024/6/12 10:07 | |||
**/ | |||
@Service | |||
@ApiHandler | |||
public class AflDeactivateEnableRecordPageHandler extends AbstractAfterSalesManager<AflDeactivateEnableRecordPageRequest> { | |||
@Resource | |||
private AflDeactivateEnableRecordRepo deactivateEnableRecordRepo; | |||
public AflDeactivateEnableRecordPageHandler() { | |||
super(AfterSalesCmd.DEACTIVATEENABLERECORDPAGE, AflDeactivateEnableRecordPageRequest.class); | |||
} | |||
@Override | |||
public String handleInternal(String filename, AflDeactivateEnableRecordPageRequest request) throws ServiceHandleException { | |||
try { | |||
Page<AflDeactivateEnableRecord> page = select(request); | |||
return toResponse(page, request).toJson(); | |||
} catch (Exception e) { | |||
if (e instanceof ServiceHandleException) { | |||
throw e; | |||
} | |||
logger.error("比亚迪看板数据批次明细-分页查询失败:{}", e.getMessage()); | |||
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("看板数据明细查询失败"); | |||
} | |||
} | |||
private AflDeactivateEnableRecordPageResponse toResponse(Page<AflDeactivateEnableRecord> page, AflDeactivateEnableRecordPageRequest request) { | |||
final AflDeactivateEnableRecordPageResponse response = new AflDeactivateEnableRecordPageResponse(); | |||
response.setCurrentPage(request.getPageNo()); | |||
response.setPageSize(request.getPageSize()); | |||
response.setPageCount(page.getTotalPages()); | |||
response.setTotalCount(page.getTotalElements()); | |||
if (isEmpty(page.getContent())) { | |||
response.setData(Lists.newArrayList()); | |||
return response; | |||
} | |||
response.setData(page.getContent()); | |||
return response; | |||
} | |||
private Page<AflDeactivateEnableRecord> select(AflDeactivateEnableRecordPageRequest request) throws ServiceHandleException { | |||
if (request.getPageSize() > 100) { | |||
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请求每页数量过大 " + request.getPageSize()); | |||
} | |||
return deactivateEnableRecordRepo.findAll(((root, query, cb) -> { | |||
List<Predicate> list = Lists.newArrayList(); | |||
if (!StringUtils.isEmpty(request.getAccountId())) { | |||
list.add(cb.equal(root.<String>get("accountId"), request.getAccountId())); | |||
} | |||
if (!StringUtils.isEmpty(request.getPlateNum())) { | |||
list.add(cb.equal(root.<String>get("plateNum"), request.getPlateNum())); | |||
} | |||
if (null != request.getPlateColor()) { | |||
list.add(cb.equal(root.<Integer>get("plateColor"), request.getPlateColor())); | |||
} | |||
if (null != request.getStartTime()) { | |||
list.add(cb.greaterThanOrEqualTo(root.<LocalDateTime>get("insertTime"), request.getStartTime())); | |||
} | |||
if (null != request.getEndTime()) { | |||
list.add(cb.lessThanOrEqualTo(root.<LocalDateTime>get("insertTime"), request.getEndTime())); | |||
} | |||
Predicate[] p = new Predicate[list.size()]; | |||
return cb.and(list.toArray(p)); | |||
}), PageRequest.of(request.getPageNo() - 1, request.getPageSize(), | |||
Sort.by(Sort.Direction.DESC, "insertTime"))); | |||
} | |||
} |
@@ -0,0 +1,68 @@ | |||
package com.qtzl.alterSales.manager.model.protocol.sales; | |||
import com.qtzl.alterSales.manager.model.protocol.AbstractAfterSalesPageRequest; | |||
import com.qtzl.alterSales.manager.service.AfterSalesCmd; | |||
import com.txffp.api.core.manager.comm.annotation.Api; | |||
import java.time.LocalDateTime; | |||
/*** | |||
* <p> | |||
* | |||
* </p> | |||
* @author hou yi | |||
* {@code @date} 2024/6/12 10:09 | |||
**/ | |||
@Api(cmdClazz = AfterSalesCmd.class, cmd = "DEACTIVATEENABLERECORDPAGE") | |||
public class AflDeactivateEnableRecordPageRequest extends AbstractAfterSalesPageRequest<AflDeactivateEnableRecordPageResponse> { | |||
private String accountId; | |||
private String plateNum; | |||
private Integer plateColor; | |||
private LocalDateTime startTime; | |||
private LocalDateTime endTime; | |||
public String getAccountId() { | |||
return accountId; | |||
} | |||
public void setAccountId(String accountId) { | |||
this.accountId = accountId; | |||
} | |||
public String getPlateNum() { | |||
return plateNum; | |||
} | |||
public void setPlateNum(String plateNum) { | |||
this.plateNum = plateNum; | |||
} | |||
public Integer getPlateColor() { | |||
return plateColor; | |||
} | |||
public void setPlateColor(Integer plateColor) { | |||
this.plateColor = plateColor; | |||
} | |||
public LocalDateTime getStartTime() { | |||
return startTime; | |||
} | |||
public void setStartTime(LocalDateTime startTime) { | |||
this.startTime = startTime; | |||
} | |||
public LocalDateTime getEndTime() { | |||
return endTime; | |||
} | |||
public void setEndTime(LocalDateTime endTime) { | |||
this.endTime = endTime; | |||
} | |||
} |
@@ -0,0 +1,15 @@ | |||
package com.qtzl.alterSales.manager.model.protocol.sales; | |||
import com.qtzl.alterSales.dao.entity.second.AflDeactivateEnableRecord; | |||
import com.qtzl.alterSales.manager.model.protocol.AbstractAfterSalesPageResponse; | |||
/*** | |||
* <p> | |||
* | |||
* </p> | |||
* @author hou yi | |||
* {@code @date} 2024/6/12 10:11 | |||
**/ | |||
public class AflDeactivateEnableRecordPageResponse extends AbstractAfterSalesPageResponse<AflDeactivateEnableRecord> { | |||
} |
@@ -110,6 +110,7 @@ public enum AfterSalesCmd implements ApiCmd { | |||
UPDATECENTERVEHICLEINFO("修改-车辆管理修改接口", UcServiceType.AFTERSALES), | |||
FINDBYIDCENTERVEHICLEINFO("查询-车辆管理查询详情接口", UcServiceType.AFTERSALES), | |||
FINDCOUNTPACCOUNTFINALBILL("查询-客车渠道最终扣款账单统计接口", UcServiceType.AFTERSALES), | |||
DEACTIVATEENABLERECORDPAGE("停用/启用管理分页查询", UcServiceType.AFTERSALES), | |||
// 部中心用户账户体系相关接口 | |||
SENDSMSCODE("业务短信验证码发送", UcServiceType.AFTERSALES), | |||
BIND("用户绑定手机号", UcServiceType.AFTERSALES), |