@@ -121,10 +121,10 @@ public class AssCustomerInfoChange extends StringPropertyUUIDEntity { | |||
private String closeReason;//关闭原因 | |||
@Column(name = "CLOSE_TIME") | |||
private LocalDateTime closeTime;//关闭时间 | |||
@NotNull | |||
@Column(name = "UPGRADE_STATUS") | |||
@Enumerated(EnumType.STRING) | |||
private UpgradeStatus upgradeStatus;//设备升级状态 | |||
// @NotNull | |||
// @Column(name = "UPGRADE_STATUS") | |||
// @Enumerated(EnumType.STRING) | |||
// private UpgradeStatus upgradeStatus;//设备升级状态 | |||
@NotNull | |||
@Column(name = "INSERT_TIME") | |||
private LocalDateTime insertTime;//创建时间 |
@@ -28,9 +28,6 @@ public class AssDeviceCancel extends AbstractStringPropertyUUIDEntity { | |||
@Column(name = "ORDER_STEP") | |||
@Enumerated(EnumType.STRING) | |||
private CancelOrderStep orderStep;//订单阶段 | |||
@Column(name = "CARD_TYPE") | |||
@Enumerated(EnumType.STRING) | |||
private CardType cardType;// 卡类型 | |||
@NotNull | |||
@Column(name = "HAS_DEVICE") | |||
private Boolean hasDevice;// 连设备注销 |
@@ -26,16 +26,16 @@ public class AssDeviceLoss extends AbstractStringPropertyUUIDEntity { | |||
@Column(name = "LOSS_TYPE") | |||
@Enumerated(EnumType.STRING) | |||
private AssDeviceLossType lossType;// 挂失解挂类型 | |||
@NotBlank | |||
@Column(name = "CUSTOMER_ID") | |||
private String customerId;//客户编号 | |||
@NotBlank | |||
@Column(name = "VEHICLE_ID") | |||
private String vehicleId;//车辆ID; | |||
@Column(name = "CARD_ID") | |||
private String cardId;//卡编号 | |||
@Column(name = "OBU_ID") | |||
private String obuId;//OBU编号 | |||
// @NotBlank | |||
// @Column(name = "CUSTOMER_ID") | |||
// private String customerId;//客户编号 | |||
// @NotBlank | |||
// @Column(name = "VEHICLE_ID") | |||
// private String vehicleId;//车辆ID; | |||
// @Column(name = "CARD_ID") | |||
// private String cardId;//卡编号 | |||
// @Column(name = "OBU_ID") | |||
// private String obuId;//OBU编号 | |||
@NotNull | |||
@Column(name = "INSERT_TIME") | |||
private LocalDateTime insertTime;//创建时间 |
@@ -28,13 +28,13 @@ public class AssDeviceRenewal extends StringPropertyUUIDEntity { | |||
private String orderNo;//订单编号 | |||
@Column(name = "CHANGE_TYPE") | |||
private Integer renewalType;// 类型 1-卡签续期 2-卡续期 3-签续期 | |||
@NotBlank | |||
@Size(max = 64) | |||
@Column(name = "VEHICLE_PLATE") | |||
private String vehiclePlate;//车牌号; | |||
@NotNull | |||
@Column(name = "VEHICLE_PLATECOLOR") | |||
private Integer vehiclePlateColor;//车牌颜色; | |||
// @NotBlank | |||
// @Size(max = 64) | |||
// @Column(name = "VEHICLE_PLATE") | |||
// private String vehiclePlate;//车牌号; | |||
// @NotNull | |||
// @Column(name = "VEHICLE_PLATECOLOR") | |||
// private Integer vehiclePlateColor;//车牌颜色; | |||
@Column(name = "CARD_EXPIRETIME") | |||
private LocalDateTime cardExpireTime;//卡过期时间; | |||
@Column(name = "OBU_EXPIRETIME") |
@@ -3,7 +3,9 @@ package cn.com.taiji.core.entity.ass; | |||
import cn.com.taiji.core.entity.AbstractStringPropertyUUIDEntity; | |||
import cn.com.taiji.core.entity.dict.AuditStatus; | |||
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.CardType; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import cn.com.taiji.core.entity.dict.basic.SourceType; | |||
import cn.com.taiji.core.entity.dict.basic.UserType; | |||
@@ -46,8 +48,11 @@ public class AssOrderinfo extends AbstractStringPropertyUUIDEntity { | |||
@Column(name = "ORDER_STATUS") | |||
@Enumerated(EnumType.STRING) | |||
private AssOrderStatus orderStatus;//订单状态; | |||
@Column(name = "ORDER_STATUS") | |||
@Enumerated(EnumType.STRING) | |||
private AssOrderStep orderStep;//订单阶段; | |||
@Column(name = "APPLY_TIME") | |||
private LocalDateTime applyTime;//下单申请时间 | |||
private LocalDateTime applyTime;//申请时间 | |||
@Size(max = 32) | |||
@Column(name = "STAFF_OPENID_ID") | |||
private String staffOpenId;//员工ID | |||
@@ -77,9 +82,9 @@ public class AssOrderinfo extends AbstractStringPropertyUUIDEntity { | |||
private String auditOpenId;//审核人ID | |||
@Column(name = "AUDIT_TIME") | |||
private LocalDateTime auditTime;//审核时间 | |||
@Column(name = "AUDIT_STATUS") | |||
@Enumerated(EnumType.STRING) | |||
private AuditStatus auditStatus;// 订单审核状态 | |||
// @Column(name = "AUDIT_STATUS") | |||
// @Enumerated(EnumType.STRING) | |||
// private AuditStatus auditStatus;// 订单审核状态 | |||
@Column(name = "AUDIT_REASON") | |||
private String auditReason;//机审失败原因 | |||
@Size(max = 400) | |||
@@ -98,8 +103,16 @@ public class AssOrderinfo extends AbstractStringPropertyUUIDEntity { | |||
private Integer urgent = 0;//是否催单,1是,0否 | |||
@Column(name = "VEHICLE_ID") | |||
private String vehicleId;//车辆ID; | |||
@Size(max = 64) | |||
@Column(name = "VEHICLE_PLATE") | |||
private String vehiclePlate;//车牌号; | |||
@Column(name = "VEHICLE_PLATECOLOR") | |||
private Integer vehiclePlateColor;//车牌颜色; | |||
@Column(name = "CARD_ID") | |||
private String cardId;//卡编号 | |||
@Column(name = "CARD_TYPE") | |||
@Enumerated(EnumType.STRING) | |||
private CardType cardType;// 卡类型 | |||
@Column(name = "OBU_ID") | |||
private String obuId;//OBU编号 | |||
@@ -128,6 +128,8 @@ public class AssVehicleInfoChange extends StringPropertyUUIDEntity { | |||
@Column(name = "AGENT_NEG_IMG_URL") | |||
private String agentNegImgUrl;//经办人反面照片 | |||
@Size(max = 32) | |||
@Column(name = "CANCEL_OPEN_ID") | |||
private String cancelOpenId;//取消人 |
@@ -0,0 +1,55 @@ | |||
package cn.com.taiji.core.entity.dict.ass; | |||
/** | |||
* 售后订单订单阶段 | |||
* 挂失:11 | |||
* 续期:11 | |||
* 用户信息修改:3、4、9、11 | |||
* 重新激活:11 | |||
* 解除车牌占用:3、4、11 | |||
* 车辆信息变更:除了9都有 | |||
* @author : qiubh | |||
* @date : 2025-08-09 | |||
*/ | |||
public enum AssOrderStep { | |||
WAITING_PAY(1, "待支付"), | |||
WAITING_SIGN(2, "待签约"), | |||
WAITING_AUDIT(3, "待审核"), | |||
AUDIT_FAIL(4, "审核不通过"), | |||
WAITING_SEND(5, "待发货"), | |||
WAITING_RECEIVE(6, "待收货"), | |||
TRANS_SURE(7, "待确认流水"), | |||
REFUNDING(8, "退款中"), | |||
WAITING_UPGRADE(9, "待设备升级"), | |||
WAITING_ACTIVE(10, "待激活"), | |||
COMPLETED(11, "已完成"),//已激活, | |||
; | |||
private final Integer code; | |||
private final String step; | |||
AssOrderStep(Integer code, String step) { | |||
this.code = code; | |||
this.step = step; | |||
} | |||
public Integer getCode() { | |||
return this.code; | |||
} | |||
public String getStep() { | |||
return this.step; | |||
} | |||
public static AssOrderStep find(Integer code) { | |||
for (AssOrderStep instance : AssOrderStep.values()) { | |||
if (instance.getCode().equals(code)) { | |||
return instance; | |||
} | |||
} | |||
throw new RuntimeException("不存在的订单步骤:" + code); | |||
} | |||
} |
@@ -1,44 +1,26 @@ | |||
package cn.com.taiji.ias.manager; | |||
import java.io.IOException; | |||
import java.time.LocalDate; | |||
import java.time.LocalDateTime; | |||
import java.time.format.DateTimeFormatter; | |||
import javax.servlet.http.HttpServletRequest; | |||
import cn.com.taiji.common.pub.StringTools; | |||
import cn.com.taiji.core.entity.ass.AssOrderinfo; | |||
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo; | |||
import org.apache.http.NoHttpResponseException; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.web.context.request.RequestContextHolder; | |||
import org.springframework.web.context.request.ServletRequestAttributes; | |||
import com.netflix.client.ClientException; | |||
import cn.com.taiji.common.manager.AbstractManager; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.manager.net.http.binclient.ApiRequestException; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import cn.com.taiji.common.model.file.FileProtocolSystemError; | |||
import cn.com.taiji.common.pub.StringTools; | |||
import cn.com.taiji.common.pub.json.JsonTools; | |||
import cn.com.taiji.common.web.util.WebTools; | |||
import cn.com.taiji.core.manager.comm.client.IOFunction; | |||
import cn.com.taiji.core.manager.comm.client.feign.FeignClientManager; | |||
import cn.com.taiji.core.model.comm.protocol.*; | |||
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | |||
import feign.RetryableException; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractOldSystemRequest; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | |||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeResponse; | |||
import cn.com.taiji.core.model.comm.protocol.SignJsonResponse; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import java.io.IOException; | |||
import java.time.LocalDateTime; | |||
import java.time.format.DateTimeFormatter; | |||
public abstract class AbstractCommManager extends AbstractManager { | |||
@Autowired | |||
protected FeignClientManager feignClientManager; | |||
@Autowired | |||
private AssOrderinfoRepo orderinfoRepo; | |||
//=================================================新中台================================================= | |||
public <RS extends AbstractSignTypeResponse> RS jsonPostRepeat(AbstractSignTypeRequest<RS> req) | |||
throws ServiceHandleException { | |||
@@ -123,9 +105,6 @@ public abstract class AbstractCommManager extends AbstractManager { | |||
return feignClientManager.jsonPost(req, accessToken); | |||
} catch (IOException e) { | |||
logger.error("第 {} 次执行Exception:{}", i + 1, e.getMessage()); | |||
// if (i >= repeat - 1) { | |||
// throw e; | |||
// } | |||
} catch (ApiRequestException e) { | |||
logger.error("接口调用异常", e); | |||
SignJsonResponse jsonRes = toJsonResponse(e); |