@@ -146,6 +146,7 @@ public enum OperateType { | |||
CUSTOMER_INFO_CHANGE_APPLY_SELF("个人客户信息修改申请"), | |||
CUSTOMER_INFO_CHANGE_APPLY_UNIT("单位客户信息修改申请"), | |||
CUSTOMER_INFO_CHANGE_AUDIT("客户信息修改审核"), | |||
CUSTOMER_INFO_CHANGE_CANCEL("客户信息修改取消"), | |||
//ETC通信费退费 | |||
ETC_TRANSACTION_APPLY("ETC通信费退费申请"), |
@@ -3,6 +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.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; | |||
@@ -37,4 +38,11 @@ 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,20 @@ | |||
package cn.com.taiji.iaw.dto.ass; | |||
import cn.com.taiji.core.dto.AbstractBizRequestDTO; | |||
import io.swagger.annotations.ApiModel; | |||
import io.swagger.annotations.ApiModelProperty; | |||
import lombok.Getter; | |||
import lombok.Setter; | |||
import javax.validation.constraints.NotBlank; | |||
@ApiModel(description = "客户信息修改申请取消") | |||
@Getter | |||
@Setter | |||
public class CustomerInfoCancelReqDTO extends AbstractBizRequestDTO { | |||
@NotBlank(message = "订单号不能为空") | |||
@ApiModelProperty(value = "订单号", required = true) | |||
private String orderNo; | |||
} |
@@ -1,6 +1,7 @@ | |||
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; | |||
@@ -9,4 +10,6 @@ public interface CustomerInfoChangeManger { | |||
CustomerInfoQueryResDTO query(CustomerInfoQueryReqDTO reqDto) throws ManagerException; | |||
void apply(CustomerInfoChangeApplyDTO reqDto) throws ManagerException; | |||
void cancel(CustomerInfoCancelReqDTO reqDto) throws ManagerException; | |||
} |
@@ -8,10 +8,12 @@ import cn.com.taiji.core.entity.dict.ass.AssOrderType; | |||
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; | |||
@@ -20,7 +22,6 @@ import cn.com.taiji.iaw.model.base.CustomerInfoModel; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import java.util.stream.Collectors; | |||
@@ -71,6 +72,17 @@ 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(); |
@@ -84,7 +84,8 @@ public class OrderCancelManager extends AbstractOrderManager<OrderCancelRequest> | |||
request.setOpenId(staff.getOpenId()); | |||
} | |||
// 需要支付的情况下,进行退费相关校验 | |||
if (order.getNeedPay()) { | |||
//渠道退费自行处理 | |||
if (order.getNeedPay() && SourceType.CHANNEL != order.getOrderSource()) { | |||
List<IssueOrderPay> pays = paymentDetections(request.getOrderNo()); | |||
List<OrderPayStatus> payStatus = pays.stream().map(IssueOrderPay::getPayStatus).distinct().collect(Collectors.toList()); | |||
if (payStatus.contains(OrderPayStatus.PAYING)) |