SERVICEHALL("网点","servicehall"), | SERVICEHALL("网点","servicehall"), | ||||
INVW("库存系统","invw"), | INVW("库存系统","invw"), | ||||
MANAGEW("后台管理系统","managew"), | |||||
; | ; |
PROMPT_TEXT_ADD("文本管理添加"), | PROMPT_TEXT_ADD("文本管理添加"), | ||||
PROMPT_TEXT_UPDATE("文本管理添加"), | PROMPT_TEXT_UPDATE("文本管理添加"), | ||||
PROMPT_TEXT_DELETE("文本管理删除"), | PROMPT_TEXT_DELETE("文本管理删除"), | ||||
//退费管理 | |||||
ORDER_REFUND_RESULT("退费审核结果"), | |||||
; | ; | ||||
private final String value; | private final String value; | ||||
private String storeCode; | private String storeCode; | ||||
@ApiModelProperty(value = "仓库渠道编号") | @ApiModelProperty(value = "仓库渠道编号") | ||||
@NotNull | |||||
private String agencyId; | private String agencyId; | ||||
@ApiModelProperty(value = "库存类型:卡、签") | @ApiModelProperty(value = "库存类型:卡、签") | ||||
@NotNull | @NotNull | ||||
@Enumerated(EnumType.STRING) | |||||
private InventoryType inventoryType; | private InventoryType inventoryType; | ||||
@ApiModelProperty(value = "设备型号") | @ApiModelProperty(value = "设备型号") | ||||
@NotNull | @NotNull | ||||
@Enumerated(EnumType.STRING) | |||||
private DeviceVersion version; | private DeviceVersion version; | ||||
@ApiModelProperty(value = "采购厂商") | @ApiModelProperty(value = "采购厂商") | ||||
private String brand; | private String brand; | ||||
@ApiModelProperty(value = "卡类型") | @ApiModelProperty(value = "卡类型") | ||||
@Enumerated(EnumType.STRING) | |||||
private CardType cardType; | private CardType cardType; | ||||
@ApiModelProperty(value = "签类型") | @ApiModelProperty(value = "签类型") | ||||
@Enumerated(EnumType.STRING) | |||||
private ObuType obuType; | private ObuType obuType; | ||||
@ApiModelProperty(value = "单价") | @ApiModelProperty(value = "单价") | ||||
@ApiModelProperty(value = "产权类型") | @ApiModelProperty(value = "产权类型") | ||||
@NotNull | @NotNull | ||||
@Enumerated(EnumType.STRING) | |||||
private OwnType ownType; | private OwnType ownType; | ||||
@ApiModelProperty(value = "附件地址") | @ApiModelProperty(value = "附件地址") |
private String storeCode; | private String storeCode; | ||||
@ApiModelProperty(value = "仓库渠道编号") | @ApiModelProperty(value = "仓库渠道编号") | ||||
@NotNull | |||||
private String agencyId; | private String agencyId; | ||||
@ApiModelProperty(value = "库存类型:卡、签") | @ApiModelProperty(value = "库存类型:卡、签") | ||||
@NotNull | @NotNull | ||||
@Enumerated(EnumType.STRING) | |||||
private InventoryType inventoryType; | private InventoryType inventoryType; | ||||
@ApiModelProperty(value = "库存型号") | @ApiModelProperty(value = "库存型号") | ||||
@NotNull | @NotNull | ||||
@Enumerated(EnumType.STRING) | |||||
private DeviceVersion version; | private DeviceVersion version; | ||||
@ApiModelProperty(value = "采购厂商") | @ApiModelProperty(value = "采购厂商") | ||||
private String brand; | private String brand; | ||||
@ApiModelProperty(value = "卡类型") | @ApiModelProperty(value = "卡类型") | ||||
@Enumerated(EnumType.STRING) | |||||
private CardType cardType; | private CardType cardType; | ||||
@ApiModelProperty(value = "签类型") | @ApiModelProperty(value = "签类型") | ||||
@Enumerated(EnumType.STRING) | |||||
private ObuType obuType; | private ObuType obuType; | ||||
@ApiModelProperty(value = "单价") | @ApiModelProperty(value = "单价") | ||||
@ApiModelProperty(value = "产权类型") | @ApiModelProperty(value = "产权类型") | ||||
@NotNull | @NotNull | ||||
@Enumerated(EnumType.STRING) | |||||
private OwnType ownType; | private OwnType ownType; | ||||
@ApiModelProperty(value = "附件地址") | @ApiModelProperty(value = "附件地址") |
//获取总价,统计数量*单价 | //获取总价,统计数量*单价 | ||||
int sum = dto.getEnterApplyDetailModels().stream().mapToInt(o -> new BigInteger(o.getEndId()).subtract(new BigInteger(o.getStartId())).intValueExact()+1).sum(); | int sum = dto.getEnterApplyDetailModels().stream().mapToInt(o -> new BigInteger(o.getEndId()).subtract(new BigInteger(o.getStartId())).intValueExact()+1).sum(); | ||||
enterApply.setApplyCount(sum); | enterApply.setApplyCount(sum); | ||||
enterApply.setTotalPrice(sum * enterApply.getUnitPrice()); | |||||
if (ObjectUtils.isNotEmpty(enterApply.getUnitPrice())){ | |||||
enterApply.setTotalPrice(sum * enterApply.getUnitPrice()); | |||||
} | |||||
enterApply.setOpenId(findOpenIdByToken(dto.getAccessToken())); | |||||
LocalDateTime now = LocalDateTime.now(); | LocalDateTime now = LocalDateTime.now(); | ||||
enterApply.setApplyTime(now); | enterApply.setApplyTime(now); | ||||
enterApply.setInsertTime(now); | enterApply.setInsertTime(now); | ||||
//获取总价,统计数量*单价 | //获取总价,统计数量*单价 | ||||
int sum = dto.getEnterApplyDetailModels().stream().mapToInt(o -> new BigInteger(o.getEndId()).subtract(new BigInteger(o.getStartId())).intValueExact()+1).sum(); | int sum = dto.getEnterApplyDetailModels().stream().mapToInt(o -> new BigInteger(o.getEndId()).subtract(new BigInteger(o.getStartId())).intValueExact()+1).sum(); | ||||
enterApply.setApplyCount(sum); | enterApply.setApplyCount(sum); | ||||
enterApply.setTotalPrice(sum * enterApply.getUnitPrice()); | |||||
if (ObjectUtils.isNotEmpty(enterApply.getUnitPrice())){ | |||||
enterApply.setTotalPrice(sum * enterApply.getUnitPrice()); | |||||
} | |||||
LocalDateTime now = LocalDateTime.now(); | LocalDateTime now = LocalDateTime.now(); | ||||
enterApply.setApplyTime(now); | enterApply.setApplyTime(now); | ||||
enterApply.setInsertTime(now); | enterApply.setInsertTime(now); | ||||
LocalDateTime now = LocalDateTime.now(); | LocalDateTime now = LocalDateTime.now(); | ||||
addCardAndObuDetails(enterApply, detailsList, now); | addCardAndObuDetails(enterApply, detailsList, now); | ||||
//更新状态 | //更新状态 | ||||
enterApply.setSurerId(findOpenIdByToken(dto.getAccessToken())); | |||||
enterApply.setSureTime(now); | enterApply.setSureTime(now); | ||||
enterApply.setApplyStatus(InvApplyStatus.COMFIRE); | enterApply.setApplyStatus(InvApplyStatus.COMFIRE); | ||||
repo.merge(enterApply); | repo.merge(enterApply); |
@PostMapping("/result") | @PostMapping("/result") | ||||
public ApiResponse<IssueOrderRefundResultResponseDTO> result(@Valid @RequestBody IssueOrderRefundResultRequestDTO dto) throws ManagerException { | public ApiResponse<IssueOrderRefundResultResponseDTO> result(@Valid @RequestBody IssueOrderRefundResultRequestDTO dto) throws ManagerException { | ||||
return ApiResponse.of(manager.result(dto)); | return ApiResponse.of(manager.result(dto)); | ||||
} | } | ||||
@ApiOperation(value = "退费确认管理-导出") | @ApiOperation(value = "退费确认管理-导出") | ||||
@PostMapping("/export") | @PostMapping("/export") | ||||
public ApiResponse<IssueOrderRefundExportResponseDTO> export(@Valid@RequestBody IssueOrderRefundExportRequestDTO dto) throws ManagerException { | public ApiResponse<IssueOrderRefundExportResponseDTO> export(@Valid@RequestBody IssueOrderRefundExportRequestDTO dto) throws ManagerException { |
@NotBlank | @NotBlank | ||||
private String censorResult; | private String censorResult; | ||||
@ApiModelProperty(value = "退款金额") | |||||
private Long refundAmount; | |||||
@ApiModelProperty(value = "退费方式") | @ApiModelProperty(value = "退费方式") | ||||
@NotNull | @NotNull | ||||
private RefundOperateType operateType; | private RefundOperateType operateType; |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.common.pub.BeanTools; | import cn.com.taiji.common.pub.BeanTools; | ||||
import cn.com.taiji.core.entity.dict.BucketFileBus; | import cn.com.taiji.core.entity.dict.BucketFileBus; | ||||
import cn.com.taiji.core.entity.dict.issue.RefundBusiness; | |||||
import cn.com.taiji.core.entity.dict.issue.RefundOperateType; | import cn.com.taiji.core.entity.dict.issue.RefundOperateType; | ||||
import cn.com.taiji.core.entity.dict.issue.RefundStatus; | import cn.com.taiji.core.entity.dict.issue.RefundStatus; | ||||
import cn.com.taiji.core.entity.dict.log.OperateType; | |||||
import cn.com.taiji.core.entity.issue.IssueOrderRefund; | import cn.com.taiji.core.entity.issue.IssueOrderRefund; | ||||
import cn.com.taiji.core.entity.user.Staff; | import cn.com.taiji.core.entity.user.Staff; | ||||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | ||||
dto.valid(); | dto.valid(); | ||||
IssueOrderRefund orderRefund = repo.findById(dto.getId()).orElse(null); | IssueOrderRefund orderRefund = repo.findById(dto.getId()).orElse(null); | ||||
LocalDateTime now = LocalDateTime.now(); | LocalDateTime now = LocalDateTime.now(); | ||||
orderRefund.setUpdateTime(now); | |||||
orderRefund.setAuditTime(now); | |||||
orderRefund.setSalesmanOpenId(findOpenIdByToken(dto.getAccessToken())); | |||||
if ("驳回".equals(dto.getCensorResult())){ | if ("驳回".equals(dto.getCensorResult())){ | ||||
orderRefund.setUpdateTime(now); | |||||
orderRefund.setAuditTime(now); | |||||
orderRefund.setStatus(RefundStatus.REJECT); | orderRefund.setStatus(RefundStatus.REJECT); | ||||
}else { | }else { | ||||
orderRefund.setUpdateTime(now); | |||||
orderRefund.setUpdateTime(now); | |||||
orderRefund.setStatus(RefundStatus.AUDITED); | orderRefund.setStatus(RefundStatus.AUDITED); | ||||
orderRefund.setRefundAmount(dto.getRefundAmount()); | |||||
orderRefund.setOperateType(dto.getOperateType()); | orderRefund.setOperateType(dto.getOperateType()); | ||||
if (RefundOperateType.BANK.equals(dto.getOperateType())){ | if (RefundOperateType.BANK.equals(dto.getOperateType())){ | ||||
BeanTools.copyProperties(dto.getPaymentBankModel(), orderRefund); | BeanTools.copyProperties(dto.getPaymentBankModel(), orderRefund); | ||||
} | } | ||||
} | } | ||||
repo.merge(orderRefund); | repo.merge(orderRefund); | ||||
//记录日志 | |||||
persistOperateLog(OperateType.ORDER_REFUND_RESULT,orderRefund.getId(),dto.getOrderSource(),findOpenIdByToken(dto.getAccessToken()),"订单退费管理审核结果:"+dto.getCensorResult()); | |||||
return new IssueOrderRefundResultResponseDTO(orderRefund.getId()); | return new IssueOrderRefundResultResponseDTO(orderRefund.getId()); | ||||
} | } | ||||
List<IssueOrderRefund> list = repo.list(pageRequest); | List<IssueOrderRefund> list = repo.list(pageRequest); | ||||
List<IssueOrderRefundExcelModel> excelModelList = SourceTargetMapper.INSTANCE.orderRefundToModelList(list); | List<IssueOrderRefundExcelModel> excelModelList = SourceTargetMapper.INSTANCE.orderRefundToModelList(list); | ||||
File file = EasyExcelUtil.exportExcelFile(IssueOrderRefundExcelModel.class, excelModelList, "退费管理"); | File file = EasyExcelUtil.exportExcelFile(IssueOrderRefundExcelModel.class, excelModelList, "退费管理"); | ||||
String filePath = minioUtil.fileUploadHttp(file, BucketFileBus.INVW); | |||||
String filePath = minioUtil.fileUploadHttp(file, BucketFileBus.MANAGEW); | |||||
return new IssueOrderRefundExportResponseDTO(filePath); | return new IssueOrderRefundExportResponseDTO(filePath); | ||||
} | } | ||||