退VIP后,如果有延期VIP,需要退掉延期VIP才可以退掉此VIP订单
This commit is contained in:
@@ -673,6 +673,9 @@ public class BuyOrderController {
|
|||||||
|| Constants.ORDER_STATUS_OUT_OF_TIME.equals(buyOrder.getOrderStatus())) {
|
|| Constants.ORDER_STATUS_OUT_OF_TIME.equals(buyOrder.getOrderStatus())) {
|
||||||
return R.error("当前订单状态不支持退单");
|
return R.error("当前订单状态不支持退单");
|
||||||
}
|
}
|
||||||
|
if(buyOrder.getOrderType().equals("vip")&& buyOrderService.hasYQOrder(buyOrder)){
|
||||||
|
return R.error("需要先退掉当前VIP下的延期");
|
||||||
|
}
|
||||||
//设置状态为退款中
|
//设置状态为退款中
|
||||||
buyOrder.setOrderStatus(Constants.ORDER_STATUS_REFUNDING);
|
buyOrder.setOrderStatus(Constants.ORDER_STATUS_REFUNDING);
|
||||||
buyOrderService.updateById(buyOrder);
|
buyOrderService.updateById(buyOrder);
|
||||||
|
|||||||
@@ -388,10 +388,12 @@ public class ShopProductController {
|
|||||||
shopProduct.setBookId("");
|
shopProduct.setBookId("");
|
||||||
}
|
}
|
||||||
shopProductService.save(shopProduct);
|
shopProductService.save(shopProduct);
|
||||||
ShopProductBookEntity shopProductBookEntity = new ShopProductBookEntity();
|
|
||||||
for (String s : shopProduct.getBookids()) {
|
for (String s : shopProduct.getBookids()) {
|
||||||
String bookIdList = s;
|
String bookIdList = s;
|
||||||
if (bookIdList != null) {
|
if (bookIdList != null) {
|
||||||
|
ShopProductBookEntity shopProductBookEntity = new ShopProductBookEntity();
|
||||||
|
|
||||||
Integer product = shopProduct.getProductId();
|
Integer product = shopProduct.getProductId();
|
||||||
shopProductBookEntity.setProductId(product);
|
shopProductBookEntity.setProductId(product);
|
||||||
shopProductBookEntity.setBookId(Integer.valueOf(bookIdList));
|
shopProductBookEntity.setBookId(Integer.valueOf(bookIdList));
|
||||||
|
|||||||
@@ -76,4 +76,6 @@ public interface BuyOrderService extends IService<BuyOrder> {
|
|||||||
BigDecimal getRefundFee(Map<String, Object> params, BuyOrder buyOrder);
|
BigDecimal getRefundFee(Map<String, Object> params, BuyOrder buyOrder);
|
||||||
|
|
||||||
void refundOrder(BuyOrder buyOrder, MyUserEntity user, int refundId);
|
void refundOrder(BuyOrder buyOrder, MyUserEntity user, int refundId);
|
||||||
|
|
||||||
|
boolean hasYQOrder(BuyOrder buyOrder);
|
||||||
}
|
}
|
||||||
@@ -116,6 +116,8 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
|
|||||||
private UserVipLogDao userVipLogDao;
|
private UserVipLogDao userVipLogDao;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserVipDao userVipDao;
|
private UserVipDao userVipDao;
|
||||||
|
@Autowired
|
||||||
|
private VipBuyConfigDao vipBuyConfigDao;
|
||||||
|
|
||||||
// TODO 新版本上线后删除
|
// TODO 新版本上线后删除
|
||||||
@Override
|
@Override
|
||||||
@@ -1105,4 +1107,35 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
|
|||||||
shopProductService.rollbackStock(buyOrder);
|
shopProductService.rollbackStock(buyOrder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断该VIP后,是否办理过延期VIP,退VIP时,如果在此VIP后办理过延期,需要把延期退掉才可以退此订单
|
||||||
|
* @param buyOrder
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean hasYQOrder(BuyOrder buyOrder){
|
||||||
|
VipBuyConfigEntity vipBuyConfig = vipBuyConfigService.getById(buyOrder.getVipBuyConfigId());
|
||||||
|
if(vipBuyConfig.getType()<=10){
|
||||||
|
List<String> typeStrs = new ArrayList<>();
|
||||||
|
if(vipBuyConfig.getType()==1){
|
||||||
|
typeStrs.add("41");
|
||||||
|
typeStrs.add("91");
|
||||||
|
typeStrs.add("51");
|
||||||
|
typeStrs.add("41");
|
||||||
|
typeStrs.add("61");
|
||||||
|
typeStrs.add("101");
|
||||||
|
}else if(vipBuyConfig.getType()==2){
|
||||||
|
typeStrs.add("71");
|
||||||
|
typeStrs.add("81");
|
||||||
|
}else{
|
||||||
|
typeStrs.add(vipBuyConfig.getType()+"1");
|
||||||
|
}
|
||||||
|
List<Integer> vipBuyConfigIdList = vipBuyConfigDao.selectList(new LambdaQueryWrapper<VipBuyConfigEntity>().in(VipBuyConfigEntity::getType,typeStrs)).stream().map(VipBuyConfigEntity::getId).collect(Collectors.toList());
|
||||||
|
Long nums = buyOrderDao.selectCount(new LambdaQueryWrapper<BuyOrder>().in(BuyOrder::getVipBuyConfigId,vipBuyConfigIdList).eq(BuyOrder::getOrderStatus,3).gt(BuyOrder::getCreateTime, buyOrder.getCreateTime()));
|
||||||
|
log.info("=====hasYQOrder===="+nums);
|
||||||
|
return nums>0?true:false;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -494,7 +494,12 @@ public class ClassController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// @RequestMapping("/createCertificateNo")
|
||||||
|
// public R createCertificateNo() {
|
||||||
|
// String certificateNo = classEntityService.getNextCertificateNo("B", "");
|
||||||
|
// log.info("========certificateNo========="+certificateNo);
|
||||||
|
// return R.ok(certificateNo);
|
||||||
|
// }
|
||||||
//结班
|
//结班
|
||||||
@RequestMapping("/closeClass")
|
@RequestMapping("/closeClass")
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|||||||
@@ -386,7 +386,7 @@ public class UserVipServiceImpl extends ServiceImpl<UserVipDao, UserVip> impleme
|
|||||||
vipBuyConfigEntity.getType()==71||vipBuyConfigEntity.getType()==81 ||vipBuyConfigEntity.getType()==101){
|
vipBuyConfigEntity.getType()==71||vipBuyConfigEntity.getType()==81 ||vipBuyConfigEntity.getType()==101){
|
||||||
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
List<UserVip> userVipList = userVipDao.selectList(new LambdaQueryWrapper<UserVip>()
|
||||||
.eq(UserVip::getUserId,buyOrder.getUserId())
|
.eq(UserVip::getUserId,buyOrder.getUserId())
|
||||||
.eq(UserVip::getType,vipBuyConfigEntity.getType().toString().substring(0,1))
|
.eq(UserVip::getType,vipBuyConfigEntity.getType().toString().substring(0,vipBuyConfigEntity.getType()==101?2:1))
|
||||||
.orderByDesc(UserVip::getEndTime));
|
.orderByDesc(UserVip::getEndTime));
|
||||||
UserVip userVip = userVipList.get(0);
|
UserVip userVip = userVipList.get(0);
|
||||||
if (userVip.getState()==0) {
|
if (userVip.getState()==0) {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class StatisticsBusinessVipController {
|
|||||||
.stream().map(UserVip::getType).collect(Collectors.toList());
|
.stream().map(UserVip::getType).collect(Collectors.toList());
|
||||||
// 定义复购规则
|
// 定义复购规则
|
||||||
Map<String, List<Integer>> reBuyRules = new HashMap<>();
|
Map<String, List<Integer>> reBuyRules = new HashMap<>();
|
||||||
reBuyRules.put("医学超级", Arrays.asList(4, 5, 6, 9));
|
reBuyRules.put("医学超级", Arrays.asList(4, 5, 6, 9, 10));
|
||||||
reBuyRules.put("国学心理学超级", Arrays.asList(7, 8));
|
reBuyRules.put("国学心理学超级", Arrays.asList(7, 8));
|
||||||
reBuyRules.put("中医学", Arrays.asList(4));
|
reBuyRules.put("中医学", Arrays.asList(4));
|
||||||
reBuyRules.put("针灸学", Arrays.asList(5));
|
reBuyRules.put("针灸学", Arrays.asList(5));
|
||||||
@@ -71,6 +71,7 @@ public class StatisticsBusinessVipController {
|
|||||||
reBuyRules.put("国学", Arrays.asList(7));
|
reBuyRules.put("国学", Arrays.asList(7));
|
||||||
reBuyRules.put("心理学", Arrays.asList(8));
|
reBuyRules.put("心理学", Arrays.asList(8));
|
||||||
reBuyRules.put("中西汇通学", Arrays.asList(9));
|
reBuyRules.put("中西汇通学", Arrays.asList(9));
|
||||||
|
reBuyRules.put("妇幼生殖", Arrays.asList(10));
|
||||||
// 判断是否复购
|
// 判断是否复购
|
||||||
List<Integer> required = reBuyRules.get(vipType);
|
List<Integer> required = reBuyRules.get(vipType);
|
||||||
if (required != null && state1UserVips.containsAll(required)) {
|
if (required != null && state1UserVips.containsAll(required)) {
|
||||||
@@ -141,14 +142,17 @@ public class StatisticsBusinessVipController {
|
|||||||
row5.createCell(0).setCellValue("肿瘤学");row5.createCell(1).setCellValue(state1Counts.getOrDefault("肿瘤学", 0).toString());
|
row5.createCell(0).setCellValue("肿瘤学");row5.createCell(1).setCellValue(state1Counts.getOrDefault("肿瘤学", 0).toString());
|
||||||
row5.createCell(2).setCellValue("肿瘤学");row5.createCell(3).setCellValue(state0Counts.getOrDefault("肿瘤学", 0).toString());
|
row5.createCell(2).setCellValue("肿瘤学");row5.createCell(3).setCellValue(state0Counts.getOrDefault("肿瘤学", 0).toString());
|
||||||
Row row6 = sheet.createRow(rowNum++);
|
Row row6 = sheet.createRow(rowNum++);
|
||||||
row6.createCell(0).setCellValue("国学");row6.createCell(1).setCellValue(state1Counts.getOrDefault("国学",0).toString());
|
row6.createCell(0).setCellValue("妇幼生殖");row6.createCell(1).setCellValue(state1Counts.getOrDefault("妇幼生殖",0).toString());
|
||||||
row6.createCell(2).setCellValue("国学");row6.createCell(3).setCellValue(state0Counts.getOrDefault("国学", 0).toString());
|
row6.createCell(2).setCellValue("妇幼生殖");row6.createCell(3).setCellValue(state0Counts.getOrDefault("妇幼生殖", 0).toString());
|
||||||
Row row7 = sheet.createRow(rowNum++);
|
Row row7 = sheet.createRow(rowNum++);
|
||||||
row7.createCell(0).setCellValue("心理学");row7.createCell(1).setCellValue(state1Counts.getOrDefault("心理学", 0).toString());
|
row7.createCell(0).setCellValue("国学");row7.createCell(1).setCellValue(state1Counts.getOrDefault("国学",0).toString());
|
||||||
row7.createCell(2).setCellValue("心理学");row7.createCell(3).setCellValue(state0Counts.getOrDefault("心理学", 0).toString());
|
row7.createCell(2).setCellValue("国学");row7.createCell(3).setCellValue(state0Counts.getOrDefault("国学", 0).toString());
|
||||||
Row row8 = sheet.createRow(rowNum++);
|
Row row8 = sheet.createRow(rowNum++);
|
||||||
row8.createCell(0).setCellValue("中西汇通学");row8.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通学", 0).toString());
|
row8.createCell(0).setCellValue("心理学");row8.createCell(1).setCellValue(state1Counts.getOrDefault("心理学", 0).toString());
|
||||||
row8.createCell(2).setCellValue("中西汇通学");row8.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通学", 0).toString());
|
row8.createCell(2).setCellValue("心理学");row8.createCell(3).setCellValue(state0Counts.getOrDefault("心理学", 0).toString());
|
||||||
|
Row row9 = sheet.createRow(rowNum++);
|
||||||
|
row9.createCell(0).setCellValue("中西汇通学");row9.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通学", 0).toString());
|
||||||
|
row9.createCell(2).setCellValue("中西汇通学");row9.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通学", 0).toString());
|
||||||
|
|
||||||
sheet.createRow(rowNum++);
|
sheet.createRow(rowNum++);
|
||||||
String[] header = {"时间","姓名","电话","VIP类型","是否延期", "本次年限","本次金额","本次开始时间","本次结束时间","到期时间","是否复购"};
|
String[] header = {"时间","姓名","电话","VIP类型","是否延期", "本次年限","本次金额","本次开始时间","本次结束时间","到期时间","是否复购"};
|
||||||
@@ -316,14 +320,17 @@ public class StatisticsBusinessVipController {
|
|||||||
row5.createCell(0).setCellValue("肿瘤学");row5.createCell(1).setCellValue(state1Counts.getOrDefault("肿瘤学", 0).toString());
|
row5.createCell(0).setCellValue("肿瘤学");row5.createCell(1).setCellValue(state1Counts.getOrDefault("肿瘤学", 0).toString());
|
||||||
row5.createCell(2).setCellValue("肿瘤学");row5.createCell(3).setCellValue(state0Counts.getOrDefault("肿瘤学", 0).toString());
|
row5.createCell(2).setCellValue("肿瘤学");row5.createCell(3).setCellValue(state0Counts.getOrDefault("肿瘤学", 0).toString());
|
||||||
Row row6 = sheet.createRow(rowNum++);
|
Row row6 = sheet.createRow(rowNum++);
|
||||||
row6.createCell(0).setCellValue("国学");row6.createCell(1).setCellValue(state1Counts.getOrDefault("国学",0).toString());
|
row6.createCell(0).setCellValue("妇幼生殖");row6.createCell(1).setCellValue(state1Counts.getOrDefault("妇幼生殖",0).toString());
|
||||||
row6.createCell(2).setCellValue("国学");row6.createCell(3).setCellValue(state0Counts.getOrDefault("国学", 0).toString());
|
row6.createCell(2).setCellValue("妇幼生殖");row6.createCell(3).setCellValue(state0Counts.getOrDefault("妇幼生殖", 0).toString());
|
||||||
Row row7 = sheet.createRow(rowNum++);
|
Row row7 = sheet.createRow(rowNum++);
|
||||||
row7.createCell(0).setCellValue("心理学");row7.createCell(1).setCellValue(state1Counts.getOrDefault("心理学", 0).toString());
|
row7.createCell(0).setCellValue("国学");row7.createCell(1).setCellValue(state1Counts.getOrDefault("国学",0).toString());
|
||||||
row7.createCell(2).setCellValue("心理学");row7.createCell(3).setCellValue(state0Counts.getOrDefault("心理学", 0).toString());
|
row7.createCell(2).setCellValue("国学");row7.createCell(3).setCellValue(state0Counts.getOrDefault("国学", 0).toString());
|
||||||
Row row8 = sheet.createRow(rowNum++);
|
Row row8 = sheet.createRow(rowNum++);
|
||||||
row8.createCell(0).setCellValue("中西汇通学");row8.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通学", 0).toString());
|
row8.createCell(0).setCellValue("心理学");row8.createCell(1).setCellValue(state1Counts.getOrDefault("心理学", 0).toString());
|
||||||
row8.createCell(2).setCellValue("中西汇通学");row8.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通学", 0).toString());
|
row8.createCell(2).setCellValue("心理学");row8.createCell(3).setCellValue(state0Counts.getOrDefault("心理学", 0).toString());
|
||||||
|
Row row9 = sheet.createRow(rowNum++);
|
||||||
|
row9.createCell(0).setCellValue("中西汇通学");row9.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通学", 0).toString());
|
||||||
|
row9.createCell(2).setCellValue("中西汇通学");row9.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通学", 0).toString());
|
||||||
|
|
||||||
sheet.createRow(rowNum++);
|
sheet.createRow(rowNum++);
|
||||||
String[] header2 = {"","首次办理三年","首次办理四年","其他","延期一年", "延期三年","延期四年","其他"};
|
String[] header2 = {"","首次办理三年","首次办理四年","其他","延期一年", "延期三年","延期四年","其他"};
|
||||||
@@ -339,6 +346,7 @@ public class StatisticsBusinessVipController {
|
|||||||
fillRow(sheet.createRow(rowNum++), 0, "中医学", banCounts, yanCounts);
|
fillRow(sheet.createRow(rowNum++), 0, "中医学", banCounts, yanCounts);
|
||||||
fillRow(sheet.createRow(rowNum++), 0, "针灸学", banCounts, yanCounts);
|
fillRow(sheet.createRow(rowNum++), 0, "针灸学", banCounts, yanCounts);
|
||||||
fillRow(sheet.createRow(rowNum++), 0, "肿瘤学", banCounts, yanCounts);
|
fillRow(sheet.createRow(rowNum++), 0, "肿瘤学", banCounts, yanCounts);
|
||||||
|
fillRow(sheet.createRow(rowNum++), 0, "妇幼生殖", banCounts, yanCounts);
|
||||||
fillRow(sheet.createRow(rowNum++), 0, "国学", banCounts, yanCounts);
|
fillRow(sheet.createRow(rowNum++), 0, "国学", banCounts, yanCounts);
|
||||||
fillRow(sheet.createRow(rowNum++), 0, "心理学", banCounts, yanCounts);
|
fillRow(sheet.createRow(rowNum++), 0, "心理学", banCounts, yanCounts);
|
||||||
fillRow(sheet.createRow(rowNum++), 0, "中西汇通学", banCounts, yanCounts);
|
fillRow(sheet.createRow(rowNum++), 0, "中西汇通学", banCounts, yanCounts);
|
||||||
@@ -352,6 +360,7 @@ public class StatisticsBusinessVipController {
|
|||||||
sheet.createRow(rowNum++).createCell(0).setCellValue("中医学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("中医学",0).toString());
|
sheet.createRow(rowNum++).createCell(0).setCellValue("中医学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("中医学",0).toString());
|
||||||
sheet.createRow(rowNum++).createCell(0).setCellValue("针灸学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("针灸学",0).toString());
|
sheet.createRow(rowNum++).createCell(0).setCellValue("针灸学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("针灸学",0).toString());
|
||||||
sheet.createRow(rowNum++).createCell(0).setCellValue("肿瘤学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("肿瘤学",0).toString());
|
sheet.createRow(rowNum++).createCell(0).setCellValue("肿瘤学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("肿瘤学",0).toString());
|
||||||
|
sheet.createRow(rowNum++).createCell(0).setCellValue("妇幼生殖");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("妇幼生殖",0).toString());
|
||||||
sheet.createRow(rowNum++).createCell(0).setCellValue("国学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("国学",0).toString());
|
sheet.createRow(rowNum++).createCell(0).setCellValue("国学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("国学",0).toString());
|
||||||
sheet.createRow(rowNum++).createCell(0).setCellValue("心理学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("心理学",0).toString());
|
sheet.createRow(rowNum++).createCell(0).setCellValue("心理学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("心理学",0).toString());
|
||||||
sheet.createRow(rowNum++).createCell(0).setCellValue("中西汇通学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("中西汇通学",0).toString());
|
sheet.createRow(rowNum++).createCell(0).setCellValue("中西汇通学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("中西汇通学",0).toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user