package cn.com.taiji.iaw.dto.issue.order; | package cn.com.taiji.iaw.dto.issue.order; | ||||
import cn.com.taiji.core.entity.dict.basic.UserType; | |||||
import io.swagger.annotations.ApiModel; | import io.swagger.annotations.ApiModel; | ||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
import lombok.Data; | import lombok.Data; | ||||
@ApiModelProperty(value = "审核结果为2时必填") | @ApiModelProperty(value = "审核结果为2时必填") | ||||
private String reason; | private String reason; | ||||
@ApiModelProperty(value = "用户类型 个人用户、单位用户、其他") | |||||
private UserType userType; | |||||
@ApiModelProperty(value = "上传车主身份标识,1需要,2不需要") | @ApiModelProperty(value = "上传车主身份标识,1需要,2不需要") | ||||
private Integer flag; | private Integer flag; | ||||
// 个人行驶证与办理人不一致,要求上传车主证件 | // 个人行驶证与办理人不一致,要求上传车主证件 | ||||
if (!reqDto.getOwnerName().equals(order.getCustomerName()) && reqDto.getOwnerIdType() == null) { | if (!reqDto.getOwnerName().equals(order.getCustomerName()) && reqDto.getOwnerIdType() == null) { | ||||
res.setFlag(1); | res.setFlag(1); | ||||
res.setUserType(order.getUserType()); | |||||
return res; | return res; | ||||
} | } | ||||
//上传车主需要校验 | //上传车主需要校验 | ||||
public void updateAdress(UpdateAdressReqDTO reqDto) throws ManagerException { | public void updateAdress(UpdateAdressReqDTO reqDto) throws ManagerException { | ||||
IssueOrderinfo orderinfo = checkOrder(reqDto.getOrderNo()); | IssueOrderinfo orderinfo = checkOrder(reqDto.getOrderNo()); | ||||
if(ShippingStatus.WAIT_SHIPPING.equals(orderinfo.getShippingStatus())&& | if(ShippingStatus.WAIT_SHIPPING.equals(orderinfo.getShippingStatus())&& | ||||
(!IssueOrderStep.WAITING_SEND.equals(orderinfo.getOrderStep()) || | |||||
(IssueOrderStep.WAITING_SEND.equals(orderinfo.getOrderStep()) || | |||||
IssueOrderStep.WAITING_AUDIT.equals(orderinfo.getOrderStep()))) { | IssueOrderStep.WAITING_AUDIT.equals(orderinfo.getOrderStep()))) { | ||||
throw new ManagerException("当前订单阶段不可修改地址"); | throw new ManagerException("当前订单阶段不可修改地址"); | ||||
} | } |
pageRequest.setAgencyId(null); | pageRequest.setAgencyId(null); | ||||
} | } | ||||
} | } | ||||
Pagination page = repo.page(pageRequest); | |||||
if (isEmpty(page.getResult())) { | |||||
List<InvwCardDetails> cardDetails = repo.list(pageRequest); | |||||
if (isEmpty(cardDetails)) { | |||||
throw new ManagerException("根据条件未查出数据,请重筛选!"); | throw new ManagerException("根据条件未查出数据,请重筛选!"); | ||||
} | } | ||||
List<InvwCardDetails> cardDetails = page.getResult(InvwCardDetails.class); | |||||
List<InvwCardDetailsExcelModel> excelModelList = SourceTargetMapper.INSTANCE.cardDetailsToExcelModel(cardDetails); | List<InvwCardDetailsExcelModel> excelModelList = SourceTargetMapper.INSTANCE.cardDetailsToExcelModel(cardDetails); | ||||
//处理仓库名称 | //处理仓库名称 | ||||
List<InvwWarehouse> storeList = warehouseRepo.queryByStatus(EnableStatus.ENABLE);//查询正常的所有仓库 | List<InvwWarehouse> storeList = warehouseRepo.queryByStatus(EnableStatus.ENABLE);//查询正常的所有仓库 |
pageRequest.setAgencyId(null); | pageRequest.setAgencyId(null); | ||||
} | } | ||||
} | } | ||||
Pagination page = repo.page(pageRequest); | |||||
if (isEmpty(page.getResult())) { | |||||
List<InvwObuDetails> obuDetails = repo.list(pageRequest); | |||||
if (isEmpty(obuDetails)) { | |||||
throw new ManagerException("根据条件未查出数据,请重筛选!"); | throw new ManagerException("根据条件未查出数据,请重筛选!"); | ||||
} | } | ||||
List<InvwObuDetails> obuDetails = page.getResult(InvwObuDetails.class); | |||||
List<InvwObuDetailsExcelModel> excelModelList = SourceTargetMapper.INSTANCE.obuDetailsToExcelModel(obuDetails); | List<InvwObuDetailsExcelModel> excelModelList = SourceTargetMapper.INSTANCE.obuDetailsToExcelModel(obuDetails); | ||||
//处理仓库名称 | //处理仓库名称 | ||||
List<InvwWarehouse> storeList = warehouseRepo.queryByStatus(EnableStatus.ENABLE);//查询正常的所有仓库 | List<InvwWarehouse> storeList = warehouseRepo.queryByStatus(EnableStatus.ENABLE);//查询正常的所有仓库 |
package cn.com.taiji.managew.dto.equity.multiple; | |||||
import cn.com.taiji.common.model.BaseModel; | |||||
import cn.com.taiji.core.entity.dict.EnableStatus; | |||||
import lombok.Getter; | |||||
import lombok.Setter; | |||||
import lombok.experimental.Accessors; | |||||
import java.time.LocalDateTime; | |||||
import java.util.List; | |||||
@Getter | |||||
@Setter | |||||
@Accessors(chain = true) | |||||
public class IssueMultipleEquityDTO extends BaseModel { | |||||
private String id; | |||||
private String multipleEquityId;//批量权益编号 | |||||
private String equityName;//权益名称 | |||||
private String productIntro;//权益类产品内容简介 | |||||
private Integer customerGroup;//客户群体 | |||||
private Integer chargeType;//收费类型 字典取CHARGE_TYPE | |||||
private Long discountPrice;//优惠售价 | |||||
private String costDescription;//成本组成描述 | |||||
private LocalDateTime endDate;//下架结束日期 | |||||
private Integer memberPoints;//会员积分 | |||||
private Integer refundOnEtcCancel;//ETC设备强绑定权益注销时是否退费(1---是;0---否) | |||||
private Integer validityFormat;//有效期格式 1日 2月 3季 4年 | |||||
private String sellingPoint;//卖点 | |||||
private List<String> channelAuthorization;//渠道授权 | |||||
private Long originalPrice;//原价 | |||||
private Long totalCost;//总成本 | |||||
private LocalDateTime startDate;//上架启用日期 | |||||
private String equityProvider;//权益提供方 | |||||
private Integer transferable;//是否支持权益产品过户(1---是;0---否) | |||||
private Integer discountCouponUsable;//是否可使用积分商城所兑换的折扣券(1---是;0---否) | |||||
private Integer usageValidity;//使用有效期 | |||||
private EnableStatus status;//状态 | |||||
private Integer examine;//审核状态(0--通过 1---不通过 2--待审核) | |||||
private String examineDes;//审核原因 | |||||
private String operateUserId;//操作人id | |||||
private String operateUserName;//操作人名称 | |||||
private Integer alonePay;//是否单独售卖 1是 0否 | |||||
private List<String> singleEquityIds;//单项权益编号集合 | |||||
private LocalDateTime insertTime = LocalDateTime.now();//创建时间 | |||||
private LocalDateTime updateTime = LocalDateTime.now();//更新时间 | |||||
} |
private LocalDateTime endDate; | private LocalDateTime endDate; | ||||
@ApiModelProperty(value = "会员积分") | @ApiModelProperty(value = "会员积分") | ||||
@NotNull | @NotNull | ||||
private Long memberPoints; | |||||
private Integer memberPoints; | |||||
@ApiModelProperty(value = "ETC设备强绑定权益注销时是否退费(1---是;0---否)") | @ApiModelProperty(value = "ETC设备强绑定权益注销时是否退费(1---是;0---否)") | ||||
@NotNull | @NotNull | ||||
@IntegerConstant(values = "0,1") | @IntegerConstant(values = "0,1") |
import cn.com.taiji.common.model.dao.Pagination; | import cn.com.taiji.common.model.dao.Pagination; | ||||
import cn.com.taiji.core.entity.dict.EnableStatus; | import cn.com.taiji.core.entity.dict.EnableStatus; | ||||
import cn.com.taiji.core.entity.issue.IssueMultipleEquity; | import cn.com.taiji.core.entity.issue.IssueMultipleEquity; | ||||
import cn.com.taiji.core.entity.issue.IssueSingleEquity; | |||||
import cn.com.taiji.core.entity.user.Staff; | import cn.com.taiji.core.entity.user.Staff; | ||||
import cn.com.taiji.core.repo.jpa.issue.IssueMultipleEquityRepo; | import cn.com.taiji.core.repo.jpa.issue.IssueMultipleEquityRepo; | ||||
import cn.com.taiji.core.repo.jpa.issue.IssueSingleEquityRepo; | import cn.com.taiji.core.repo.jpa.issue.IssueSingleEquityRepo; | ||||
import cn.com.taiji.core.repo.jpa.user.StaffRepo; | import cn.com.taiji.core.repo.jpa.user.StaffRepo; | ||||
import cn.com.taiji.managew.dto.equity.multiple.*; | import cn.com.taiji.managew.dto.equity.multiple.*; | ||||
import cn.com.taiji.managew.dto.equity.single.IssueSingleEquityDTO; | |||||
import cn.com.taiji.managew.repo.jpa.request.IssueMultipleEquityPageRequest; | import cn.com.taiji.managew.repo.jpa.request.IssueMultipleEquityPageRequest; | ||||
import cn.com.taiji.managew.tools.StringUtils; | import cn.com.taiji.managew.tools.StringUtils; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
@Override | @Override | ||||
public Pagination page(MultipleEquityPageReqDTO dto) { | public Pagination page(MultipleEquityPageReqDTO dto) { | ||||
IssueMultipleEquityPageRequest request = copyProperties(dto, new IssueMultipleEquityPageRequest()); | IssueMultipleEquityPageRequest request = copyProperties(dto, new IssueMultipleEquityPageRequest()); | ||||
return issueMultipleEquityRepo.page(request); | |||||
return issueMultipleEquityRepo.page(request).convertResult(this::covert); | |||||
} | } | ||||
private IssueMultipleEquityDTO covert(IssueMultipleEquity from) { | |||||
IssueMultipleEquityDTO to = new IssueMultipleEquityDTO(); | |||||
copyProperties(from, to); | |||||
if (hasText(from.getChannelAuthorization())) | |||||
to.setChannelAuthorization(List.of(from.getChannelAuthorization().split(","))); | |||||
if (hasText(from.getSingleIds())) | |||||
to.setSingleEquityIds(List.of(from.getSingleIds().split(","))); | |||||
return to; | |||||
} | |||||
@Override | @Override | ||||
public MultipleEquityDetailResDTO detail(MultipleEquityDetailReqDTO dto) throws ManagerException { | public MultipleEquityDetailResDTO detail(MultipleEquityDetailReqDTO dto) throws ManagerException { | ||||
IssueMultipleEquity multipleEquity = getMultipleEquity(dto.getId()); | IssueMultipleEquity multipleEquity = getMultipleEquity(dto.getId()); |
@Override | @Override | ||||
public void execute() { | public void execute() { | ||||
logger.info("--卡片一行数据列查询开始--"); | |||||
logger.info("--卡片一发数据列查询开始--"); | |||||
int num = 0; | int num = 0; | ||||
try { | try { | ||||
int start = Math.toIntExact(repo.countId()); | int start = Math.toIntExact(repo.countId()); | ||||
num += size; | num += size; | ||||
hasMoreData = size >= BATCH_SIZE; | hasMoreData = size >= BATCH_SIZE; | ||||
} | } | ||||
logger.info("--卡卡片一行数据列查询结束,共处理 {} 条记录--", num); | |||||
logger.info("--卡卡片一发数据列查询结束,共处理 {} 条记录--", num); | |||||
} catch (ManagerException e) { | } catch (ManagerException e) { | ||||
logger.error("--卡片一行数据列查询失败:", e); | |||||
logger.error("--卡片一发数据列查询失败:", e); | |||||
e.printStackTrace(); | e.printStackTrace(); | ||||
} | } | ||||
} | } |
if (IssueOrderStep.WAITING_ACTIVE != orderInfo.getOrderStep()) { | if (IssueOrderStep.WAITING_ACTIVE != orderInfo.getOrderStep()) { | ||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("订单当前状态不可激活"); | throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("订单当前状态不可激活"); | ||||
} | } | ||||
if(orderInfo.getCardStatus()==null||orderInfo.getCardStatus()!=CardStatus.ZC){ | |||||
if (orderInfo.getCardStatus() == null || orderInfo.getCardStatus() != CardStatus.ZC) { | |||||
// 卡库存 | // 卡库存 | ||||
InvwCardDetails cardDetail = cardDetailsRepo.findByCardIdAndStatus(req.getCardId(), InvDeviceStatus.NEW); | |||||
InvwCardDetails cardDetail = cardDetailsRepo.findBy(req.getCardId()); | |||||
if (cardDetail == null) { | if (cardDetail == null) { | ||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("卡不在库存中"); | throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("卡不在库存中"); | ||||
} | } | ||||
if (cardDetail.getStatus() != InvDeviceStatus.NEW && cardDetail.getStatus() != InvDeviceStatus.OUT) { | |||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("卡已使用或已报损"); | |||||
} | |||||
InvwWarehouse cardWarehouse = warehouseRepo.findByCode(cardDetail.getStoreCode()); | InvwWarehouse cardWarehouse = warehouseRepo.findByCode(cardDetail.getStoreCode()); | ||||
if (cardWarehouse == null || EnableStatus.ENABLE != cardWarehouse.getStatus()) { | if (cardWarehouse == null || EnableStatus.ENABLE != cardWarehouse.getStatus()) { | ||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException(cardWarehouse.getName() + "仓库已禁用:" + cardDetail.getStoreCode()); | throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException(cardWarehouse.getName() + "仓库已禁用:" + cardDetail.getStoreCode()); | ||||
} | } | ||||
// 签库存 | // 签库存 | ||||
InvwObuDetails obuDetail = obuDetailsRepo.findByObuIdAndStatus(req.getObuId(), InvDeviceStatus.NEW); | |||||
InvwObuDetails obuDetail = obuDetailsRepo.findBy(req.getObuId()); | |||||
if (obuDetail == null) { | if (obuDetail == null) { | ||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("OBU不在库存中"); | throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("OBU不在库存中"); | ||||
} | } | ||||
if (obuDetail.getStatus() != InvDeviceStatus.NEW && obuDetail.getStatus() != InvDeviceStatus.OUT) { | |||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException("OBU已使用或已报损"); | |||||
} | |||||
InvwWarehouse obuWarehouse = warehouseRepo.findByCode(obuDetail.getStoreCode()); | InvwWarehouse obuWarehouse = warehouseRepo.findByCode(obuDetail.getStoreCode()); | ||||
if (obuWarehouse == null || EnableStatus.ENABLE != obuWarehouse.getStatus()) { | if (obuWarehouse == null || EnableStatus.ENABLE != obuWarehouse.getStatus()) { | ||||
throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException(obuWarehouse.getName() + "仓库已禁用:" + obuDetail.getStoreCode()); | throw GlyServiceError.BUSINESS_VALIDATE_ERR.toHandleException(obuWarehouse.getName() + "仓库已禁用:" + obuDetail.getStoreCode()); |