소스 검색

退费管理调整

master
huminghao 3 일 전
부모
커밋
d7d29f89b1
22개의 변경된 파일348개의 추가작업 그리고 48개의 파일을 삭제
  1. 1
    1
      gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssObuSupply.java
  2. 4
    1
      gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/log/OperateType.java
  3. 1
    1
      gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/ass/AssOrderSendRequest.java
  4. 5
    1
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssObuSupplyRepo.java
  5. 2
    2
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssOrderinfoRepo.java
  6. 12
    8
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/AssObuSupplyController.java
  7. 9
    1
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyApplyResponseDTO.java
  8. 47
    0
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayApplyRequestDTO.java
  9. 53
    0
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayApplyResponseDTO.java
  10. 12
    1
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayQueryRequestDTO.java
  11. 8
    1
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayQueryResponseDTO.java
  12. 4
    5
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManager.java
  13. 55
    17
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManagerImpl.java
  14. 1
    4
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/SatisfactionManagerImpl.java
  15. 0
    1
      zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/issue/UserEquityLinkManagerImpl.java
  16. 1
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/api/ass/AssOrderinfoController.java
  17. 17
    2
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/issueOrder/OrderDeliverGoodsReqDTO.java
  18. 1
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/ass/AssOrderinfoManagerImpl.java
  19. 9
    2
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderAuditManager.java
  20. 15
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderSendManager.java
  21. 50
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/obuSupply/ObuSupplyReviewManager.java
  22. 41
    0
      zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/obuSupply/ObuSupplySendManage.java

+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/ass/AssObuSupply.java 파일 보기

