@@ -70,6 +70,12 @@ public class CustomerInfoChangeApplyRequest extends AbstractIasRequest<CommCusto | |||
private String staffId; | |||
// 客户Id | |||
@NotBlank | |||
private String customerId; | |||
//是否添加单位ETC账户 1-否 2-是 | |||
@NotBlank | |||
private String isAddEtc; | |||
//小程序添加单位ETC时传的登录人的openId | |||
private String openId; | |||
} |
@@ -109,7 +109,7 @@ public class VehicleUploadRequest extends AbstractSignTypeRequest<VehicleUploadR | |||
String.format("车辆车辆外廓尺寸参数不合规,无法计算收费车型_[%s]", vehicleDimensions)); | |||
} | |||
// 货车必填字段 | |||
if (vanType != 1) { | |||
if (vanType == 2) { | |||
validator.validFieldNotNull("totalMass", totalMass); | |||
validator.validFieldNotNull("maintenaceMass", maintenaceMass); | |||
validator.validFieldNotNull("permittedWeight", permittedWeight); |
@@ -0,0 +1,13 @@ | |||
package cn.com.taiji.core.repo.jpa.ass; | |||
import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; | |||
import cn.com.taiji.core.entity.ass.AssDeviceRenewal; | |||
import cn.com.taiji.core.entity.ass.AssDeviceResume; | |||
import org.springframework.data.jpa.repository.Query; | |||
public interface AssDeviceResumeRepo extends AbstractJpaRepo<AssDeviceResume, String> { | |||
@Query(" from AssDeviceResume where orderNo = ?1 ") | |||
AssDeviceResume findByOrderNo(String orderNo); | |||
} |
@@ -37,6 +37,10 @@ public interface AssOrderinfoRepo extends AbstractJpaRepo<AssOrderinfo, String>{ | |||
@Query(" from AssOrderinfo where customerId = ?1 and orderType = ?2 and orderStatus = ?3 ") | |||
List<AssOrderinfo> findByCustomerIdAndOrderTypeStatus(String customerId, AssOrderType orderType, AssOrderStatus orderStatus); | |||
//根据客户证件号,订单类型,订单状态查询订单 | |||
@Query(" from AssOrderinfo where customerIdNum = ?1 and orderType = ?2 and orderStatus = ?3 ") | |||
List<AssOrderinfo> findByCustomerIdNumAndOrderTypeStatus(String customerIdNum, AssOrderType orderType, AssOrderStatus orderStatus); | |||
@Query(" from AssOrderinfo where vehicleId = ?1 and orderType in ?2") | |||
List<AssOrderinfo> listByVehicleId(String vehicleId,List<AssOrderType> list); | |||
@@ -23,7 +23,7 @@ public interface QtkCustomerInfoRepo extends AbstractJpaRepo<QtkCustomerInfo, St | |||
@Query("select customerId from QtkCustomerInfo where customerIdNum = ?1") | |||
List<String> findCustomerIdByIdNum(String customerIdNum); | |||
@Query("select customerId from QtkCustomerInfo where customerIdNum = ?1 and customerIdType =?2") | |||
@Query("select customerId from QtkCustomerInfo where customerIdNum = ?1 and customerIdType =?2 order by updateTime desc") | |||
List<String> findCustomerIdByIdNumAndIdType(String customerIdNum, IdType customerIdType); | |||
@Query(" from QtkCustomerInfo where agentIdType = ?1 and agentIdNum =?2 order by customerId") |
@@ -6,6 +6,7 @@ import cn.com.taiji.common.web.ApiResponse; | |||
import cn.com.taiji.iaw.api.MyValidController; | |||
import cn.com.taiji.iaw.dto.ass.AssOrderinfoPageRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.AssReviewRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoCancelReqDTO; | |||
import cn.com.taiji.iaw.manager.ass.AssOrderinfoManager; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
@@ -46,4 +47,10 @@ public class AssOrderinfoController extends MyValidController { | |||
} | |||
@ApiOperation(value = "售后订单取消") | |||
@PostMapping("/cancel") | |||
public ApiResponse cancel(@Valid @RequestBody CustomerInfoCancelReqDTO reqDto) throws ManagerException { | |||
manager.cancel(reqDto); | |||
return ApiResponse.success().setMessage("操作成功"); | |||
} | |||
} |
@@ -3,7 +3,6 @@ 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.CustomerInfoCancelReqDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoChangeApplyDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoQueryReqDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoQueryResDTO; | |||
@@ -38,11 +37,4 @@ public class CustomerInfoChangeController extends MyValidController { | |||
manager.apply(reqDto); | |||
return ApiResponse.success().setMessage("操作成功"); | |||
} | |||
@ApiOperation(value = "03-信息修改取消") | |||
@PostMapping("/cancel") | |||
public ApiResponse cancel(@Valid @RequestBody CustomerInfoCancelReqDTO reqDto) throws ManagerException { | |||
manager.cancel(reqDto); | |||
return ApiResponse.success().setMessage("操作成功"); | |||
} | |||
} |
@@ -0,0 +1,35 @@ | |||
package cn.com.taiji.iaw.api.ass; | |||
import javax.validation.Valid; | |||
import cn.com.taiji.iaw.dto.ass.DeviceResumeAddRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.DeviceResumeResponseDTO; | |||
import cn.com.taiji.iaw.manager.ass.DeviceResumeManager; | |||
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 cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.web.ApiResponse; | |||
import cn.com.taiji.iaw.api.MyValidController; | |||
import io.swagger.annotations.Api; | |||
import io.swagger.annotations.ApiOperation; | |||
@Api(tags = {"卡签恢复使用"}) | |||
@RestController | |||
@RequestMapping("/deviceResume") | |||
public class DeviceResumeController extends MyValidController { | |||
@Autowired | |||
private DeviceResumeManager manager; | |||
@ApiOperation(value = "新增") | |||
@PostMapping(value = "/add") | |||
public ApiResponse<DeviceResumeResponseDTO> queryVehicle(@Valid @RequestBody DeviceResumeAddRequestDTO reqDto) throws ManagerException { | |||
DeviceResumeResponseDTO resDto = manager.add(reqDto); | |||
return ApiResponse.of(resDto).setMessage("操作成功"); | |||
} | |||
} |
@@ -71,9 +71,11 @@ public class CustomerInfoChangeApplyDTO extends AbstractBizRequestDTO { | |||
@ApiModelProperty(value = "员工Id app时必填") | |||
private String staffId; | |||
@ApiModelProperty(value = "是否为添加单位ETC账户 1-否 2-是") | |||
private String isAddEtc; | |||
@Override | |||
protected void validate(ViolationValidator validator) { | |||
validator.validFieldNotBlank("customerId", getCustomerId()); | |||
if(("2").equals(type)){ | |||
validator.validFieldNotBlank("agentName", agentName); | |||
validator.validFieldNotBlank("agentIdNo", agentIdNo); | |||
@@ -89,6 +91,14 @@ public class CustomerInfoChangeApplyDTO extends AbstractBizRequestDTO { | |||
} | |||
if (getOrderSource() == SourceType.SERVICE_HALL) { | |||
validator.validFieldNotBlank("staffId", staffId); | |||
validator.validFieldNotBlank("customerId", getCustomerId()); | |||
} | |||
if (getOrderSource() == SourceType.WECHAT) { | |||
validator.validFieldNotBlank("isAddEtc", isAddEtc); | |||
} | |||
if(!"2".equals(isAddEtc)){ | |||
validator.validFieldNotBlank("customerId", getCustomerId()); | |||
validator.validFieldNotBlank("verifyCode", verifyCode); | |||
} | |||
} | |||
} |
@@ -0,0 +1,92 @@ | |||
package cn.com.taiji.iaw.dto.ass; | |||
import cn.com.taiji.core.entity.dict.basic.IdType; | |||
import org.springframework.validation.annotation.Validated; | |||
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.persistence.Column; | |||
import javax.persistence.EnumType; | |||
import javax.persistence.Enumerated; | |||
import javax.validation.constraints.NotBlank; | |||
import javax.validation.constraints.NotNull; | |||
import javax.validation.constraints.Size; | |||
import java.time.LocalDateTime; | |||
@ApiModel(description = "车辆解挂申请") | |||
@Getter | |||
@Setter | |||
@Accessors(chain = true) | |||
@Validated | |||
public class DeviceResumeAddRequestDTO extends AbstractBizRequestDTO { | |||
@NotBlank | |||
@ApiModelProperty(value = "卡号") | |||
private String cardId; | |||
@NotBlank | |||
@ApiModelProperty(value = "签号") | |||
private String obuId; | |||
@NotBlank | |||
@ApiModelProperty(value = "用户姓名") | |||
private String customerName;// 用户姓名 | |||
@NotBlank | |||
@ApiModelProperty(value = "身份证号") | |||
private String customerIdNum;// 身份证号 | |||
@NotBlank | |||
@ApiModelProperty(value = "客户手机号") | |||
private String customerTel;//客户手机号 | |||
@NotBlank | |||
@ApiModelProperty(value = "行驶证车辆类型") | |||
private String cardVehicleType;// 行驶证车辆类型 | |||
@NotBlank | |||
@ApiModelProperty(value = "车牌号码") | |||
private String vehiclePlate;// 车牌号码 | |||
@NotNull | |||
@ApiModelProperty(value = "车牌颜色") | |||
private Integer vehiclePlateColor;// 车牌颜色 | |||
@NotNull | |||
@ApiModelProperty(value = "原卡过期时间") | |||
private LocalDateTime oldCardExpireTime;//原卡过期时间; | |||
@NotNull | |||
@ApiModelProperty(value = "原签过期时间") | |||
private LocalDateTime oldObuExpireTime;//原签过期时间; | |||
@NotBlank | |||
@ApiModelProperty(value = "用户证件正面地址") | |||
private String customerPosUrl;//用户证件正面地址 | |||
@NotBlank | |||
@ApiModelProperty(value = "用户证件反面地址") | |||
private String customerNegUrl;//用户证件反面地址 | |||
@NotBlank | |||
@ApiModelProperty(value = "行驶证正面图片地址") | |||
private String vehPosImgUrl;//行驶证正面图片地址 | |||
@NotBlank | |||
@ApiModelProperty(value = "行驶证反面图片地址") | |||
private String vehNegImgUrl;//行驶证反面图片地址 | |||
@ApiModelProperty(value = "指定经办人姓名") | |||
private String agentName;//指定经办人姓名 | |||
@ApiModelProperty(value = "指定经办人证件类型") | |||
private IdType agentIdtype;//指定经办人证件类型 | |||
@ApiModelProperty(value = "指定经办人证件号码") | |||
private String agentIdNum;//指定经办人证件号码 | |||
@ApiModelProperty(value = "委托书照片") | |||
private String proxyUrl;//委托书照片 | |||
@ApiModelProperty(value = "经办人正面照片") | |||
private String agentPosImgUrl;//经办人正面照片 | |||
@ApiModelProperty(value = "经办人反面照片") | |||
private String agentNegImgUrl;//经办人反面照片 | |||
@NotBlank | |||
@ApiModelProperty(value = "微信openId") | |||
private String wxOpenId;// 微信openId | |||
private Integer vanType;// 车型 | |||
private Integer approvedCount;// 核定载人数 | |||
private Integer axleCount;// 轴数 | |||
private Integer totalMass;// 总质量 | |||
private String vehicleDimensions;// 外廓尺寸 | |||
} |
@@ -0,0 +1,18 @@ | |||
package cn.com.taiji.iaw.dto.ass; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import lombok.experimental.Accessors; | |||
@ApiModel(description = "车辆解挂申请返回") | |||
@Getter | |||
@Setter | |||
@Accessors(chain = true) | |||
public class DeviceResumeResponseDTO extends BaseModel { | |||
@ApiModelProperty(value = "id") | |||
private String id; | |||
} |
@@ -31,7 +31,7 @@ public class SelfServiceViewResponseDTO { | |||
@ApiModelProperty(value = "创建时间") | |||
private LocalDateTime insertTime; | |||
@ApiModelProperty(value = "事件发生时间") | |||
private LocalDateTime eventOccurrenceDate; | |||
private LocalDateTime eventOccurrenceTime; | |||
@ApiModelProperty(value = "客户诉求") | |||
private List<SelfServiceViewUserAppealResponseDTO> userAppeals; | |||
@ApiModelProperty(value = "已佐证资料") |
@@ -4,6 +4,7 @@ import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.iaw.dto.ass.AssOrderinfoPageRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.AssReviewRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoCancelReqDTO; | |||
/** | |||
* @Auther: humh | |||
@@ -17,4 +18,6 @@ public interface AssOrderinfoManager { | |||
void review(AssReviewRequestDTO req) throws ManagerException; | |||
Pagination page(AssOrderinfoPageRequestDTO dto) throws ManagerException; | |||
void cancel(CustomerInfoCancelReqDTO reqDto) throws ManagerException; | |||
} |
@@ -2,14 +2,17 @@ package cn.com.taiji.iaw.manager.ass; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.model.dao.Pagination; | |||
import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.user.Staff; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderAuditRequest; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderAuditResponse; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderCancelRequest; | |||
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo; | |||
import cn.com.taiji.core.repo.jpa.user.StaffRepo; | |||
import cn.com.taiji.core.repo.request.ass.AssOrderinfoPageRequest; | |||
import cn.com.taiji.iaw.dto.ass.AssOrderinfoPageRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.AssReviewRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoCancelReqDTO; | |||
import cn.com.taiji.iaw.manager.AbstractIawManager; | |||
import cn.com.taiji.iaw.model.MyFinals; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
@@ -51,6 +54,15 @@ public class AssOrderinfoManagerImpl extends AbstractIawManager implements AssOr | |||
sysPersistOperateLog(response.getType(),response.getId(),req.getOrderSource(),findOpenIdByToken(req.getAccessToken()),response.getType().getValue()); | |||
} | |||
@Override | |||
public void cancel(CustomerInfoCancelReqDTO reqDto) throws ManagerException { | |||
AssOrderCancelRequest request = new AssOrderCancelRequest(); | |||
request.setOrderNo(reqDto.getOrderNo()); | |||
request.setReason("客户自行取消"); | |||
request.setOpenId(findOpenIdByToken(reqDto.getAccessToken())); | |||
request.setRefundStatus(0); | |||
jsonPostRepeat(request); | |||
persistOperateLog(OperateType.CUSTOMER_INFO_CHANGE_CANCEL, reqDto.getOrderNo(), reqDto.getOrderSource(), findOpenIdByToken(reqDto.getAccessToken()), "用户信息变更取消"); | |||
} | |||
} |
@@ -1,7 +1,6 @@ | |||
package cn.com.taiji.iaw.manager.ass; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoCancelReqDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoChangeApplyDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoQueryReqDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoQueryResDTO; | |||
@@ -11,5 +10,4 @@ public interface CustomerInfoChangeManger { | |||
void apply(CustomerInfoChangeApplyDTO reqDto) throws ManagerException; | |||
void cancel(CustomerInfoCancelReqDTO reqDto) throws ManagerException; | |||
} |
@@ -5,15 +5,15 @@ import cn.com.taiji.core.entity.ass.AssOrderinfo; | |||
import cn.com.taiji.core.entity.basic.QtkCustomerInfo; | |||
import cn.com.taiji.core.entity.dict.ass.AssOrderStatus; | |||
import cn.com.taiji.core.entity.dict.ass.AssOrderType; | |||
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.log.OperateType; | |||
import cn.com.taiji.core.manager.cache.RedisKeyGenerator; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderCancelRequest; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.CommCustomerInfoChangeResponse; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.CustomerInfoChangeApplyRequest; | |||
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo; | |||
import cn.com.taiji.core.repo.jpa.basic.QtkCustomerInfoRepo; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoCancelReqDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoChangeApplyDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoQueryReqDTO; | |||
import cn.com.taiji.iaw.dto.ass.CustomerInfoQueryResDTO; | |||
@@ -64,6 +64,9 @@ public class CustomerInfoChangeMangerImpl extends AbstractIawManager implements | |||
CustomerInfoChangeApplyRequest request = copyProperties(reqDto, new CustomerInfoChangeApplyRequest()); | |||
request.setLoginSource(reqDto.getOrderSource()); | |||
CommCustomerInfoChangeResponse response = jsonPostRepeat(request); | |||
if(SourceType.WECHAT == reqDto.getOrderSource() && "2".equals(reqDto.getIsAddEtc())){ | |||
request.setOpenId(findOpenIdByToken(reqDto.getAccessToken())); | |||
} | |||
//记录日志 | |||
persistOperateLog(("1").equals(reqDto.getType()) ? OperateType.CUSTOMER_INFO_CHANGE_APPLY_SELF : OperateType.CUSTOMER_INFO_CHANGE_APPLY_UNIT, response.getOrderNo()!=null?response.getOrderNo():"-1", reqDto.getOrderSource(), findOpenIdByToken(reqDto.getAccessToken()), "用户信息变更申请" + response.getMsg()); | |||
//响应 | |||
@@ -72,37 +75,46 @@ public class CustomerInfoChangeMangerImpl extends AbstractIawManager implements | |||
} | |||
} | |||
@Override | |||
public void cancel(CustomerInfoCancelReqDTO reqDto) throws ManagerException { | |||
AssOrderCancelRequest request = new AssOrderCancelRequest(); | |||
request.setOrderNo(reqDto.getOrderNo()); | |||
request.setReason("客户自行取消"); | |||
request.setOpenId(findOpenIdByToken(reqDto.getAccessToken())); | |||
request.setRefundStatus(0); | |||
jsonPostRepeat(request); | |||
persistOperateLog(OperateType.CUSTOMER_INFO_CHANGE_CANCEL, reqDto.getOrderNo(), reqDto.getOrderSource(), findOpenIdByToken(reqDto.getAccessToken()), "用户信息变更取消"); | |||
} | |||
// 校验 | |||
private void valid(CustomerInfoChangeApplyDTO reqDto) throws ManagerException { | |||
reqDto.validate(); | |||
List<AssOrderinfo> order = orderInfoRepo.findByCustomerIdAndOrderTypeStatus(reqDto.getCustomerId(), AssOrderType.USER_UPDATE, AssOrderStatus.NORMAL); | |||
if (!order.isEmpty()) { | |||
throw new ManagerException("正在处理中,请勿重复提交!"); | |||
} | |||
QtkCustomerInfo customer = customerInfoRepo.findByCustomerId(reqDto.getCustomerId()); | |||
if (customer == null) { | |||
throw new ManagerException("客户不存在!"); | |||
} | |||
if (!customer.getCustomerIdNum().equals(reqDto.getIdNo())) { | |||
throw new ManagerException("证件号码不允许修改,请核对证件号码是否正确!"); | |||
} | |||
if(!customer.getCustomerTel().equals(reqDto.getTel())){ | |||
if(SourceType.WECHAT == reqDto.getOrderSource() && ("2").equals(reqDto.getIsAddEtc())){ | |||
if(!"2".equals(reqDto.getType())){ | |||
throw new ManagerException("添加单位ETC账号业务类型错误!"); | |||
} | |||
if(!hasText(reqDto.getVerifyCode())){ | |||
throw new ManagerException("手机号发生变更,请输入手机验证码!"); | |||
throw new ManagerException("请输入手机验证码!"); | |||
} | |||
List<AssOrderinfo> order = orderInfoRepo.findByCustomerIdNumAndOrderTypeStatus(reqDto.getIdNo(), AssOrderType.USER_UPDATE, AssOrderStatus.NORMAL); | |||
if (!order.isEmpty()) { | |||
throw new ManagerException("本单位存在正在变更的信息,请勿重复提交!"); | |||
} | |||
List<String> customerIds = customerInfoRepo.findCustomerIdByIdNumAndIdType(reqDto.getIdNo(), IdType.YYZZ); | |||
if(customerIds.isEmpty()){ | |||
throw new ManagerException("本单位未查询到注册信息,请核对证件号是否正确!"); | |||
} | |||
reqDto.setCustomerId(customerIds.get(0)); | |||
}else { | |||
List<AssOrderinfo> order = orderInfoRepo.findByCustomerIdAndOrderTypeStatus(reqDto.getCustomerId(), AssOrderType.USER_UPDATE, AssOrderStatus.NORMAL); | |||
if (!order.isEmpty()) { | |||
throw new ManagerException("正在处理中,请勿重复提交!"); | |||
} | |||
QtkCustomerInfo customer = customerInfoRepo.findByCustomerId(reqDto.getCustomerId()); | |||
if (customer == null) { | |||
throw new ManagerException("客户不存在!"); | |||
} | |||
if (!customer.getCustomerIdNum().equals(reqDto.getIdNo())) { | |||
throw new ManagerException("证件号码不允许修改,请核对证件号码是否正确!"); | |||
} | |||
if (!customer.getCustomerTel().equals(reqDto.getTel())) { | |||
if (!hasText(reqDto.getVerifyCode())) { | |||
throw new ManagerException("手机号发生变更,请输入手机验证码!"); | |||
} | |||
} | |||
} | |||
if (("2").equals(reqDto.getMobileChange())) { | |||
if ("2".equals(reqDto.getMobileChange()) || (SourceType.WECHAT == reqDto.getOrderSource() && "2".equals(reqDto.getIsAddEtc()))) { | |||
String smsCode = redisManager.get(RedisKeyGenerator.getSmsCodeKey(reqDto.getTel(), reqDto.getOrderSource().name(), 3)); | |||
if (!hasText(smsCode)) { | |||
throw new ManagerException("短信验证码已过期,请重新发送!"); |
@@ -0,0 +1,11 @@ | |||
package cn.com.taiji.iaw.manager.ass; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.iaw.dto.ass.DeviceResumeAddRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.DeviceResumeResponseDTO; | |||
public interface DeviceResumeManager { | |||
// 新增 | |||
DeviceResumeResponseDTO add(DeviceResumeAddRequestDTO reqDto) throws ManagerException; | |||
} |
@@ -0,0 +1,166 @@ | |||
package cn.com.taiji.iaw.manager.ass; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.pub.BeanTools; | |||
import cn.com.taiji.core.entity.ass.AssDeviceResume; | |||
import cn.com.taiji.core.entity.ass.AssOrderinfo; | |||
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.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.VehicleType; | |||
import cn.com.taiji.core.manager.tools.issue.IssueTools; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.ResignRequest; | |||
import cn.com.taiji.core.model.comm.protocol.ias.order.SignQueryResponse; | |||
import cn.com.taiji.core.repo.jpa.ass.AssDeviceResumeRepo; | |||
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo; | |||
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.iaw.dto.ass.DeviceResumeAddRequestDTO; | |||
import cn.com.taiji.iaw.dto.ass.DeviceResumeResponseDTO; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import cn.com.taiji.iaw.manager.AbstractCommManager; | |||
import java.time.LocalDateTime; | |||
/** | |||
* 卡签恢复使用相关功能 | |||
*/ | |||
@Service | |||
public class DeviceResumeManagerImpl extends AbstractCommManager implements DeviceResumeManager { | |||
@Autowired | |||
private AssDeviceResumeRepo deviceResumeRepo; | |||
@Autowired | |||
private AssOrderinfoRepo orderinfoRepo; | |||
@Autowired | |||
private QtkCardInfoRepo cardInfoRepo; | |||
@Autowired | |||
private QtkObuInfoRepo obuInfoRepo; | |||
@Autowired | |||
private QtkCustomerInfoRepo customerInfoRepo; | |||
@Autowired | |||
private QtkVehicleInfoRepo vehicleInfoRepo; | |||
@Override | |||
public DeviceResumeResponseDTO add(DeviceResumeAddRequestDTO reqDto) throws ManagerException { | |||
// 审核是否能新增 | |||
checkDeviceResume(reqDto); | |||
// 保存售后订单 | |||
AssOrderinfo orderinfo = saveOrderInfo(reqDto); | |||
// 保存审核记录 | |||
AssDeviceResume deviceResume = saveDeviceResume(reqDto,orderinfo); | |||
DeviceResumeResponseDTO responseDTO = new DeviceResumeResponseDTO(); | |||
responseDTO.setId(deviceResume.getId()); | |||
return responseDTO; | |||
} | |||
public void checkDeviceResume(DeviceResumeAddRequestDTO reqDto) throws ManagerException { | |||
// 1、判断卡签状态为有卡挂起和无卡挂起状态可以申请解除挂起。 | |||
QtkCardInfo cardInfo = cardInfoRepo.findByCardId(reqDto.getCardId()); | |||
if (cardInfo == null) { | |||
throw new ManagerException("未查到卡信息,不允许解挂!"); | |||
} | |||
QtkObuInfo obuInfo = obuInfoRepo.findByObuId(reqDto.getObuId()); | |||
if (obuInfo == null) { | |||
throw new ManagerException("未查到签信息,不允许解挂!"); | |||
} | |||
if (cardInfo.getCardStatus() != CardStatus.YKGQ && cardInfo.getCardStatus() != CardStatus.WKGQ) { | |||
throw new ManagerException("卡号状态不是有卡挂起或无卡挂起状态,不允许解挂!"); | |||
} | |||
// 2、判断卡签信息中的用户编号和车辆编号是否存在用户数据和车辆数据,不存在不允许解挂。 | |||
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(cardInfo.getCustomerId()); | |||
if (customerInfo == null) { | |||
throw new ManagerException("未查到用户信息,不允许解挂!"); | |||
} | |||
QtkVehicleInfo vehicleInfo = vehicleInfoRepo.findByVehicleId(cardInfo.getVehicleId()); | |||
if (vehicleInfo == null) { | |||
throw new ManagerException("未查到车辆信息,不允许解挂!"); | |||
} | |||
// 3、判断卡签信息中的车辆编号,判断车辆数据中的用户编号和卡签信息中的车辆编号是否一致,不一致,不允许解挂。 | |||
if (!cardInfo.getVehicleId().equals(vehicleInfo.getVehicleId()) | |||
||!obuInfo.getVehicleId().equals(vehicleInfo.getVehicleId())) { | |||
throw new ManagerException("车辆编号不一致,不允许解挂!"); | |||
} | |||
if (!vehicleInfo.getCustomerId().equals(customerInfo.getCustomerId()) | |||
|| !cardInfo.getCustomerId().equals(customerInfo.getCustomerId()) | |||
|| !obuInfo.getCustomerId().equals(customerInfo.getCustomerId())) { | |||
throw new ManagerException("车辆用户信息与卡签用户信息不一致,不允许解挂!"); | |||
} | |||
// 4、判断上传的车辆资料,通过上传资料计算车型,当车型发生变更时,不允许进行解挂。 | |||
Integer vehicleClass = IssueTools.getVehicleClass(reqDto.getVanType(), reqDto.getVehicleDimensions(), | |||
reqDto.getApprovedCount(), reqDto.getAxleCount(), reqDto.getTotalMass()); | |||
VehicleType vehicleType = VehicleType.fromCode(vehicleClass); | |||
if (vehicleInfo.getType() != vehicleType.getCode()){ | |||
throw new ManagerException("车辆类型发生变更,不允许进行解挂!"); | |||
} | |||
// 5、进行车牌校验,判断车牌占用情况,有则不允许解挂。 | |||
QtkObuInfo zcObuInfo = obuInfoRepo.findByVehicleIdAndObuStatus(vehicleInfo.getVehicleId(), ObuStatus.ZC); | |||
QtkCardInfo zcCardInfo = cardInfoRepo.findByVehicleIdAndCardStatus(vehicleInfo.getVehicleId()); | |||
if (zcObuInfo != null || zcCardInfo != null){ | |||
throw new ManagerException("车牌已占用,不允许进行解挂!"); | |||
} | |||
// 6、判断用户原签约关系是否正常,不正常不允许解挂。" | |||
ResignRequest resignRequest = new ResignRequest(); | |||
resignRequest.setWxOpenId(reqDto.getWxOpenId()); | |||
resignRequest.setProductId(cardInfo.getPackageId()); | |||
resignRequest.setVehicleId(cardInfo.getVehicleId()); | |||
resignRequest.setName(reqDto.getCustomerName()); | |||
resignRequest.setIdNum(reqDto.getCustomerIdNum()); | |||
resignRequest.setFlag(1); | |||
SignQueryResponse response = jsonPostRepeat(resignRequest); | |||
if (response.getUserState().equals("OPENED") | |||
|| !response.getUserState().equals("UNAUTHORIZED")){ | |||
return; | |||
}else{ | |||
throw new ManagerException("用户原签约关系异常,不允许进行解挂!"); | |||
} | |||
} | |||
public AssOrderinfo saveOrderInfo(DeviceResumeAddRequestDTO reqDto) throws ServiceHandleException { | |||
QtkCardInfo cardInfo = cardInfoRepo.findByCardId(reqDto.getCardId()); | |||
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(cardInfo.getCustomerId()); | |||
AssOrderinfo orderinfo = new AssOrderinfo(); | |||
BeanTools.copyProperties(reqDto, orderinfo); | |||
orderinfo.setOrderType(AssOrderType.DEVICE_RESUME); | |||
orderinfo.setOrderSource(reqDto.getOrderSource()); | |||
orderinfo.setAgencyId(cardInfo.getAgencyId()); | |||
orderinfo.setChannelId(cardInfo.getChannelId()); | |||
orderinfo.setOrderStatus(AssOrderStatus.NORMAL); | |||
orderinfo.setOrderStep(AssOrderStep.WAITING_AUDIT); | |||
orderinfo.setApplyTime(LocalDateTime.now()); | |||
orderinfo.setOpenId(findOpenIdByToken(reqDto.getAccessToken())); | |||
orderinfo.setCustomerId(cardInfo.getCustomerId()); | |||
orderinfo.setCustomerName(reqDto.getCustomerName()); | |||
orderinfo.setCustomerTel(reqDto.getCustomerTel()); | |||
orderinfo.setUserType(customerInfo.getUserType()); | |||
orderinfo.setArtificialStatus(0); | |||
orderinfo.setVehicleId(cardInfo.getVehicleId()); | |||
orderinfo.setVehiclePlate(reqDto.getVehiclePlate()); | |||
orderinfo.setVehiclePlateColor(reqDto.getVehiclePlateColor()); | |||
orderinfo.setCardId(cardInfo.getCardId()); | |||
orderinfo.setCardType(CardType.fromCode(cardInfo.getCardType())); | |||
orderinfo.setObuId(reqDto.getObuId()); | |||
return orderinfoRepo.save(orderinfo); | |||
} | |||
public AssDeviceResume saveDeviceResume(DeviceResumeAddRequestDTO reqDto, AssOrderinfo orderinfo){ | |||
AssDeviceResume deviceResume = new AssDeviceResume(); | |||
BeanTools.copyProperties(reqDto, deviceResume); | |||
deviceResume.setOrderNo(orderinfo.getOrderNo()); | |||
deviceResume.setInsertTime(LocalDateTime.now()); | |||
return deviceResumeRepo.save(deviceResume); | |||
} | |||
} |
@@ -20,6 +20,7 @@ dependencies { | |||
implementation "${groupname}:ods-protocol:1.0.0-SNAPSHOT" | |||
implementation "${groupname}:smp-protocol:1.0.0-SNAPSHOT" | |||
implementation "${groupname}:bls-protocol:1.0.0-SNAPSHOT" | |||
implementation "${groupname}:msgw-protocol:1.0.0-SNAPSHOT" | |||
implementation "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery" | |||
implementation "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config" | |||
implementation 'com.alibaba:druid-spring-boot-starter:1.2.8' |
@@ -12,6 +12,7 @@ import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder; | |||
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | |||
import cn.com.taiji.ias.dict.DataType; | |||
import cn.com.taiji.ias.manager.ass.customerInfoChange.CustomerInfoChangeAuditManager; | |||
import cn.com.taiji.ias.manager.ass.deviceResume.DeviceResumeManager; | |||
import cn.com.taiji.ias.manager.ass.releasePlate.ReleasePlateReviewManager; | |||
import cn.com.taiji.ias.model.ServiceLogEvent; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
@@ -31,6 +32,8 @@ public class AssOrderAuditManager extends AbstractAssManager<AssOrderAuditReques | |||
private CustomerInfoChangeAuditManager customerInfoChangeAuditManager; | |||
@Autowired | |||
private ReleasePlateReviewManager releasePlateReviewManager; | |||
@Autowired | |||
private DeviceResumeManager deviceResumeManager; | |||
@Override | |||
protected String getDataId(AssOrderAuditRequest req) { | |||
return ""; | |||
@@ -75,6 +78,9 @@ public class AssOrderAuditManager extends AbstractAssManager<AssOrderAuditReques | |||
case RELEASE_VEHICLE://解除车牌占用 | |||
releasePlateReviewManager.serviceHandle(request, order, staff); | |||
break; | |||
case DEVICE_RESUME: | |||
deviceResumeManager.serviceHandle(request, order, staff); | |||
break; | |||
//TODO | |||
default: | |||
throw GlyServiceError.FORMAT_VALIDATE_ERR.toHandleException("订单类型未定义"); |
@@ -98,7 +98,10 @@ public class AssOrderCancelManager extends AbstractAssManager<AssOrderCancelRequ | |||
break; | |||
case RELEASE_VEHICLE://解除车牌占用 | |||
break; | |||
case DEVICE_RESUME://车辆解挂 | |||
break; | |||
//TODO | |||
default: | |||
throw GlyServiceError.FORMAT_VALIDATE_ERR.toHandleException("订单类型未定义"); | |||
} |
@@ -113,20 +113,24 @@ public class CustomerInfoChangeApplyManager extends AbstractCustomerInfoChangeMa | |||
} | |||
order.setStaffOpenId(staff.getOpenId()); | |||
} | |||
String idNum = customerInfo.getCustomerIdNum(); | |||
IdType idType = customerInfo.getCustomerIdType(); | |||
if("2".equals(request.getType())){ | |||
idNum = customerInfo.getAgentIdNum(); | |||
idType = customerInfo.getAgentIdType(); | |||
} | |||
AccountInfo accountInfo = accountInfoRepo.findByIdNumAndIdType(idNum, idType); | |||
if (accountInfo != null) { | |||
if (!hasText(accountInfo.getOpenId())) { | |||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("客户openId不存在"); | |||
if(request.getLoginSource() == SourceType.WECHAT && "2".equals(request.getIsAddEtc())){ | |||
order.setOpenId(request.getOpenId()); | |||
}else { | |||
String idNum = customerInfo.getCustomerIdNum(); | |||
IdType idType = customerInfo.getCustomerIdType(); | |||
if ("2".equals(request.getType())) { | |||
idNum = customerInfo.getAgentIdNum(); | |||
idType = customerInfo.getAgentIdType(); | |||
} | |||
AccountInfo accountInfo = accountInfoRepo.findByIdNumAndIdType(idNum, idType); | |||
if (accountInfo != null) { | |||
if (!hasText(accountInfo.getOpenId())) { | |||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("客户openId不存在"); | |||
} | |||
order.setOpenId(accountInfo.getOpenId()); | |||
} else { | |||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("客户不存在"); | |||
} | |||
order.setOpenId(accountInfo.getOpenId()); | |||
} else { | |||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("客户不存在"); | |||
} | |||
order.setCustomerId(request.getCustomerId()); | |||
order.setCustomerTel(customerInfo.getCustomerTel()); | |||
@@ -235,11 +239,11 @@ public class CustomerInfoChangeApplyManager extends AbstractCustomerInfoChangeMa | |||
orderInfo.setAuditOpenId("-1"); | |||
// orderInfo.setAuditStatus(AuditStatus.NO_AUDIT); | |||
orderInfo.setOrderStep(AssOrderStep.WAITING_UPGRADE); | |||
orderInfo.setArtificialStatus(2); | |||
orderInfo.setAuditReason("机审成功!"); | |||
orderInfo.setAuditTime(LocalDateTime.now()); | |||
orderInfo.setUpdateTime(LocalDateTime.now()); | |||
} | |||
orderInfo.setArtificialStatus(2); | |||
orderInfo.setAutoAuditTime(LocalDateTime.now()); | |||
} else if ("2".equals(request.getType())) { | |||
@@ -300,11 +304,18 @@ public class CustomerInfoChangeApplyManager extends AbstractCustomerInfoChangeMa | |||
orderInfo.setAuditOpenId("-1"); | |||
// orderInfo.setAuditStatus(AuditStatus.NO_AUDIT); | |||
orderInfo.setOrderStep(AssOrderStep.WAITING_UPGRADE); | |||
orderInfo.setArtificialStatus(2); | |||
orderInfo.setAuditReason("机审成功!"); | |||
orderInfo.setAuditTime(LocalDateTime.now()); | |||
orderInfo.setUpdateTime(LocalDateTime.now()); | |||
} | |||
//小程序添加单位ETC账号时必须人工审核 | |||
if(request.getIsAddEtc().equals("2")){ | |||
orderInfo.setOrderStep(AssOrderStep.WAITING_AUDIT); | |||
orderInfo.setAuditReason("客户通过小程序进行添加变更单位账户信息,请核对;"+orderInfo.getAuditReason()); | |||
} | |||
orderInfo.setArtificialStatus(2); | |||
orderInfo.setAutoAuditTime(LocalDateTime.now()); | |||
} else { | |||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("不支持的修改类型"); |
@@ -0,0 +1,140 @@ | |||
package cn.com.taiji.ias.manager.ass.deviceResume; | |||
import java.time.LocalDateTime; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import cn.com.taiji.common.pub.BeanTools; | |||
import cn.com.taiji.core.entity.ass.AssDeviceUpgrade; | |||
import cn.com.taiji.core.entity.ass.AssOrderinfo; | |||
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.issue.OrderType; | |||
import cn.com.taiji.core.entity.user.AccountInfo; | |||
import cn.com.taiji.core.entity.user.Staff; | |||
import cn.com.taiji.core.model.comm.protocol.bls.CardQueryRequest; | |||
import cn.com.taiji.core.model.comm.protocol.bls.CardQueryResponse; | |||
import cn.com.taiji.core.model.comm.protocol.bls.ObuQueryRequest; | |||
import cn.com.taiji.core.model.comm.protocol.bls.ObuQueryResponse; | |||
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderAuditRequest; | |||
import cn.com.taiji.core.model.comm.protocol.msgw.send.MsgwWxMpSendRequest; | |||
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | |||
import cn.com.taiji.core.repo.jpa.ass.AssDeviceUpgradeRepo; | |||
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo; | |||
import cn.com.taiji.core.repo.jpa.basic.QtkCustomerInfoRepo; | |||
import cn.com.taiji.core.repo.jpa.user.AccountInfoRepo; | |||
import cn.com.taiji.ias.manager.AbstractCommManager; | |||
@Service | |||
public class DeviceResumeManager extends AbstractCommManager { | |||
@Autowired | |||
private AssOrderinfoRepo orderinfoRepo; | |||
@Autowired | |||
private AssDeviceUpgradeRepo deviceUpgradeRepo; | |||
@Autowired | |||
private QtkCustomerInfoRepo customerInfoRepo; | |||
@Autowired | |||
private AccountInfoRepo accountInfoRepo; | |||
public void serviceHandle(AssOrderAuditRequest req, AssOrderinfo orderInfo, Staff staff) throws ServiceHandleException { | |||
// 业务校验 | |||
businessValidateInternal(orderInfo); | |||
// 处理业务 | |||
persistInternal(req, orderInfo, staff); | |||
} | |||
public void businessValidateInternal(AssOrderinfo orderInfo) throws ServiceHandleException { | |||
// TODO 1、判断用户欠费情况和黑名单情况,提示审核人员 | |||
// 黑名单情况 | |||
CardQueryRequest cardQueryRequest = new CardQueryRequest(); | |||
cardQueryRequest.setCardId(orderInfo.getCardId()); | |||
cardQueryRequest.setStatus(1); | |||
CardQueryResponse cardQueryResponse = jsonPostRepeat(cardQueryRequest); | |||
if (!isEmpty(cardQueryResponse.getResults())) { | |||
GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("卡在黑,审核失败!"); | |||
} | |||
ObuQueryRequest obuQueryRequest = new ObuQueryRequest(); | |||
obuQueryRequest.setObuId(orderInfo.getObuId()); | |||
obuQueryRequest.setStatus(1); | |||
ObuQueryResponse obuQueryResponse = jsonPostRepeat(obuQueryRequest); | |||
if (!isEmpty(obuQueryResponse.getResults())) { | |||
GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("OBU在黑,审核失败!"); | |||
} | |||
// TODO 欠费情况 | |||
} | |||
public void persistInternal(AssOrderAuditRequest req, AssOrderinfo orderInfo, Staff staff) throws ServiceHandleException { | |||
MsgwWxMpSendRequest mpSendRequest = new MsgwWxMpSendRequest(); | |||
orderInfo.setAuditOpenId(staff.getOpenId()); | |||
orderInfo.setAuditTime(LocalDateTime.now()); | |||
orderInfo.setUpdateTime(LocalDateTime.now()); | |||
orderInfo.setArtificialStatus(1); | |||
orderInfo.setAuditFailureCase(req.getReason()); | |||
// 2、人工审核不通过,则记录拒绝原因,并告知用户 | |||
if (!req.getAuditStatus()){ | |||
orderInfo.setOrderStep(AssOrderStep.AUDIT_FAIL); | |||
orderInfo.setOrderStatus(AssOrderStatus.CLOSE); | |||
orderinfoRepo.merge(orderInfo); | |||
// todo 告知用户 | |||
mpSendRequest.setData("{" + | |||
"\"first\":{\"value\":" + | |||
"订单处理通知" + | |||
"}\"keyword1\":{\"value\":\"" + | |||
orderInfo.getOrderNo() + | |||
"\"},\"keyword2\":{\"value\":\"" + | |||
orderInfo.getOrderType().getDesc() + | |||
"\"},\"keyword3\":{\"value\":\"" + | |||
LocalDateTime.now() + | |||
"\"},\"remark\":{\"value\":\"" + | |||
"审核不通过:" + | |||
req.getReason() + | |||
"\"}}"); | |||
} | |||
// 3、人工审核通过后 | |||
// 将卡签变更为正常状态(设备升级成功后进行) | |||
else { | |||
orderInfo.setOrderStep(AssOrderStep.WAITING_UPGRADE); | |||
orderinfoRepo.merge(orderInfo); | |||
// 4、有签挂起解挂生成设备升级工单。" | |||
AssDeviceUpgrade deviceUpgrade = new AssDeviceUpgrade(); | |||
BeanTools.copyProperties(orderInfo, deviceUpgrade); | |||
deviceUpgrade.setInsertTime(LocalDateTime.now()); | |||
deviceUpgradeRepo.persist(deviceUpgrade); | |||
// todo 告知用户 | |||
mpSendRequest.setData("{" + | |||
"\"first\":{\"value\":" + | |||
"订单处理通知" + | |||
"}\"keyword1\":{\"value\":\"" + | |||
orderInfo.getOrderNo() + | |||
"\"},\"keyword2\":{\"value\":\"" + | |||
orderInfo.getOrderType().getDesc() + | |||
"\"},\"keyword3\":{\"value\":\"" + | |||
LocalDateTime.now() + | |||
"\"},\"remark\":{\"value\":\"" + | |||
"审核通过:请前往小程序进行设备升级!" + | |||
"\"}}"); | |||
} | |||
AccountInfo accountInfo = accountInfoRepo.findByOpenId(orderInfo.getOpenId()); | |||
if (accountInfo == null){ | |||
return; | |||
} | |||
if (accountInfo.getMpOpenid() == null){ | |||
return; | |||
} | |||
mpSendRequest.setClientId("bfc4040bda90473d8ceab246555361a3"); | |||
mpSendRequest.setTitle("订单状态变更"); | |||
mpSendRequest.setMpOpenId(accountInfo.getMpOpenid()); | |||
mpSendRequest.setTemplateName("Wn_--Fg98Okqydw8YWLVSp2gxESXZ5DhJF60hKae-FM"); | |||
mpSendRequest.setSendOrderType(orderInfo.getOrderType()); | |||
mpSendRequest.setOrderType(OrderType.AFTERSALE); | |||
mpSendRequest.setOrderNo(orderInfo.getOrderNo()); | |||
jsonPostRepeat(mpSendRequest); | |||
} | |||
} |