@Override | @Override | ||||
protected void validate(ViolationValidator validator) { | protected void validate(ViolationValidator validator) { | ||||
if (getOrderSource() == SourceType.SERVICE_HALL){ | if (getOrderSource() == SourceType.SERVICE_HALL){ | ||||
validator.validField("vehicleId", StringUtils.isEmpty(vehicleId), "APP车辆编号不能为空"); | |||||
validator.validField("vehicleId", StringUtils.isEmpty(vehicleId), "APP办理车辆编号不能为空"); | |||||
} | } | ||||
} | } | ||||
package cn.com.taiji.iaw.dto.ass; | package cn.com.taiji.iaw.dto.ass; | ||||
import cn.com.taiji.common.valid.ViolationValidator; | |||||
import cn.com.taiji.core.dto.AbstractBizRequestDTO; | import cn.com.taiji.core.dto.AbstractBizRequestDTO; | ||||
import cn.com.taiji.core.entity.dict.basic.SourceType; | |||||
import cn.com.taiji.core.entity.dict.issue.BankType; | import cn.com.taiji.core.entity.dict.issue.BankType; | ||||
import cn.com.taiji.core.entity.dict.issue.ProvinceType; | import cn.com.taiji.core.entity.dict.issue.ProvinceType; | ||||
import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
import org.apache.commons.lang.StringUtils; | |||||
import javax.validation.constraints.NotEmpty; | import javax.validation.constraints.NotEmpty; | ||||
import javax.validation.constraints.NotNull; | import javax.validation.constraints.NotNull; | ||||
@ApiModelProperty("编号") | @ApiModelProperty("编号") | ||||
private String id; | private String id; | ||||
@ApiModelProperty("车辆编号") | |||||
private String vehicleId; | |||||
@ApiModelProperty(value = "开户行名称") | @ApiModelProperty(value = "开户行名称") | ||||
@NotNull(message = "开户行名称不能为空") | @NotNull(message = "开户行名称不能为空") | ||||
private BankType bankName; | private BankType bankName; | ||||
@ApiModelProperty(name = "信息失效标记") | @ApiModelProperty(name = "信息失效标记") | ||||
private Integer delFlag ; | private Integer delFlag ; | ||||
@Override | |||||
protected void validate(ViolationValidator validator) { | |||||
if (getOrderSource() == SourceType.SERVICE_HALL){ | |||||
validator.validField("vehicleId", StringUtils.isEmpty(vehicleId), "APP办理车辆编号不能为空"); | |||||
} | |||||
} | |||||
} | } |
package cn.com.taiji.iaw.dto.ass; | package cn.com.taiji.iaw.dto.ass; | ||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.valid.ViolationValidator; | import cn.com.taiji.common.valid.ViolationValidator; | ||||
import cn.com.taiji.core.dto.AbstractBizRequestDTO; | import cn.com.taiji.core.dto.AbstractBizRequestDTO; | ||||
import cn.com.taiji.core.entity.dict.basic.ObuStatus; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
import org.springframework.util.StringUtils; | |||||
import javax.validation.constraints.NotBlank; | |||||
import javax.validation.constraints.NotNull; | import javax.validation.constraints.NotNull; | ||||
import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||
import cn.com.taiji.common.pub.CollectionTools; | import cn.com.taiji.common.pub.CollectionTools; | ||||
import cn.com.taiji.core.entity.ass.AssObuSupply; | import cn.com.taiji.core.entity.ass.AssObuSupply; | ||||
import cn.com.taiji.core.entity.ass.AssOrderinfo; | 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.QtkCustomerInfo; | ||||
import cn.com.taiji.core.entity.basic.QtkVehicleInfo; | 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.AssOrderStatus; | ||||
import cn.com.taiji.core.entity.dict.ass.AssOrderType; | 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.CardType; | ||||
import cn.com.taiji.core.entity.dict.basic.SourceType; | import cn.com.taiji.core.entity.dict.basic.SourceType; | ||||
import cn.com.taiji.core.entity.dict.issue.OrderPayType; | |||||
import cn.com.taiji.core.entity.dict.issue.OrderType; | |||||
import cn.com.taiji.core.entity.dict.log.OperateType; | import cn.com.taiji.core.entity.dict.log.OperateType; | ||||
import cn.com.taiji.core.entity.issue.IssueOrderPay; | |||||
import cn.com.taiji.core.repo.jpa.ass.AssObuSupplyRepo; | import cn.com.taiji.core.repo.jpa.ass.AssObuSupplyRepo; | ||||
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo; | 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.QtkCustomerInfoRepo; | ||||
import cn.com.taiji.core.repo.jpa.basic.QtkVehicleInfoRepo; | import cn.com.taiji.core.repo.jpa.basic.QtkVehicleInfoRepo; | ||||
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyRequestDTO; | import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyRequestDTO; | ||||
private VehicleInfoManagerImpl vehicleInfoManagerImpl; | private VehicleInfoManagerImpl vehicleInfoManagerImpl; | ||||
@Autowired | @Autowired | ||||
private QtkCustomerInfoRepo customerInfoRepo; | private QtkCustomerInfoRepo customerInfoRepo; | ||||
@Autowired | |||||
private QtkCardInfoRepo cardInfoRepo; | |||||
@Override | @Override | ||||
@Transactional(rollbackFor = Exception.class) | @Transactional(rollbackFor = Exception.class) | ||||
String orderNo = createOrderNo(MyFinals.QTZL_AGENCY_ID); | String orderNo = createOrderNo(MyFinals.QTZL_AGENCY_ID); | ||||
AssObuSupply obuSupply = copyProperties(dto, new AssObuSupply()); | AssObuSupply obuSupply = copyProperties(dto, new AssObuSupply()); | ||||
obuSupply.setOrderNo(orderNo); | obuSupply.setOrderNo(orderNo); | ||||
obuSupply.setPayee(1);//todo 先默认1-黔通 | |||||
obuSupply.setFee(2000);//todo 默认20 | |||||
obuSupply.setPayee(1);//todo 先默认1-黔通 从支付配置中获取 | |||||
obuSupply.setFee(2000);//todo 默认20 从支付配置中获取 | |||||
obuSupplyRepo.save(obuSupply); | obuSupplyRepo.save(obuSupply); | ||||
//生成售后订单 | //生成售后订单 | ||||
createAssOrderinfo(vehicleInfo, orderNo, dto, model); | createAssOrderinfo(vehicleInfo, orderNo, dto, model); | ||||
//生成支付单 todo 还没有支付配置 | |||||
QtkCardInfo cardInfo = cardInfoRepo.findByCardId(model.getCardId()); | |||||
payTools.createPayOrder(orderNo, OrderType.AFTERSALE,2000L, "todo",OrderPayType.REPAIROBU, cardInfo.getAgencyId()); | |||||
//日志 | //日志 | ||||
persistOperateLog(OperateType.OBU_SUPPLY_APPLY, obuSupply.getId(), dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), "增补OBU申请"); | persistOperateLog(OperateType.OBU_SUPPLY_APPLY, obuSupply.getId(), dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), "增补OBU申请"); | ||||
return new AssObuSupplyApplyResponseDTO(orderNo); | return new AssObuSupplyApplyResponseDTO(orderNo); | ||||
throw new ManagerException("为查询到该订单"); | throw new ManagerException("为查询到该订单"); | ||||
} | } | ||||
//支付 | //支付 | ||||
if (!payTools.queryPay(dto.getOrderNo(), OrderType.AFTERSALE)){ | |||||
throw new ManagerException("该订单已支付"); | |||||
} | |||||
//更新订单状态 | //更新订单状态 | ||||
LocalDateTime now = LocalDateTime.now(); | LocalDateTime now = LocalDateTime.now(); |
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(vehicleInfo.getCustomerId()); | QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(vehicleInfo.getCustomerId()); | ||||
AccountInfo accountInfo = accountInfoRepo.findByIdNumAndIdType(customerInfo.getCustomerIdNum(), customerInfo.getCustomerIdType()); | AccountInfo accountInfo = accountInfoRepo.findByIdNumAndIdType(customerInfo.getCustomerIdNum(), customerInfo.getCustomerIdType()); | ||||
pageRequest.setOpenId(accountInfo.getOpenId()); | pageRequest.setOpenId(accountInfo.getOpenId()); | ||||
}else { | }else { | ||||
throw new ManagerException("请求来源异常"); | throw new ManagerException("请求来源异常"); | ||||
} | } | ||||
@Override | @Override | ||||
public RefundInfoResponseDTO addOrUpdate(RefundInfoRequestDTO dto) throws ManagerException { | public RefundInfoResponseDTO addOrUpdate(RefundInfoRequestDTO dto) throws ManagerException { | ||||
String openId = findOpenIdByToken(dto.getAccessToken()); | |||||
String openId = null; | |||||
if (dto.getOrderSource() == SourceType.WECHAT){ | |||||
openId = findOpenIdByToken(dto.getAccessToken()); | |||||
}else if (dto.getOrderSource() == SourceType.SERVICE_HALL){ | |||||
QtkVehicleInfo vehicleInfo = vehicleInfoRepo.findByVehicleId(dto.getVehicleId()); | |||||
QtkCustomerInfo customerInfo = customerInfoRepo.findByCustomerId(vehicleInfo.getCustomerId()); | |||||
AccountInfo accountInfo = accountInfoRepo.findByIdNumAndIdType(customerInfo.getCustomerIdNum(), customerInfo.getCustomerIdType()); | |||||
openId = accountInfo.getOpenId(); | |||||
}else { | |||||
throw new ManagerException("请求来源异常"); | |||||
} | |||||
RefundReceiveInfo exitRefundInfo = refundReceiveInfoRepo.findByBankAndBankIdCodeAndOpenId(dto.getBankIdCode(), openId); | RefundReceiveInfo exitRefundInfo = refundReceiveInfoRepo.findByBankAndBankIdCodeAndOpenId(dto.getBankIdCode(), openId); | ||||
LocalDateTime now = LocalDateTime.now(); | LocalDateTime now = LocalDateTime.now(); | ||||
String id = dto.getId(); | |||||
if (StringUtils.isNotBlank(id)) { | |||||
if (StringUtils.isNotBlank(dto.getId())) { | |||||
// 修改 | // 修改 | ||||
RefundReceiveInfo entity = refundReceiveInfoRepo.findById(id).orElse(null); | |||||
RefundReceiveInfo entity = refundReceiveInfoRepo.findById(dto.getId()).orElse(null); | |||||
if (entity == null) { | if (entity == null) { | ||||
throw new ManagerException("该退费信息不存在"); | throw new ManagerException("该退费信息不存在"); | ||||
} | } | ||||
} | } | ||||
RefundReceiveInfo RefundReceiveInfo = new RefundReceiveInfo(); | RefundReceiveInfo RefundReceiveInfo = new RefundReceiveInfo(); | ||||
BeanTools.copyProperties(dto, RefundReceiveInfo, "id"); | BeanTools.copyProperties(dto, RefundReceiveInfo, "id"); | ||||
RefundReceiveInfo.setOpenId(findOpenIdByToken(dto.getAccessToken())); | |||||
RefundReceiveInfo.setOpenId(openId); | |||||
RefundReceiveInfo.setInsertTime(now); | RefundReceiveInfo.setInsertTime(now); | ||||
RefundReceiveInfo.setUpdateTime(now); | RefundReceiveInfo.setUpdateTime(now); | ||||
RefundReceiveInfo.setDelFlag(0); | RefundReceiveInfo.setDelFlag(0); |
package cn.com.taiji.ias.manager.ass.device; | package cn.com.taiji.ias.manager.ass.device; | ||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | import cn.com.taiji.common.manager.net.http.ServiceHandleException; | ||||
import cn.com.taiji.core.entity.ass.AssDeviceCancel; | import cn.com.taiji.core.entity.ass.AssDeviceCancel; | ||||
import cn.com.taiji.core.entity.ass.AssOrderinfo; | import cn.com.taiji.core.entity.ass.AssOrderinfo; |