@@ -31,7 +31,7 @@ public class AssObuSupply extends AbstractStringPropertyUUIDEntity {
private Integer payee;// 收款方 1-黔通 2-渠道
@NotNull
@Column(name = "FEE")
private Integer fee;// 支付金额,无需支付时为0
private Long fee;// 支付金额,无需支付时为0

/**新设备信息*/
@Column(name = "OBU_ID")

+ 4
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/log/OperateType.java 파일 보기

@@ -181,7 +181,10 @@ public enum OperateType {

//增补OBU
OBU_SUPPLY_APPLY("增补OBU申请"),
OBU_SUPPLY_ORDER_PAY("增补OBU订单支付"),
OBU_SUPPLY_ORDER_PAY_APPLY("增补OBU订单支付申请"),
OBU_SUPPLY_ORDER_PAY_QUERY("增补OBU订单支付查询结果"),
OBU_SUPPLY_REVIEW("增补OBU订单审核"),
OBU_SUPPLY_SEND("增补OBU发货"),
;
private final String value;


+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/ass/AssOrderSendRequest.java 파일 보기

@@ -30,7 +30,7 @@ public class AssOrderSendRequest extends AbstractSignTypeRequest<AssOrderSendRes
/*** 快递公司*/
private String courierCompany;//快递公司
@FixedLength(length = 20)
@NotBlank
// @NotBlank
private String cardId;//卡编号
@FixedLength(length = 16)
@NotBlank

+ 5
- 1
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssObuSupplyRepo.java 파일 보기

@@ -2,9 +2,13 @@ package cn.com.taiji.core.repo.jpa.ass;

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.ass.AssObuSupply;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface AssObuSupplyRepo extends AbstractJpaRepo<AssObuSupply, String> {


@Query(" from AssObuSupply where orderNo = ?1")
AssObuSupply findByOrderNo(String orderNo);

}

+ 2
- 2
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/ass/AssOrderinfoRepo.java 파일 보기

@@ -52,7 +52,7 @@ public interface AssOrderinfoRepo extends AbstractJpaRepo<AssOrderinfo, String>{
@Query(" from AssOrderinfo where customerId = ?1 and vehicleId = ?2 and obuId = ?3 and orderType = ?4 order by updateTime desc")
List<AssOrderinfo> findByCusIdAndObuId(String customerId, String vehicleId, String obuId, AssOrderType orderType);

@Query(" from AssOrderinfo where vehicleId = ?1 and orderStatus = ?2 and orderType in ?3")
List<AssOrderinfo> listByVehicleIdAndStatusAndTypeList(String vehicleId, AssOrderStatus orderStatus ,AssOrderType[] typeList);
@Query(" from AssOrderinfo where vehicleId = ?1 and orderStatus = ?2")
List<AssOrderinfo> listByVehicleIdAndStatus(String vehicleId, AssOrderStatus orderStatus);

}

+ 12
- 8
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/api/ass/AssObuSupplyController.java 파일 보기

@@ -3,10 +3,7 @@ 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.obuSupply.AssObuSupplyApplyRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyResponseDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyOrderPayRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyOrderPayResponseDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.*;
import cn.com.taiji.iaw.manager.ass.AssObuSupplyManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -32,14 +29,21 @@ public class AssObuSupplyController extends MyValidController {
return ApiResponse.of(manager.apply(dto));
}

@ApiOperation("增补OBU订单支付申请")
@PostMapping("/orderPayApply")
public ApiResponse<AssObuSupplyOrderPayApplyResponseDTO> orderPayApply(@Valid @RequestBody AssObuSupplyOrderPayApplyRequestDTO dto) throws ManagerException {
return ApiResponse.of(manager.orderPayApply(dto));
}

@ApiOperation("增补OBU订单支付")
@PostMapping("/orderPay")
public ApiResponse<AssObuSupplyOrderPayResponseDTO> orderPay(@Valid @RequestBody AssObuSupplyOrderPayRequestDTO dto) throws ManagerException {
return ApiResponse.of(manager.orderPay(dto));
@ApiOperation("增补OBU订单支付查询")
@PostMapping("/orderPayQuery")
public ApiResponse<AssObuSupplyOrderPayQueryResponseDTO> orderPayQuery(@Valid @RequestBody AssObuSupplyOrderPayQueryRequestDTO dto) throws ManagerException {
return ApiResponse.of(manager.orderPayQuery(dto));
}






}

+ 9
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyApplyResponseDTO.java 파일 보기

@@ -17,7 +17,15 @@ public class AssObuSupplyApplyResponseDTO extends BaseModel {
@ApiModelProperty(value = "订单号")
private String orderNo;

public AssObuSupplyApplyResponseDTO(String orderNo){
@ApiModelProperty(value = "支付订单编号")
private String orderPayId;

@ApiModelProperty(value = "支付金额")
private Long fee;

public AssObuSupplyApplyResponseDTO(String orderNo, String orderPayId, long fee){
this.orderNo = orderNo;
this.orderPayId = orderPayId;
this.fee = fee;
}
}

+ 47
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayApplyRequestDTO.java 파일 보기

@@ -0,0 +1,47 @@
package cn.com.taiji.iaw.dto.ass.obuSupply;

import cn.com.taiji.common.valid.ViolationValidator;
import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.apache.commons.lang.StringUtils;

import javax.validation.constraints.NotBlank;


@ApiModel(description = "增补OBU订单支付申请请求")
@Getter
@Setter
@Accessors(chain = true)
public class AssObuSupplyOrderPayApplyRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "订单号")
@NotBlank(message = "订单号不能为空")
private String orderNo;

@NotBlank
@ApiModelProperty(value = "支付订单编号")
private String orderPayId;

@ApiModelProperty(value = "微信openId")
private String subOpenId;// 原wxOpenId

@ApiModelProperty("终端ip 示例值:123.12.12.123")
private String spbillCreateIp;

@ApiModelProperty("h5页面类型")
private String h5Type;

@Override
protected void validate(ViolationValidator validator) {
if (SourceType.H5.equals(getOrderSource())){
validator.validField("spbillCreateIp",StringUtils.isEmpty(spbillCreateIp),"终端ip不能为空");
validator.validField("h5Type",StringUtils.isEmpty(h5Type),"h5页面类型不能为空");
}
}

}

+ 53
- 0
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayApplyResponseDTO.java 파일 보기

@@ -0,0 +1,53 @@
package cn.com.taiji.iaw.dto.ass.obuSupply;

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 = "增补OBU订单支付响应")
@Getter
@Setter
@Accessors(chain = true)
public class AssObuSupplyOrderPayApplyResponseDTO extends BaseModel {

@ApiModelProperty(value = "外部订单号")
private String externalOrderNo;// 外部订单号
//JSAPI支付参数
@ApiModelProperty(value = "WX-JSAPI签名方式")
private String signType;// 签名方式
@ApiModelProperty(value = "WX-JSAPI签名")
private String paySign;
//app
@ApiModelProperty(value = "WX-app商户号")
private String partnerId;// 商户号
@ApiModelProperty(value = "WX-app预支付交易会话ID")
private String prepayId;// 预支付交易会话ID
@ApiModelProperty(value = "WX-app签名")
private String sign;// 签名
//JSAPI和app共有支付参数
@ApiModelProperty(value = "WX-app,JSAPI支付渠道应用ID")
private String appId;// 支付渠道应用ID
@ApiModelProperty(value = "WX-app,JSAPI时间戳")
private String timeStamp;// 时间戳
@ApiModelProperty(value = "WX-app,JSAPI随机字符串")
private String nonceStr;// 随机字符串
@ApiModelProperty(value = "WX-app,JSAPI订单详情扩展字符串")
private String wxPackage;// 订单详情扩展字符串
//h5参数
@ApiModelProperty(value = "WX-H5支付参数")
private String h5Url;// H5参数
// Native参数
@ApiModelProperty(value = "WX-Native支付参数")
private String codeUrl;// Native参数

@ApiModelProperty(value = "ALI-响应表单")
private String form;// 支付宝响应表单
@ApiModelProperty(value = "ALI-二维码码串")
private String tranPackage;// 支付宝预下单请求生成的二维码码串


}

zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayRequestDTO.java → zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayQueryRequestDTO.java 파일 보기

@@ -1,6 +1,8 @@
package cn.com.taiji.iaw.dto.ass.obuSupply;

import cn.com.taiji.common.valid.ViolationValidator;
import cn.com.taiji.core.dto.AbstractBizRequestDTO;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -14,10 +16,19 @@ import javax.validation.constraints.NotBlank;
@Getter
@Setter
@Accessors(chain = true)
public class AssObuSupplyOrderPayRequestDTO extends AbstractBizRequestDTO {
public class AssObuSupplyOrderPayQueryRequestDTO extends AbstractBizRequestDTO {

@ApiModelProperty(value = "订单号")
@NotBlank(message = "订单号不能为空")
private String orderNo;

@ApiModelProperty(value = "微信用户标识")
private String wxOpenId;

protected void validate(ViolationValidator validator) {
if (SourceType.WECHAT.equals(getOrderSource())){
validator.validFieldNotBlank("wxOpenId", wxOpenId);
}
}

}

zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayResponseDTO.java → zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/dto/ass/obuSupply/AssObuSupplyOrderPayQueryResponseDTO.java 파일 보기

@@ -12,6 +12,13 @@ import lombok.experimental.Accessors;
@Getter
@Setter
@Accessors(chain = true)
public class AssObuSupplyOrderPayResponseDTO extends BaseModel {
public class AssObuSupplyOrderPayQueryResponseDTO extends BaseModel {

@ApiModelProperty(value = "支付申请状态,1-支付成功,0-未支付")
private Integer payApplyStatus;

public AssObuSupplyOrderPayQueryResponseDTO(Integer payApplyStatus) {
this.payApplyStatus = payApplyStatus;
}

}

+ 4
- 5
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManager.java 파일 보기

@@ -1,10 +1,7 @@
package cn.com.taiji.iaw.manager.ass;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyApplyResponseDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyOrderPayRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyOrderPayResponseDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.*;

/**
* @Auther: humh
@@ -17,5 +14,7 @@ public interface AssObuSupplyManager {

AssObuSupplyApplyResponseDTO apply(AssObuSupplyApplyRequestDTO dto) throws ManagerException;

AssObuSupplyOrderPayResponseDTO orderPay(AssObuSupplyOrderPayRequestDTO dto) throws ManagerException;
AssObuSupplyOrderPayApplyResponseDTO orderPayApply(AssObuSupplyOrderPayApplyRequestDTO dto) throws ManagerException;

AssObuSupplyOrderPayQueryResponseDTO orderPayQuery(AssObuSupplyOrderPayQueryRequestDTO dto) throws ManagerException;
}

+ 55
- 17
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/ass/AssObuSupplyManagerImpl.java 파일 보기

@@ -13,19 +13,24 @@ 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.SourceType;
import cn.com.taiji.core.entity.dict.issue.FeeCategory;
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.issue.ProductAfterType;
import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.issue.IssueOrderPay;
import cn.com.taiji.core.entity.issue.IssueProduct;
import cn.com.taiji.core.entity.issue.IssueProductPay;
import cn.com.taiji.core.model.comm.protocol.ias.order.OrderPayApplyResponse;
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.basic.QtkCardInfoRepo;
import cn.com.taiji.core.repo.jpa.basic.QtkCustomerInfoRepo;
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.AssObuSupplyApplyResponseDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyOrderPayRequestDTO;
import cn.com.taiji.iaw.dto.ass.obuSupply.AssObuSupplyOrderPayResponseDTO;
import cn.com.taiji.core.repo.jpa.issue.IssueOrderPayRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductPayRepo;
import cn.com.taiji.core.repo.jpa.issue.IssueProductRepo;
import cn.com.taiji.iaw.dto.ass.obuSupply.*;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.manager.comm.VehicleInfoManagerImpl;
import cn.com.taiji.iaw.model.MyFinals;
@@ -60,6 +65,12 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
private QtkCustomerInfoRepo customerInfoRepo;
@Autowired
private QtkCardInfoRepo cardInfoRepo;
@Autowired
private IssueProductPayRepo productPayRepo;
@Autowired
private IssueProductRepo productRepo;
@Autowired
private IssueOrderPayRepo issueOrderPayRepo;

@Override
@Transactional(rollbackFor = Exception.class)
@@ -76,23 +87,31 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
}
VehicleInfoQueryDeviceModel model = validVehicleInfo(vehicleInfo, dto);
String orderNo = createOrderNo(MyFinals.QTZL_AGENCY_ID);
AssObuSupply obuSupply = copyProperties(dto, new AssObuSupply());
obuSupply.setOrderNo(orderNo);
obuSupply.setPayee(1);//todo 先默认1-黔通 从支付配置中获取
obuSupply.setFee(2000);//todo 默认20 从支付配置中获取
obuSupplyRepo.save(obuSupply);
//生成售后订单
createAssOrderinfo(vehicleInfo, orderNo, dto, model);
//生成支付单 todo 还没有支付配置
//生成支付单
QtkCardInfo cardInfo = cardInfoRepo.findByCardId(model.getCardId());
payTools.createPayOrder(orderNo, OrderType.AFTERSALE,2000L, "todo",OrderPayType.REPAIROBU, cardInfo.getAgencyId());
IssueProductPay productPay = productPayRepo.findByFeeCategoryAndAndFeeTypeAndReleaseId(FeeCategory.AFTER, ProductAfterType.REPAIROBU.name(), cardInfo.getPackageId());
if (productPay == null){
throw new ManagerException("未获取到产品费用支付方式");
}
IssueProduct product = productRepo.findByReleaseId(productPay.getReleaseId());
IssueOrderPay payOrder = payTools.createPayOrder(orderNo, OrderType.AFTERSALE, product.getRepairObuFee(), productPay.getPayConfigId(), OrderPayType.REPAIROBU, cardInfo.getAgencyId());

//创建增补OBU信息
AssObuSupply obuSupply = copyProperties(dto, new AssObuSupply());
obuSupply.setOrderNo(orderNo);
obuSupply.setPayee(1);//默认 1-黔通
obuSupply.setFee(payOrder.getFee());
obuSupplyRepo.save(obuSupply);
//日志
persistOperateLog(OperateType.OBU_SUPPLY_APPLY, obuSupply.getId(), dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), "增补OBU申请");
return new AssObuSupplyApplyResponseDTO(orderNo);
return new AssObuSupplyApplyResponseDTO(orderNo, payOrder.getPayOrderNo(), payOrder.getFee());
}

@Override
public AssObuSupplyOrderPayResponseDTO orderPay(AssObuSupplyOrderPayRequestDTO dto) throws ManagerException {
@Transactional(rollbackFor = Exception.class)
public AssObuSupplyOrderPayApplyResponseDTO orderPayApply(AssObuSupplyOrderPayApplyRequestDTO dto) throws ManagerException {
AssOrderinfo orderinfo = orderinfoRepo.findByOrderNo(dto.getOrderNo());
if (orderinfo == null){
throw new ManagerException("为查询到该订单");
@@ -101,8 +120,26 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
if (!payTools.queryPay(dto.getOrderNo(), OrderType.AFTERSALE)){
throw new ManagerException("该订单已支付");
}
IssueOrderPay orderPay = issueOrderPayRepo.findByPayOrderNo(dto.getOrderPayId());
OrderPayApplyResponse orderPayApplyResponse = payTools.payApply(dto.getSpbillCreateIp(), dto.getSubOpenId(), dto.getH5Type(), orderPay);
//日志
persistOperateLog(OperateType.OBU_SUPPLY_ORDER_PAY_APPLY, orderinfo.getId(), dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), "增补OBU订单支付申请");
return copyProperties(orderPayApplyResponse, new AssObuSupplyOrderPayApplyResponseDTO());
}

//更新订单状态
@Override
@Transactional(rollbackFor = Exception.class)
public AssObuSupplyOrderPayQueryResponseDTO orderPayQuery(AssObuSupplyOrderPayQueryRequestDTO dto) throws ManagerException {
AssOrderinfo orderinfo = orderinfoRepo.findByOrderNo(dto.getOrderNo());
if (orderinfo == null){
throw new ManagerException("为查询到该订单");
}
//支付
//支付失败
if (payTools.queryPay(dto.getOrderNo(), OrderType.AFTERSALE)){
return new AssObuSupplyOrderPayQueryResponseDTO(0);
}
//支付成功 更新订单状态
LocalDateTime now = LocalDateTime.now();
if (orderinfo.getArtificialStatus() == 1){
orderinfo.setOrderStep(AssOrderStep.WAITING_AUDIT);
@@ -115,8 +152,8 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
throw new ManagerException("人工审核状态异常,请联系管理员");
}
//日志
persistOperateLog(OperateType.OBU_SUPPLY_ORDER_PAY, orderinfo.getId(), dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), "增补OBU订单支付");
return new AssObuSupplyOrderPayResponseDTO();
persistOperateLog(OperateType.OBU_SUPPLY_ORDER_PAY_QUERY, orderinfo.getId(), dto.getOrderSource(), findOpenIdByToken(dto.getAccessToken()), "增补OBU订单支付查询结果");
return new AssObuSupplyOrderPayQueryResponseDTO(1);
}

private void createAssOrderinfo(QtkVehicleInfo vehicleInfo, String orderNo, AssObuSupplyApplyRequestDTO dto, VehicleInfoQueryDeviceModel model) throws ServiceHandleException {
@@ -132,6 +169,7 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
orderinfo.setCardType(CardType.fromCode(model.getCardType()));
orderinfo.setOrderSource(dto.getOrderSource());
orderinfo.setAgencyId(MyFinals.QTZL_AGENCY_ID);
orderinfo.setChannelId("5201010600401150002");// 黔通智联售后服务
orderinfo.setOrderStatus(AssOrderStatus.NORMAL);
orderinfo.setOrderStep(AssOrderStep.WAITING_PAY);
orderinfo.setApplyTime(now);
@@ -181,7 +219,7 @@ public class AssObuSupplyManagerImpl extends AbstractIawManager implements AssOb
throw new ManagerException("查询到该车辆有正常状态的OBU,无需增补OBU");
}

List<AssOrderinfo> assOrderinfos = orderinfoRepo.listByVehicleIdAndStatusAndTypeList(vehicleInfo.getVehicleId(), AssOrderStatus.NORMAL, new AssOrderType[]{AssOrderType.OBU_SUPPLY});
List<AssOrderinfo> assOrderinfos = orderinfoRepo.listByVehicleIdAndStatus(vehicleInfo.getVehicleId(), AssOrderStatus.NORMAL);
if (!CollectionTools.isEmpty(assOrderinfos)){
throw new ManagerException("查询到该OBU有在途的订单,不能进行增补OBU");
}

+ 1
- 4
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/comm/SatisfactionManagerImpl.java 파일 보기

@@ -1,7 +1,6 @@
package cn.com.taiji.iaw.manager.comm;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.pub.BeanTools;
import cn.com.taiji.core.entity.comm.CommonSatisfaction;
@@ -11,9 +10,7 @@ import cn.com.taiji.core.repo.jpa.comm.SatisfactionRepo;
import cn.com.taiji.core.repo.jpa.user.StaffRepo;
import cn.com.taiji.core.repo.request.operation.SatisfactionPageRequest;
import cn.com.taiji.iaw.dto.comm.*;
import cn.com.taiji.iaw.manager.AbstractCommManager;
import cn.com.taiji.iaw.manager.AbstractIawManager;
import cn.com.taiji.iaw.model.MyFinals;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -66,7 +63,7 @@ public class SatisfactionManagerImpl extends AbstractIawManager implements Satis
@Transactional(rollbackFor = Exception.class)
public SatisfactionAddResponseDTO add(SatisfactionAddRequestDTO dto) throws ManagerException {
CommonSatisfaction satisfaction = new CommonSatisfaction();
BeanTools.copyProperties(dto, satisfaction,"id");
BeanTools.copyProperties(dto, satisfaction);
repo.save(satisfaction);
SatisfactionAddResponseDTO addResponseDTO = new SatisfactionAddResponseDTO();
addResponseDTO.setId(satisfaction.getId());

+ 0
- 1
zhywpt-app-iaw/src/main/java/cn/com/taiji/iaw/manager/issue/UserEquityLinkManagerImpl.java 파일 보기

@@ -95,7 +95,6 @@ public class UserEquityLinkManagerImpl extends AbstractIawManager implements Use
@Override
@Transactional(rollbackFor = Exception.class)
public UserEquityLinkIssueResponseDTO equityIssue(UserEquityLinkIssueRequestDTO dto) throws ManagerException {

IssueOrderinfo orderinfo = orderinfoRepo.findByOrderNo(dto.getOrderNo());
if (orderinfo == null) {
throw new ManagerException("未查询到发行订单");

+ 1
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/api/ass/AssOrderinfoController.java 파일 보기

@@ -53,6 +53,7 @@ public class AssOrderinfoController extends MyValidController {
manager.cancel(req);
return ApiResponse.success();
}

@ApiOperation("售后订单发货")
@PostMapping("/orderSend")
public ApiResponse<?> orderSend(@Valid @RequestBody OrderDeliverGoodsReqDTO req) throws ManagerException {

+ 17
- 2
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/issueOrder/OrderDeliverGoodsReqDTO.java 파일 보기

@@ -1,7 +1,10 @@
package cn.com.taiji.managew.dto.issueOrder;

import cn.com.taiji.common.valid.ViolationValidator;
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import cn.com.taiji.core.entity.dict.ass.AssOrderType;
import cn.com.taiji.core.model.comm.protocol.constraint.FixedLength;
import cn.com.taiji.managew.tools.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -9,6 +12,7 @@ import lombok.Setter;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* FIXME 待加注解
@@ -22,6 +26,11 @@ public class OrderDeliverGoodsReqDTO extends AbstractStaffBizRequestDTO {
@ApiModelProperty(value = "订单编号")
@NotBlank
private String orderNo;

@ApiModelProperty(value = "订单类型")
@NotNull
private AssOrderType orderType;

@ApiModelProperty(value = "快递编号")
@NotBlank
private String trackingNumber;
@@ -31,7 +40,7 @@ public class OrderDeliverGoodsReqDTO extends AbstractStaffBizRequestDTO {
private String courierCompany;
@ApiModelProperty(value = "卡编号")
@FixedLength(length = 20)
@NotBlank
// @NotBlank
private String cardId;
@ApiModelProperty(value = "签编号")
@FixedLength(length = 16)
@@ -47,12 +56,18 @@ public class OrderDeliverGoodsReqDTO extends AbstractStaffBizRequestDTO {
@NotBlank
private String region;// 收货所在地区(省、市、区、街道)
@ApiModelProperty(value = "收货详细地址")
@NotBlank
private String address;// 收货详细地址
@ApiModelProperty(value = "邮政编码")
// @NotBlank
private String postCode;


@Override
protected void validate(ViolationValidator validator) {
if (AssOrderType.OBU_SUPPLY != orderType) {
validator.validField("cardId", StringUtils.isEmpty(cardId),orderType.getDesc() + "类型订单卡号不能为空");
}
}


}

+ 1
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/ass/AssOrderinfoManagerImpl.java 파일 보기

@@ -70,6 +70,7 @@ public class AssOrderinfoManagerImpl extends AbstractManagewManager implements A

@Override
public void orderSend(OrderDeliverGoodsReqDTO req) throws ManagerException {
req.validate();
AssOrderSendRequest request = copyProperties(req,new AssOrderSendRequest());
String openId = findOpenIdByToken(req.getAccessToken());
request.setOpenId(openId);

+ 9
- 2
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderAuditManager.java 파일 보기

@@ -15,10 +15,10 @@ import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.manager.ass.customerInfoChange.CustomerInfoChangeAuditManager;
import cn.com.taiji.ias.manager.ass.device.DeviceCancelAuditManager;
import cn.com.taiji.ias.manager.ass.deviceResume.DeviceResumeManager;
import cn.com.taiji.ias.manager.ass.obuSupply.ObuSupplyReviewManager;
import cn.com.taiji.ias.manager.ass.releasePlate.ReleasePlateReviewManager;
import cn.com.taiji.ias.manager.ass.vehicleChange.VehicleChangeReviewManagew;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@@ -42,6 +42,8 @@ public class AssOrderAuditManager extends AbstractAssManager<AssOrderAuditReques
private VehicleChangeReviewManagew vehicleChangeReviewManagew;
@Autowired
private DeviceCancelAuditManager deviceCancelAuditManager;
@Autowired
private ObuSupplyReviewManager obuSupplyReviewManager;
@Override
protected String getDataId(AssOrderAuditRequest req) {
return "";
@@ -95,7 +97,9 @@ public class AssOrderAuditManager extends AbstractAssManager<AssOrderAuditReques
case CANCEL://设备注销
deviceCancelAuditManager.serviceHandle(request, order);
break;
//TODO
case OBU_SUPPLY://设备注销
obuSupplyReviewManager.serviceHandle(request, order, staff);
//TODO
default:
throw GlyServiceError.FORMAT_VALIDATE_ERR.toHandleException("订单类型未定义");
}
@@ -143,6 +147,9 @@ public class AssOrderAuditManager extends AbstractAssManager<AssOrderAuditReques
case CANCEL:
res.setType(OperateType.DEVICE_CANCEL_APPLY_AUDIT);
break;
case OBU_SUPPLY:
res.setType(OperateType.OBU_SUPPLY_REVIEW);
break;
}
res.setId(order.getId());
return res;

+ 15
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/AssOrderSendManager.java 파일 보기

@@ -4,6 +4,7 @@ package cn.com.taiji.ias.manager.ass;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
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.invw.InvDeviceStatus;
import cn.com.taiji.core.entity.dict.issue.OrderType;
import cn.com.taiji.core.entity.dict.log.OperateType;
@@ -15,8 +16,10 @@ import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderSendResponse;
import cn.com.taiji.core.model.comm.protocol.valid.ErrorMsgBuilder;
import cn.com.taiji.core.repo.jpa.issue.IssueOrderinfoPostRepo;
import cn.com.taiji.ias.dict.DataType;
import cn.com.taiji.ias.manager.ass.obuSupply.ObuSupplySendManage;
import cn.com.taiji.ias.manager.ass.vehicleChange.VehicleChangeSendManagew;
import cn.com.taiji.ias.model.ServiceLogEvent;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.IOException;
@@ -42,6 +45,8 @@ public class AssOrderSendManager extends AbstractAssManager<AssOrderSendRequest>
private IssueOrderinfoPostRepo issueOrderinfoPostRepo;
@Autowired
private VehicleChangeSendManagew vehicleChangeSendManagew;
@Autowired
private ObuSupplySendManage obuSupplySendManage;

@Override
protected String getDataId(AssOrderSendRequest req) {
@@ -59,6 +64,12 @@ public class AssOrderSendManager extends AbstractAssManager<AssOrderSendRequest>
if (AssOrderStep.WAITING_RECEIVE != assOrderinfo.getOrderStep()) {
throw newBusinessException("当前申请单处于'"+assOrderinfo.getOrderStep().getStep()+"'不是待收货状态");
}
if (assOrderinfo.getOrderType() != AssOrderType.OBU_SUPPLY){
if (StringUtils.isEmpty(req.getCardId())){
throw newBusinessException(assOrderinfo.getOrderType().getDesc()+"类型订单卡号不能为空");
}
}

// 查询卡 临时代码
InvwCardDetails cardDetails = invwCardDetailsRepo.findByCardIdAndStatus(req.getCardId(), InvDeviceStatus.NEW);
// InvwCardDetails cardDetails = invwCardDetailsRepo.findByCardId(card);
@@ -91,6 +102,8 @@ public class AssOrderSendManager extends AbstractAssManager<AssOrderSendRequest>
switch (orderinfo.getOrderType()){
case VEHICLE_UPDATE:
vehicleChangeSendManagew.send(orderinfo, req);
case OBU_SUPPLY:
obuSupplySendManage.send(orderinfo, req);
break;
default:
throw newBusinessException("订单类型未定义");
@@ -130,6 +143,8 @@ public class AssOrderSendManager extends AbstractAssManager<AssOrderSendRequest>
switch (order.getOrderType()){
case VEHICLE_UPDATE:
res.setType(OperateType.CHANGE_VEHICLE_SEND);
case OBU_SUPPLY:
res.setType(OperateType.CHANGE_VEHICLE_SEND);
break;
}
res.setId(order.getId());

+ 50
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/obuSupply/ObuSupplyReviewManager.java 파일 보기

@@ -0,0 +1,50 @@
package cn.com.taiji.ias.manager.ass.obuSupply;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.ass.AssObuSupply;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
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.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.ass.AssObuSupplyRepo;
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo;
import cn.com.taiji.ias.manager.ass.AssCommonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

@Service
public class ObuSupplyReviewManager extends AssCommonUtil {
@Autowired
private AssOrderinfoRepo orderinfoRepo;
@Autowired
private AssObuSupplyRepo obuSupplyRepo;

public void serviceHandle(AssOrderAuditRequest req, AssOrderinfo orderInfo, Staff staff) throws ServiceHandleException {
//处理业务
persistInternal(req,orderInfo,staff);
}

protected void persistInternal(AssOrderAuditRequest req, AssOrderinfo orderInfo, Staff staff) throws ServiceHandleException {
LocalDateTime now = LocalDateTime.now();
if (req.getAuditStatus()){
AssObuSupply obuSupply = obuSupplyRepo.findByOrderNo(req.getOrderNo());
if (obuSupply == null){
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("根据订单号"+req.getOrderNo()+"未查询到增补OBU信息");
}
if (obuSupply.getNeedPost()){
orderInfo.setOrderStep(AssOrderStep.WAITING_SEND);
}else {
orderInfo.setOrderStep(AssOrderStep.WAITING_ACTIVE);
}
}else {
orderInfo.setOrderStep(AssOrderStep.AUDIT_FAIL);
orderInfo.setAuditFailureCase(req.getReason());
}
orderInfo.setAuditTime(now);
orderInfo.setAuditOpenId(staff.getOpenId());
orderinfoRepo.merge(orderInfo);
}
}

+ 41
- 0
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/ass/obuSupply/ObuSupplySendManage.java 파일 보기

@@ -0,0 +1,41 @@
package cn.com.taiji.ias.manager.ass.obuSupply;

import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.core.entity.ass.AssObuSupply;
import cn.com.taiji.core.entity.ass.AssOrderinfo;
import cn.com.taiji.core.entity.dict.ass.AssOrderStep;
import cn.com.taiji.core.model.comm.protocol.ias.ass.AssOrderSendRequest;
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.com.taiji.core.repo.jpa.ass.AssObuSupplyRepo;
import cn.com.taiji.core.repo.jpa.ass.AssOrderinfoRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDateTime;


@Service
public class ObuSupplySendManage {
@Autowired
private AssOrderinfoRepo orderinfoRepo;
@Autowired
private AssObuSupplyRepo obuSupplyRepo;

@Transactional(rollbackFor = Exception.class)
public void send(AssOrderinfo orderinfo, AssOrderSendRequest req) throws ServiceHandleException {
//更新订单状态
LocalDateTime now = LocalDateTime.now();
orderinfo.setOrderStep(AssOrderStep.WAITING_RECEIVE);
orderinfo.setObuId(req.getObuId());
orderinfo.setUpdateTime(now);
orderinfoRepo.merge(orderinfo);
//更新增补OBU信息
AssObuSupply obuSupply = obuSupplyRepo.findByOrderNo(orderinfo.getOrderNo());
if (obuSupply == null){
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("根据订单号"+req.getOrderNo()+"未查询到增补OBU信息");
}
obuSupply.setObuId(req.getObuId());
obuSupplyRepo.merge(obuSupply);
}
}

Loading…
취소
저장