新增中西汇通vip

This commit is contained in:
wuchunlei
2025-03-12 11:04:25 +08:00
parent a3e9f21256
commit 2f6abefc4a
4 changed files with 95 additions and 35 deletions

View File

@@ -55,8 +55,6 @@ public class UserVipController {
@Autowired
private JfTransactionDetailsService jfTransactionDetailsService;
@Autowired
private CourseService courseService;
@Autowired
private CourseCatalogueService courseCatalogueService;
@@ -65,13 +63,15 @@ public class UserVipController {
public R getUserVipType() {
List<Map<String,Object>> resList = new ArrayList();
List<UserVip> l4 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,4).orderByDesc(UserVip::getEndTime));
List<UserVip> l9 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,9).orderByDesc(UserVip::getEndTime));
List<UserVip> l5 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,5).orderByDesc(UserVip::getEndTime));
List<UserVip> l6 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,6).orderByDesc(UserVip::getEndTime));
if (l4.size()>0&&l5.size()>0&&l6.size()>0){
if (l4.size()>0&&l9.size()>0&&l5.size()>0&&l6.size()>0){
Date t4 = l4.get(0).getEndTime();
Date t9 = l9.get(0).getEndTime();
Date t5 = l5.get(0).getEndTime();
Date t6 = l6.get(0).getEndTime();
if (t4.getTime()==t5.getTime()&&t5.getTime()==t6.getTime()){
if (t4.getTime()==t9.getTime()&&t9.getTime()==t5.getTime()&&t5.getTime()==t6.getTime()){
Map map = new HashMap();
map.put("type",1);
map.put("endTime",t4);
@@ -82,6 +82,10 @@ public class UserVipController {
map4.put("type",4);
map4.put("endTime",t4);
tempList.add(map4);
Map map9 = new HashMap();
map9.put("type",9);
map9.put("endTime",t9);
tempList.add(map9);
Map map5 = new HashMap();
map5.put("type",5);
map5.put("endTime",t5);
@@ -112,6 +116,12 @@ public class UserVipController {
map.put("endTime",l5.get(0).getEndTime());
resList.add(map);
}
if (l9.size()>0){
Map map = new HashMap();
map.put("type",9);
map.put("endTime",l9.get(0).getEndTime());
resList.add(map);
}
if (l6.size()>0){
Map map = new HashMap();
map.put("type",6);
@@ -182,7 +192,10 @@ public class UserVipController {
ll.add(Arrays.asList(2));
}else {
ll.add(Arrays.asList(1));
ll.add(Arrays.asList(4,5,6));
ll.add(Arrays.asList(4));
ll.add(Arrays.asList(9));
ll.add(Arrays.asList(5));
ll.add(Arrays.asList(6));
ll.add(Arrays.asList(2));
ll.add(Arrays.asList(7,8));
}
@@ -208,26 +221,24 @@ public class UserVipController {
boolean flag = false;
if ("1".equals(map.get("type").toString())){
List<UserVip> uv4 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,4).orderByDesc(UserVip::getEndTime));
List<UserVip> uv9 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,9).orderByDesc(UserVip::getEndTime));
List<UserVip> uv5 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,5).orderByDesc(UserVip::getEndTime));
List<UserVip> uv6 = userVipService.list(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId,ShiroUtils.getUId()).eq(UserVip::getType,6).orderByDesc(UserVip::getEndTime));
if (uv4.size() > 0 && uv5.size() > 0 && uv6.size() > 0){//办理过
if (uv4.get(0).getState()==0&&uv5.get(0).getState()==0&&uv6.get(0).getState()==0){
if (uv4.size() > 0 && uv9.size() > 0 && uv5.size() > 0 && uv6.size() > 0){//办理过
if (uv4.get(0).getState()==0&&uv9.get(0).getState()==0&&uv5.get(0).getState()==0&&uv6.get(0).getState()==0){
long l4 = uv4.get(0).getEndTime().getTime();
long l9 = uv9.get(0).getEndTime().getTime();
long l5 = uv5.get(0).getEndTime().getTime();
long l6 = uv6.get(0).getEndTime().getTime();
if (l4<l5){
if (l4<l6){
map.put("tip",(l4-new Date().getTime())/60/60/24/1000);
}else {
map.put("tip",(l6-new Date().getTime())/60/60/24/1000);
}
}else {
if (l5<l6){
map.put("tip",(l5-new Date().getTime())/60/60/24/1000);
}else {
map.put("tip",(l6-new Date().getTime())/60/60/24/1000);
}
}
List<Long> tempList = new ArrayList();
tempList.add(l4);
tempList.add(l9);
tempList.add(l5);
tempList.add(l6);
tempList = tempList.stream().sorted((long1,long2)->{
return Long.compare(long1,long2);
}).collect(Collectors.toList());
map.put("tip",(tempList.get(0)-new Date().getTime())/60/60/24/1000);
map.put("state",0);
}else {
map.put("state",1);
@@ -286,6 +297,45 @@ public class UserVipController {
return R.ok().put("res", resList);
}
//vip配置列表
@RequestMapping("/vipBuyConfigList")
public R vipBuyConfigList() {
List<List> ll = new ArrayList<>();
ll.add(Arrays.asList(1));
ll.add(Arrays.asList(4));
ll.add(Arrays.asList(9));
ll.add(Arrays.asList(5));
ll.add(Arrays.asList(6));
ll.add(Arrays.asList(2));
ll.add(Arrays.asList(7,8));
List<Map<String,Object>> resList = new ArrayList<>();
for (List l : ll) {
LambdaQueryWrapper<VipBuyConfigEntity> wrapper = new LambdaQueryWrapper();
wrapper.select(VipBuyConfigEntity::getType,VipBuyConfigEntity::getTitle);
wrapper.and(r->r.eq(VipBuyConfigEntity::getDateType,0).or(f->f.eq(VipBuyConfigEntity::getDateType,1).lt(VipBuyConfigEntity::getStartTime,new Date()).gt(VipBuyConfigEntity::getEndTime,new Date())));
wrapper.in(VipBuyConfigEntity::getType,l);
wrapper.groupBy(VipBuyConfigEntity::getType);
List<Map<String,Object>> list = vipBuyConfigService.listMaps(wrapper);
for (Map<String,Object> map:list){
Map originalPriceAndCourseCount = getOriginalPriceAndCourseCount(map.get("type").toString());
map.put("originalPrice",originalPriceAndCourseCount.get("originalPrice"));//模块下课程一年原价
map.put("courseCount",originalPriceAndCourseCount.get("courseCount"));//模块下课程数量
map.put("vcbList",null);//vip商品列表
map.put("yanqiList",null);//延期商品列表
List<VipBuyConfigEntity> yanqiList = vipBuyConfigService.list(new LambdaQueryWrapper<VipBuyConfigEntity>()
.and(r->r.eq(VipBuyConfigEntity::getDateType,0).or(f->f.eq(VipBuyConfigEntity::getDateType,1).lt(VipBuyConfigEntity::getStartTime,new Date()).gt(VipBuyConfigEntity::getEndTime,new Date())))
.eq(VipBuyConfigEntity::getType,map.get("type")+"1"));
map.put("yanqiList",yanqiList);
List<VipBuyConfigEntity> vcbList = vipBuyConfigService.list(new LambdaQueryWrapper<VipBuyConfigEntity>()
.and(r->r.eq(VipBuyConfigEntity::getDateType,0).or(f->f.eq(VipBuyConfigEntity::getDateType,1).lt(VipBuyConfigEntity::getStartTime,new Date()).gt(VipBuyConfigEntity::getEndTime,new Date())))
.eq(VipBuyConfigEntity::getType,map.get("type")));
map.put("vcbList",vcbList);
}
resList.addAll(list);
}
return R.ok().put("res", resList);
}
//是否是这门课的vip
@RequestMapping("/ownCourseCatalogueByVip")
public R ownCourseCatalogueByVip(@RequestBody Map<String,Object> params) {
@@ -411,10 +461,11 @@ public class UserVipController {
Map map = new HashMap();
map.put("courseCount",0);
map.put("originalPrice",0);
if ("4".equals(type)||"5".equals(type)||"6".equals(type)){
if ("4".equals(type)||"9".equals(type)||"5".equals(type)||"6".equals(type)){
List list = new ArrayList<>();
if ("4".equals(type)){
userVipService.bottomLabel(1,list);
}else if ("9".equals(type)){
userVipService.bottomLabel(74,list);
}else if ("5".equals(type)){
userVipService.bottomLabel(2,list);