记得上下班打卡 | git大法好,push需谨慎

Commit 42f29831 authored by 胡佳晨's avatar 胡佳晨

修改 退款相关vo

parent 266e871d
package com.liquidnet.service.kylin.dto.vo.mongo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class KylinOrderRefundsVoBase {
private Integer mid;
private String orderRefundsId;
private String orderTicketsId;
private String orderRefundCode;
private String orderRefundBatchesId;
private String refundCode;
private String refundAt;
private String refundId;
private String refundError;
private BigDecimal price;
private BigDecimal priceExpress;
private Integer status;
private Integer type;
private String applicantId;
private String applicantName;
private String applicantAt;
private String reason;
private String auditorId;
private String auditorName;
private String auditorAt;
private String reject;
private String executorId;
private String executorName;
private String executorAt;
private String refuse;
private Integer refundType;
private String refundCate;
private String createdAt;
private String updatedAt;
private List<KylinOrderRefundEntitiesVo> orderRefundEntitiesVoList;
private List<KylinOrderRefundPicVo> orderRefundPicVos;
}
package com.liquidnet.service.kylin.dto.vo.returns; package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao; import com.liquidnet.service.kylin.dao.KylinOrderRefundsEntitiesDao;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundPicVo;
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;
...@@ -106,6 +108,9 @@ public class KylinOrderRefundsVo implements Serializable { ...@@ -106,6 +108,9 @@ public class KylinOrderRefundsVo implements Serializable {
List<KylinOrderRefundsEntitiesDao> entities; List<KylinOrderRefundsEntitiesDao> entities;
private List<KylinOrderRefundEntitiesVo> orderRefundEntitiesVoList;
private List<KylinOrderRefundPicVo> orderRefundPicVos;
public void setStatusName(Integer status){ public void setStatusName(Integer status){
this.status=status; this.status=status;
switch (status){ switch (status){
......
package com.liquidnet.service.kylin.dto.vo.returns; package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundsVoBase;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
......
package com.liquidnet.service.kylin.dto.vo.returns; package com.liquidnet.service.kylin.dto.vo.returns;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundsVoBase;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class OrderRefundVo { public class OrderRefundVo {
private KylinOrderTicketVo orderTicketVo; private KylinOrderTicketVo orderTicketVo;
private KylinOrderRefundsVoBase kylinOrderRefundsVoBaseList; private KylinOrderRefundsVo kylinOrderRefundsVoBaseList;
} }
...@@ -1040,16 +1040,16 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1040,16 +1040,16 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
} }
List<KylinOrderRefundsOrderCodeVo> orderRefundsVoBaseList = new ArrayList<>(); List<KylinOrderRefundsOrderCodeVo> orderRefundsVoBaseList = new ArrayList<>();
for (KylinOrderRefundsVoBase item : dataUtils.getOrderRefundVoByOrderId(orderId)) { for (KylinOrderRefundsVo item : dataUtils.getOrderRefundVoByOrderId(orderId)) {
KylinOrderRefundsOrderCodeVo data = new KylinOrderRefundsOrderCodeVo(); KylinOrderRefundsOrderCodeVo data = new KylinOrderRefundsOrderCodeVo();
data.setOrderRefundsId(item.getOrderRefundsId()); data.setOrderRefundsId(item.getOrderRefundsId());
data.setOrderRefundCode(item.getOrderRefundCode()); data.setOrderRefundCode(item.getOrderRefundCode());
data.setStatus(item.getStatus()); data.setStatus(item.getStatus());
} }
List<KylinOrderRefundsVoBase> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderId); List<KylinOrderRefundsVo> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderId);
List<OrderRefundListVo> orderRefundListVos = new ArrayList<>(); List<OrderRefundListVo> orderRefundListVos = new ArrayList<>();
for (KylinOrderRefundsVoBase item : orderRefundsVoList){ for (KylinOrderRefundsVo item : orderRefundsVoList){
OrderRefundListVo data = new OrderRefundListVo(); OrderRefundListVo data = new OrderRefundListVo();
data.setOrderRefundCode(item.getOrderRefundCode().substring(item.getOrderRefundCode().length()-10)); data.setOrderRefundCode(item.getOrderRefundCode().substring(item.getOrderRefundCode().length()-10));
data.setOrderRefundsId(item.getOrderRefundsId()); data.setOrderRefundsId(item.getOrderRefundsId());
...@@ -1121,7 +1121,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1121,7 +1121,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId); KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId()); KylinPerformanceVo performanceVo = dataUtils.getPerformanceVo(orderTicketVo.getPerformanceId());
List<KylinOrderRefundsVoBase> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId()); List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if (!orderTicketVo.getUserId().equals(uid)) { if (!orderTicketVo.getUserId().equals(uid)) {
return null; return null;
} }
...@@ -1164,7 +1164,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1164,7 +1164,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
return null; return null;
} }
orderTicketVo.setFieldName(performanceVo.getFieldName()); orderTicketVo.setFieldName(performanceVo.getFieldName());
KylinOrderRefundsVoBase kylinOrderRefundsVoBase = dataUtils.getOrderRefundVo(orderRefundId); KylinOrderRefundsVo kylinOrderRefundsVoBase = dataUtils.getOrderRefundVo(orderRefundId);
vo.setKylinOrderRefundsVoBaseList(kylinOrderRefundsVoBase); vo.setKylinOrderRefundsVoBaseList(kylinOrderRefundsVoBase);
vo.setOrderTicketVo(orderTicketVo); vo.setOrderTicketVo(orderTicketVo);
return vo; return vo;
...@@ -1176,7 +1176,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1176,7 +1176,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
try { try {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId); KylinOrderTicketVo orderTicketVo = dataUtils.getOrderTicketVo(orderId);
List<KylinOrderRefundsVoBase> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId()); List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList = dataUtils.getOrderRefundVoByOrderId(orderTicketVo.getOrderTicketsId());
if (!orderTicketVo.getUserId().equals(uid)) { if (!orderTicketVo.getUserId().equals(uid)) {
return ResponseDto.failure(ErrorMapping.get("20003")); return ResponseDto.failure(ErrorMapping.get("20003"));
...@@ -1221,7 +1221,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1221,7 +1221,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
LocalDateTime time = LocalDateTime.now(); LocalDateTime time = LocalDateTime.now();
String strTime = DateUtil.Formatter.yyyyMMddHHmmss.format(time); String strTime = DateUtil.Formatter.yyyyMMddHHmmss.format(time);
try { try {
KylinOrderRefundsVoBase orderRefundsVo = dataUtils.getOrderRefundVo(orderRefundsId); KylinOrderRefundsVo orderRefundsVo = dataUtils.getOrderRefundVo(orderRefundsId);
if(!orderRefundsVo.getStatus().equals(0)){ if(!orderRefundsVo.getStatus().equals(0)){
return ResponseDto.failure(ErrorMapping.get("20020")); return ResponseDto.failure(ErrorMapping.get("20020"));
} }
...@@ -1233,8 +1233,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1233,8 +1233,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败) // 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败)
int newStatus; int newStatus;
int refundingCount = 0; int refundingCount = 0;
List<KylinOrderRefundsVoBase> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderTicketsId); List<KylinOrderRefundsVo> orderRefundsVoList = dataUtils.getOrderRefundVoByOrderId(orderTicketsId);
for (KylinOrderRefundsVoBase item : orderRefundsVoList) { for (KylinOrderRefundsVo item : orderRefundsVoList) {
int status = item.getStatus(); int status = item.getStatus();
if (status != 2 && status != 4 && status != 6 && !item.getOrderRefundsId().equals(orderRefundsId)) { if (status != 2 && status != 4 && status != 6 && !item.getOrderRefundsId().equals(orderRefundsId)) {
refundingCount += 1; refundingCount += 1;
...@@ -1277,7 +1277,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1277,7 +1277,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
// 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败) // 订单状态表 判断是退到正在退款 已付款 部分退款?(取消,完成,失败)
int newIsPayment = 0; int newIsPayment = 0;
int refundingEntitiesCount = 0; int refundingEntitiesCount = 0;
for (KylinOrderRefundsVoBase item2 : orderRefundsVoList) { for (KylinOrderRefundsVo item2 : orderRefundsVoList) {
int status = item2.getStatus(); int status = item2.getStatus();
if (!item2.getOrderRefundsId().equals(orderRefundsId) && (status != 2 && status != 4 && status != 6)) { if (!item2.getOrderRefundsId().equals(orderRefundsId) && (status != 2 && status != 4 && status != 6)) {
for (KylinOrderRefundEntitiesVo item3 : item2.getOrderRefundEntitiesVoList()) { for (KylinOrderRefundEntitiesVo item3 : item2.getOrderRefundEntitiesVoList()) {
...@@ -1329,11 +1329,11 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1329,11 +1329,11 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL); kylinOrderRefunds.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
kylinOrderRefunds.setUpdatedAt(LocalDateTime.now()); kylinOrderRefunds.setUpdatedAt(LocalDateTime.now());
KylinOrderRefundsVoBase orderRefundsVoBase = new KylinOrderRefundsVoBase(); KylinOrderRefundsVo orderRefundsVoBase = new KylinOrderRefundsVo();
orderRefundsVoBase.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL); orderRefundsVoBase.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_CANCEL);
orderRefundsVoBase.setUpdatedAt(strTime); orderRefundsVoBase.setUpdatedAt(time);
BasicDBObject refundObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderRefundsVoBase))); BasicDBObject refundObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderRefundsVoBase)));
mongoTemplate.getCollection(KylinOrderRefundsVoBase.class.getSimpleName()).updateOne( mongoTemplate.getCollection(KylinOrderRefundsVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(), Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)).getQueryObject(),
refundObject refundObject
); );
...@@ -1363,7 +1363,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1363,7 +1363,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
LocalDateTime time = LocalDateTime.now(); LocalDateTime time = LocalDateTime.now();
String strTime = DateUtil.Formatter.yyyyMMddHHmmss.format(time); String strTime = DateUtil.Formatter.yyyyMMddHHmmss.format(time);
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
KylinOrderRefundsVoBase orderRefundVo = dataUtils.getOrderRefundVo(orderRefundsId); KylinOrderRefundsVo orderRefundVo = dataUtils.getOrderRefundVo(orderRefundsId);
// 订单状态表 MQ // 订单状态表 MQ
KylinOrderTicketStatus orderStatusTable = new KylinOrderTicketStatus(); KylinOrderTicketStatus orderStatusTable = new KylinOrderTicketStatus();
...@@ -1401,12 +1401,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -1401,12 +1401,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
); );
dataUtils.delOrderTicketEntitiesRedis(orderRefundVo.getOrderRefundEntitiesVoList().get(0).getOrderTicketEntitiesId()); dataUtils.delOrderTicketEntitiesRedis(orderRefundVo.getOrderRefundEntitiesVoList().get(0).getOrderTicketEntitiesId());
// 订单退款表 MONGO // 订单退款表 MONGO
KylinOrderRefundsVoBase orderRefundsVo = new KylinOrderRefundsVoBase(); KylinOrderRefundsVo orderRefundsVo = new KylinOrderRefundsVo();
orderRefundsVo.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_APPLY); orderRefundsVo.setStatus(KylinTableStatusConst.ORDER_REFUND_STATUS_APPLY);
orderRefundsVo.setUpdatedAt(strTime); orderRefundsVo.setUpdatedAt(time);
orderRefundsVo.setApplicantAt(strTime); orderRefundsVo.setApplicantAt(time);
BasicDBObject refundObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderRefundsVo))); BasicDBObject refundObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(orderRefundsVo)));
mongoTemplate.getCollection(KylinOrderRefundsVoBase.class.getSimpleName()).updateOne( mongoTemplate.getCollection(KylinOrderRefundsVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("orderRefundsId").is(orderRefundVo.getOrderRefundsId())).getQueryObject(), Query.query(Criteria.where("orderRefundsId").is(orderRefundVo.getOrderRefundsId())).getQueryObject(),
refundObject refundObject
); );
......
...@@ -272,11 +272,11 @@ public class KylinRefundsStatusServiceImpl { ...@@ -272,11 +272,11 @@ public class KylinRefundsStatusServiceImpl {
} }
kylinOrderRefunds.setCreatedAt(time); kylinOrderRefunds.setCreatedAt(time);
KylinOrderRefundsVoBase orderRefundsVo = new KylinOrderRefundsVoBase(); KylinOrderRefundsVo orderRefundsVo = new KylinOrderRefundsVo();
BeanUtils.copyProperties(kylinOrderRefunds,orderRefundsVo); BeanUtils.copyProperties(kylinOrderRefunds,orderRefundsVo);
orderRefundsVo.setCreatedAt(strTime); orderRefundsVo.setCreatedAt(time);
orderRefundsVo.setApplicantAt(strTime); orderRefundsVo.setApplicantAt(time);
mongoTemplate.insert(orderRefundsVo, KylinOrderRefundsVoBase.class.getSimpleName()); mongoTemplate.insert(orderRefundsVo, KylinOrderRefundsVo.class.getSimpleName());
......
...@@ -9,6 +9,7 @@ import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; ...@@ -9,6 +9,7 @@ import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.*; import com.liquidnet.service.kylin.dto.vo.mongo.*;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderRefundsVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper; import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -569,25 +570,25 @@ public class DataUtils { ...@@ -569,25 +570,25 @@ public class DataUtils {
return query; return query;
} }
public KylinOrderRefundsVoBase getOrderRefundVo(String orderRefundsId){ public KylinOrderRefundsVo getOrderRefundVo(String orderRefundsId){
if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND + orderRefundsId)) { if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND + orderRefundsId)) {
} else { } else {
KylinOrderRefundsVoBase orderRefundsVo = mongoTemplate.findOne(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundsVoBase.class, KylinOrderRefundsVoBase.class.getSimpleName()); KylinOrderRefundsVo orderRefundsVo = mongoTemplate.findOne(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundsVo.class, KylinOrderRefundsVo.class.getSimpleName());
List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName()); List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName());
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)),KylinOrderRefundPicVo.class,KylinOrderRefundPicVo.class.getSimpleName()); List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)),KylinOrderRefundPicVo.class,KylinOrderRefundPicVo.class.getSimpleName());
orderRefundsVo.setOrderRefundEntitiesVoList(kylinOrderTicketEntitiesVoList); orderRefundsVo.setOrderRefundEntitiesVoList(kylinOrderTicketEntitiesVoList);
orderRefundsVo.setOrderRefundPicVos(picVos); orderRefundsVo.setOrderRefundPicVos(picVos);
redisUtil.set(KylinRedisConst.ORDER_REFUND + orderRefundsId, orderRefundsVo); redisUtil.set(KylinRedisConst.ORDER_REFUND + orderRefundsId, orderRefundsVo);
} }
return (KylinOrderRefundsVoBase) redisUtil.get(KylinRedisConst.ORDER_REFUND + orderRefundsId); return (KylinOrderRefundsVo) redisUtil.get(KylinRedisConst.ORDER_REFUND + orderRefundsId);
} }
public List<KylinOrderRefundsVoBase> getOrderRefundVoByOrderId(String orderId){ public List<KylinOrderRefundsVo> getOrderRefundVoByOrderId(String orderId){
if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId)) { if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId)) {
} else { } else {
List<KylinOrderRefundsVoBase> orderRefundsVoList = new ArrayList<>(); List<KylinOrderRefundsVo> orderRefundsVoList = new ArrayList<>();
List<KylinOrderRefundsVoBase> data = mongoTemplate.find(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderRefundsVoBase.class, KylinOrderRefundsVoBase.class.getSimpleName()); List<KylinOrderRefundsVo> data = mongoTemplate.find(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderRefundsVo.class, KylinOrderRefundsVo.class.getSimpleName());
for (KylinOrderRefundsVoBase item : data) { for (KylinOrderRefundsVo item : data) {
List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName()); List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName());
if(kylinOrderTicketEntitiesVoList.size()>1){ if(kylinOrderTicketEntitiesVoList.size()>1){
continue; continue;
...@@ -599,7 +600,7 @@ public class DataUtils { ...@@ -599,7 +600,7 @@ public class DataUtils {
} }
redisUtil.set(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId, orderRefundsVoList); redisUtil.set(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId, orderRefundsVoList);
} }
return (List<KylinOrderRefundsVoBase>) redisUtil.get(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId); return (List<KylinOrderRefundsVo>) redisUtil.get(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
} }
public void delOrderRefundVo(String orderRefundsId){ public void delOrderRefundVo(String orderRefundsId){
...@@ -616,7 +617,7 @@ public class DataUtils { ...@@ -616,7 +617,7 @@ public class DataUtils {
* @param orderTicketEntitiesId 票单id * @param orderTicketEntitiesId 票单id
* @return * @return
*/ */
public BigDecimal getCanRefundOrderEntitiesPrice(KylinOrderTicketVo orderTicketVo, List<KylinOrderRefundsVoBase> kylinOrderRefundsVoBaseList, String orderTicketEntitiesId){ public BigDecimal getCanRefundOrderEntitiesPrice(KylinOrderTicketVo orderTicketVo, List<KylinOrderRefundsVo> kylinOrderRefundsVoBaseList, String orderTicketEntitiesId){
//单票实付价格 //单票实付价格
BigDecimal singlePrice = orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(BigDecimal.valueOf(orderTicketVo.getNumber())); BigDecimal singlePrice = orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(BigDecimal.valueOf(orderTicketVo.getNumber()));
//单票剩余未退款金额 //单票剩余未退款金额
...@@ -628,7 +629,7 @@ public class DataUtils { ...@@ -628,7 +629,7 @@ public class DataUtils {
} }
//订单锁定金额 //订单锁定金额
BigDecimal orderLockPrice = new BigDecimal("0.00"); BigDecimal orderLockPrice = new BigDecimal("0.00");
for (KylinOrderRefundsVoBase refundVo : kylinOrderRefundsVoBaseList) { for (KylinOrderRefundsVo refundVo : kylinOrderRefundsVoBaseList) {
int status = refundVo.getStatus(); int status = refundVo.getStatus();
if (status == 0 || status == 3 || status == 5 || status == 7) { //退款流程未完成 金额锁定 if (status == 0 || status == 3 || status == 5 || status == 7) { //退款流程未完成 金额锁定
List<KylinOrderRefundEntitiesVo> refundEntitiesVos = refundVo.getOrderRefundEntitiesVoList(); List<KylinOrderRefundEntitiesVo> refundEntitiesVos = refundVo.getOrderRefundEntitiesVoList();
......
...@@ -586,38 +586,6 @@ public class DataUtils { ...@@ -586,38 +586,6 @@ public class DataUtils {
return query; return query;
} }
public KylinOrderRefundsVoBase getOrderRefundVo(String orderRefundsId){
if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND + orderRefundsId)) {
} else {
KylinOrderRefundsVoBase orderRefundsVo = mongoTemplate.findOne(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundsVoBase.class, KylinOrderRefundsVoBase.class.getSimpleName());
List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName());
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(orderRefundsId)),KylinOrderRefundPicVo.class,KylinOrderRefundPicVo.class.getSimpleName());
orderRefundsVo.setOrderRefundEntitiesVoList(kylinOrderTicketEntitiesVoList);
orderRefundsVo.setOrderRefundPicVos(picVos);
redisUtil.set(KylinRedisConst.ORDER_REFUND + orderRefundsId, orderRefundsVo);
}
return (KylinOrderRefundsVoBase) redisUtil.get(KylinRedisConst.ORDER_REFUND + orderRefundsId);
}
public List<KylinOrderRefundsVoBase> getOrderRefundVoByOrderId(String orderId){
if (redisUtil.hasKey(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId)) {
} else {
List<KylinOrderRefundsVoBase> orderRefundsVoList = new ArrayList<>();
List<KylinOrderRefundsVoBase> data = mongoTemplate.find(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderRefundsVoBase.class, KylinOrderRefundsVoBase.class.getSimpleName());
for (KylinOrderRefundsVoBase item : data) {
List<KylinOrderRefundEntitiesVo> kylinOrderTicketEntitiesVoList = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())), KylinOrderRefundEntitiesVo.class, KylinOrderRefundEntitiesVo.class.getSimpleName());
if(kylinOrderTicketEntitiesVoList.size()>1){
continue;
}
item.setOrderRefundEntitiesVoList(kylinOrderTicketEntitiesVoList);
List<KylinOrderRefundPicVo> picVos = mongoTemplate.find(Query.query(Criteria.where("orderRefundsId").is(item.getOrderRefundsId())),KylinOrderRefundPicVo.class,KylinOrderRefundPicVo.class.getSimpleName());
item.setOrderRefundPicVos(picVos);
orderRefundsVoList.add(item);
}
redisUtil.set(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId, orderRefundsVoList);
}
return (List<KylinOrderRefundsVoBase>) redisUtil.get(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
}
public void delOrderRefundVo(String orderRefundsId){ public void delOrderRefundVo(String orderRefundsId){
redisUtil.del(KylinRedisConst.ORDER_REFUND + orderRefundsId); redisUtil.del(KylinRedisConst.ORDER_REFUND + orderRefundsId);
...@@ -627,41 +595,4 @@ public class DataUtils { ...@@ -627,41 +595,4 @@ public class DataUtils {
redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId); redisUtil.del(KylinRedisConst.ORDER_REFUND_BY_ORDER_ID + orderId);
} }
/**
* 获取可退款票单价格
* @param orderTicketVo 订单vo数据
* @param orderTicketEntitiesId 票单id
* @return
*/
public BigDecimal getCanRefundOrderEntitiesPrice(KylinOrderTicketVo orderTicketVo, List<KylinOrderRefundsVoBase> kylinOrderRefundsVoBaseList, String orderTicketEntitiesId){
//单票实付价格
BigDecimal singlePrice = orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).divide(BigDecimal.valueOf(orderTicketVo.getNumber()));
//单票剩余未退款金额
BigDecimal canRefundSinglePrice = new BigDecimal("0.00");
for (KylinOrderTicketEntitiesVo item : orderTicketVo.getEntitiesVoList()) {
if (item.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
canRefundSinglePrice = singlePrice.subtract(item.getRefundPrice()==null?BigDecimal.valueOf(0.00):item.getRefundPrice());
}
}
//订单锁定金额
BigDecimal orderLockPrice = new BigDecimal("0.00");
for (KylinOrderRefundsVoBase refundVo : kylinOrderRefundsVoBaseList) {
int status = refundVo.getStatus();
if (status == 0 || status == 3 || status == 5 || status == 7) { //退款流程未完成 金额锁定
List<KylinOrderRefundEntitiesVo> refundEntitiesVos = refundVo.getOrderRefundEntitiesVoList();
for (KylinOrderRefundEntitiesVo refundEntitiesVo : refundEntitiesVos) {
if (refundEntitiesVo.getOrderTicketEntitiesId().equals(orderTicketEntitiesId)) {
orderLockPrice = orderLockPrice.add(refundEntitiesVo.getRefundPrice());
}
}
}
}
//订单可退金额
BigDecimal refundSinglePrice = canRefundSinglePrice.subtract(orderLockPrice);
//是否包含快递费
if (orderTicketVo.getPriceActual().subtract(orderTicketVo.getPriceExpress()).subtract(orderTicketVo.getPriceRefund()).compareTo(canRefundSinglePrice) == 0) {
refundSinglePrice = refundSinglePrice.add(orderTicketVo.getPriceExpress());
}
return refundSinglePrice;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment