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.AssReviewRequestDTO; | |||||
import cn.com.taiji.iaw.manager.ass.AssOrderinfoManager; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
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 javax.validation.Valid; | |||||
/** | |||||
* @Auther: humh | |||||
* @Description: | |||||
* @Date: 2025/6/25 21:18 | |||||
* @email: huminghao@mail.taiji.com.cn | |||||
* @version: 1.0 | |||||
*/ | |||||
@Api(tags = {"售后订单业务"}) | |||||
@RestController | |||||
@RequestMapping("/api/assOrderinfo") | |||||
public class AssOrderinfoController extends MyValidController { | |||||
@Autowired | |||||
private AssOrderinfoManager manager; | |||||
@ApiOperation("售后订单审核") | |||||
@PostMapping("/review") | |||||
public ApiResponse<Void> review(@Valid @RequestBody AssReviewRequestDTO req) throws ManagerException { | |||||
manager.review(req); | |||||
return ApiResponse.success(); | |||||
} | |||||
} |
return ApiResponse.of(res); | return ApiResponse.of(res); | ||||
} | } | ||||
@ApiOperation("申请解除车牌审核") | |||||
@PostMapping("/review") | |||||
public ApiResponse<Void> review(@Valid @RequestBody ReleasePlateReviewRequestDTO req) throws ManagerException { | |||||
releasePlateManager.review(req); | |||||
return ApiResponse.success(); | |||||
} | |||||
// App通过车牌号车牌颜色查询占用情况 | // App通过车牌号车牌颜色查询占用情况 | ||||
@ApiOperation("车牌占用情况查询-app") | @ApiOperation("车牌占用情况查询-app") | ||||
@PostMapping("/occupyQuery") | @PostMapping("/occupyQuery") |
package cn.com.taiji.iaw.dto.ass; | |||||
import cn.com.taiji.common.pub.StringTools; | |||||
import cn.com.taiji.common.valid.ViolationValidator; | |||||
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO; | |||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotBlank; | |||||
import javax.validation.constraints.NotNull; | |||||
/** | |||||
* @Author:ChenChao | |||||
* @Date:2025/8/30 23:42 | |||||
* @Filename:AssReviewRequestDTO | |||||
* @description: | |||||
*/ | |||||
@Data | |||||
@ApiModel(description = "售后订单-售后审核") | |||||
public class AssReviewRequestDTO extends AbstractStaffBizRequestDTO { | |||||
@ApiModelProperty(value = "售后订单编号", required = true) | |||||
@NotBlank | |||||
private String orderNo; | |||||
@NotNull | |||||
@ApiModelProperty(value = "是否通过", required = true) | |||||
private Boolean auditStatus; | |||||
@ApiModelProperty(value = "审核不通过原因", required = true) | |||||
private String reason; | |||||
@Override | |||||
protected void validate(ViolationValidator validator) { | |||||
super.validate(validator); | |||||
if (!auditStatus) { | |||||
validator.validField("failReason", StringTools.isEmpty(reason), "审核不通过时,审核不通过原因不能为空"); | |||||
} | |||||
} | |||||
} |
package cn.com.taiji.iaw.dto.ass.releasePlate; | package cn.com.taiji.iaw.dto.ass.releasePlate; | ||||
import cn.com.taiji.core.entity.dict.AuditStatus; | import cn.com.taiji.core.entity.dict.AuditStatus; | ||||
import cn.com.taiji.core.entity.dict.ass.AssOrderStep; | |||||
import cn.com.taiji.iaw.model.ass.releasePlate.ApplyInfo; | import cn.com.taiji.iaw.model.ass.releasePlate.ApplyInfo; | ||||
import cn.com.taiji.iaw.model.ass.releasePlate.DrivingInfo; | import cn.com.taiji.iaw.model.ass.releasePlate.DrivingInfo; | ||||
import cn.com.taiji.iaw.model.ass.releasePlate.OwnerInfo; | import cn.com.taiji.iaw.model.ass.releasePlate.OwnerInfo; | ||||
@ApiModelProperty(value = "下单申请时间") | @ApiModelProperty(value = "下单申请时间") | ||||
private LocalDateTime applyTime;//下单申请时间 | private LocalDateTime applyTime;//下单申请时间 | ||||
@ApiModelProperty(value = "审核状态") | |||||
private AuditStatus auditStatus;// 订单审核状态 | |||||
@ApiModelProperty(value = "订单阶段") | |||||
// private AuditStatus auditStatus;// 订单审核状态 | |||||
private AssOrderStep orderStep;//订单阶段; | |||||
@ApiModelProperty(value = "身份证信息") | @ApiModelProperty(value = "身份证信息") | ||||
private ApplyInfo applyInfo; | private ApplyInfo applyInfo; |
import cn.com.taiji.core.entity.basic.QtkCardInfo; | import cn.com.taiji.core.entity.basic.QtkCardInfo; | ||||
import cn.com.taiji.core.entity.basic.QtkObuInfo; | import cn.com.taiji.core.entity.basic.QtkObuInfo; | ||||
import cn.com.taiji.core.entity.dict.AuditStatus; | import cn.com.taiji.core.entity.dict.AuditStatus; | ||||
import cn.com.taiji.core.entity.dict.ass.AssOrderStep; | |||||
import cn.com.taiji.iaw.model.ass.releasePlate.*; | import cn.com.taiji.iaw.model.ass.releasePlate.*; | ||||
import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
private LocalDateTime applyTime;//下单申请时间 | private LocalDateTime applyTime;//下单申请时间 | ||||
@ApiModelProperty(value = "售后订单编号") | @ApiModelProperty(value = "售后订单编号") | ||||
private String orderNo; | private String orderNo; | ||||
@ApiModelProperty(value = "审核状态") | |||||
private AuditStatus auditStatus;// 订单审核状态 | |||||
@ApiModelProperty(value = "订单阶段") | |||||
// private AuditStatus auditStatus;// 订单审核状态 | |||||
private AssOrderStep orderStep;//订单阶段; | |||||
@ApiModelProperty(value = "身份证信息") | @ApiModelProperty(value = "身份证信息") | ||||
private ApplyInfo applyInfo; | private ApplyInfo applyInfo; |
package cn.com.taiji.iaw.manager.ass; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
import cn.com.taiji.iaw.dto.ass.AssReviewRequestDTO; | |||||
/** | |||||
* @Auther: humh | |||||
* @Description: | |||||
* @Date: 2025/7/1 11:46 | |||||
* @email: huminghao@mail.taiji.com.cn | |||||
* @version: 1.0 | |||||
*/ | |||||
public interface AssOrderinfoManager { | |||||
void review(AssReviewRequestDTO req) throws ManagerException; | |||||
} |
package cn.com.taiji.iaw.manager.ass; | |||||
import cn.com.taiji.common.manager.ManagerException; | |||||
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.repo.jpa.ass.AssOrderinfoRepo; | |||||
import cn.com.taiji.core.repo.jpa.user.StaffRepo; | |||||
import cn.com.taiji.iaw.dto.ass.AssReviewRequestDTO; | |||||
import cn.com.taiji.iaw.manager.AbstractIawManager; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.stereotype.Service; | |||||
/** | |||||
* @Auther: humh | |||||
* @Description: | |||||
* @Date: 2025/7/1 11:46 | |||||
* @email: huminghao@mail.taiji.com.cn | |||||
* @version: 1.0 | |||||
*/ | |||||
@Service | |||||
public class AssOrderinfoManagerImpl extends AbstractIawManager implements AssOrderinfoManager { | |||||
@Autowired | |||||
private AssOrderinfoRepo repo; | |||||
@Autowired | |||||
private StaffRepo staffRepo; | |||||
@Override | |||||
public void review(AssReviewRequestDTO req) throws ManagerException { | |||||
AssOrderAuditRequest request = copyProperties(req, new AssOrderAuditRequest()); | |||||
request.setSourceIn(req.getOrderSource()); | |||||
request.setStaffId(req.getStaffId()); | |||||
AssOrderAuditResponse response = jsonPostRepeat(request); | |||||
sysPersistOperateLog(response.getType(),response.getId(),req.getOrderSource(),findOpenIdByToken(req.getAccessToken()),response.getType().getValue()); | |||||
} | |||||
} |
ReleasePlateViewResponseDTO view(ReleasePlateViewRequestDTO req) throws ManagerException; | ReleasePlateViewResponseDTO view(ReleasePlateViewRequestDTO req) throws ManagerException; | ||||
void review(ReleasePlateReviewRequestDTO req) throws ManagerException; | |||||
} | } |
ReleasePlateDetailResponseDTO response = new ReleasePlateDetailResponseDTO(); | ReleasePlateDetailResponseDTO response = new ReleasePlateDetailResponseDTO(); | ||||
response.setOrderNo(assOrderinfo.getOrderNo()); | response.setOrderNo(assOrderinfo.getOrderNo()); | ||||
response.setApplyTime(assOrderinfo.getApplyTime());//申请时间 | response.setApplyTime(assOrderinfo.getApplyTime());//申请时间 | ||||
response.setAuditStatus(assOrderinfo.getAuditStatus());//审核状态 | |||||
response.setOrderStep(assOrderinfo.getOrderStep()); | |||||
ResultInfo resultInfo = getInfo(vehicleRelieve, assOrderinfo); | ResultInfo resultInfo = getInfo(vehicleRelieve, assOrderinfo); | ||||
response.setApplyInfo(resultInfo.getApplyInfo()); | response.setApplyInfo(resultInfo.getApplyInfo()); | ||||
response.setDrivingInfo(resultInfo.getDrivingInfo()); | response.setDrivingInfo(resultInfo.getDrivingInfo()); | ||||
ResultInfo resultInfo = getInfo(vehicleRelieve, assOrderinfo); | ResultInfo resultInfo = getInfo(vehicleRelieve, assOrderinfo); | ||||
responseDTO.setApplyTime(assOrderinfo.getApplyTime()); | responseDTO.setApplyTime(assOrderinfo.getApplyTime()); | ||||
responseDTO.setOrderNo(assOrderinfo.getOrderNo()); | responseDTO.setOrderNo(assOrderinfo.getOrderNo()); | ||||
responseDTO.setAuditStatus(assOrderinfo.getAuditStatus()); | |||||
responseDTO.setOrderStep(assOrderinfo.getOrderStep()); | |||||
responseDTO.setApplyInfo(resultInfo.getApplyInfo()); | responseDTO.setApplyInfo(resultInfo.getApplyInfo()); | ||||
responseDTO.setDrivingInfo(resultInfo.getDrivingInfo()); | responseDTO.setDrivingInfo(resultInfo.getDrivingInfo()); | ||||
} | } | ||||
return resultInfo; | return resultInfo; | ||||
} | } | ||||
@Override | |||||
public void review(ReleasePlateReviewRequestDTO req) throws ManagerException { | |||||
ReleasePlateReviewRequest request = copyProperties(req, new ReleasePlateReviewRequest()); | |||||
request.setSourceIn(req.getOrderSource()); | |||||
request.setOpenId(findOpenIdByToken(req.getAccessToken())); | |||||
ReleasePlateReviewResponse response = jsonPostRepeat(request); | |||||
sysPersistOperateLog(OperateType.RELEASE_PLATE_REVIEW,response.getId(),req.getOrderSource(),findOpenIdByToken(req.getAccessToken()),"解除车牌占用审核"); | |||||
} | |||||
} | } |