From 032b16aba55a8c138ad4eb961620e9a9b75bee51 Mon Sep 17 00:00:00 2001 From: wyn <1074145239@qq.com> Date: Thu, 14 May 2026 18:08:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A6=87=E5=B9=BC=E7=94=9F?= =?UTF-8?q?=E6=AE=96VIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/UserVipController.java | 21 ++++++++++- .../common/service/CourseMedicineService.java | 8 ++++ .../impl/CourseMedicineServiceImpl.java | 16 ++++++++ .../impl/TrainingClassServiceImpl.java | 2 + .../service/impl/UserVipServiceImpl.java | 4 +- .../controller/StatisticsController.java | 22 +---------- .../impl/UserCourseBuyServiceImpl.java | 28 ++++++++------ .../service/impl/CourseServiceImpl.java | 37 ++++++++++++++++++- 8 files changed, 101 insertions(+), 37 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/service/CourseMedicineService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/CourseMedicineServiceImpl.java diff --git a/src/main/java/com/peanut/modules/common/controller/UserVipController.java b/src/main/java/com/peanut/modules/common/controller/UserVipController.java index aecd046..3026301 100644 --- a/src/main/java/com/peanut/modules/common/controller/UserVipController.java +++ b/src/main/java/com/peanut/modules/common/controller/UserVipController.java @@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController; import jakarta.servlet.http.HttpServletRequest; import jakarta.transaction.Transactional; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -214,9 +215,9 @@ public class UserVipController { ll.add(Arrays.asList(9)); ll.add(Arrays.asList(5)); ll.add(Arrays.asList(6)); + ll.add(Arrays.asList(10)); ll.add(Arrays.asList(2)); ll.add(Arrays.asList(7,8)); - ll.add(Arrays.asList(10)); } List> resList = new ArrayList<>(); for (List l : ll) { @@ -325,6 +326,7 @@ public class UserVipController { ll.add(Arrays.asList(9)); ll.add(Arrays.asList(5)); ll.add(Arrays.asList(6)); + ll.add(Arrays.asList(10)); ll.add(Arrays.asList(2)); ll.add(Arrays.asList(7,8)); List> resList = new ArrayList<>(); @@ -359,7 +361,22 @@ public class UserVipController { @RequestMapping("/ownCourseCatalogueByVip") public R ownCourseCatalogueByVip(@RequestBody Map params) { UserVip userVip = userVipService.ownCourseCatalogueByVip(Integer.parseInt(params.get("courseId").toString())); - return R.ok().put("userVip", userVip); + Map userVipInfo = new HashMap<>(); + if(userVip!=null){ + userVipInfo.put("id",userVip.getId()); + userVipInfo.put("userId",userVip.getUserId()); + userVipInfo.put("type",userVip.getType()); + userVipInfo.put("startTime",userVip.getStartTime()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + userVipInfo.put("endTime",sdf.format(userVip.getEndTime())); + userVipInfo.put("state",userVip.getState()); + userVipInfo.put("delFlag",userVip.getDelFlag()); + userVipInfo.put("user",userVip.getUser()); + userVipInfo.put("userVipLogs",userVip.getUserVipLogs()); + }else{ + userVipInfo = null; + } + return R.ok().put("userVip", userVipInfo); } //当前课程属于什么会员 diff --git a/src/main/java/com/peanut/modules/common/service/CourseMedicineService.java b/src/main/java/com/peanut/modules/common/service/CourseMedicineService.java new file mode 100644 index 0000000..02ba9fd --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/CourseMedicineService.java @@ -0,0 +1,8 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseMedicine; +import com.peanut.modules.common.entity.CourseToMedicine; + +public interface CourseMedicineService extends IService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/CourseMedicineServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/CourseMedicineServiceImpl.java new file mode 100644 index 0000000..5dc81b5 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/CourseMedicineServiceImpl.java @@ -0,0 +1,16 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.CourseMedicineDao; +import com.peanut.modules.common.dao.CourseToMedicineDao; +import com.peanut.modules.common.entity.CourseMedicine; +import com.peanut.modules.common.entity.CourseToMedicine; +import com.peanut.modules.common.service.CourseMedicineService; +import com.peanut.modules.common.service.CourseToMedicineService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("commonCourseMedicineService") +public class CourseMedicineServiceImpl extends ServiceImpl implements CourseMedicineService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/TrainingClassServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/TrainingClassServiceImpl.java index feb33a2..73a6010 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/TrainingClassServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/TrainingClassServiceImpl.java @@ -55,6 +55,8 @@ public class TrainingClassServiceImpl extends ServiceImpl impleme @Override public boolean is4569SVip(int uid) { - if (isVipByType(4,uid)&&isVipByType(9,uid)&&isVipByType(5,uid)&&isVipByType(6,uid)){ + if (isVipByType(4,uid)&&isVipByType(9,uid)&&isVipByType(5,uid)&&isVipByType(6,uid)&&isVipByType(10,uid)){ return true; } return false; @@ -139,6 +139,7 @@ public class UserVipServiceImpl extends ServiceImpl impleme List userVipList = userVipDao.selectList(new LambdaQueryWrapper() .eq(UserVip::getUserId, u==null?ShiroUtils.getUId():u.getId()) .eq(UserVip::getState,0)); + for (UserVip userVip : userVipList) { if (userVip.getType()==4||userVip.getType()==9||userVip.getType()==5||userVip.getType()==6||userVip.getType()==10) { List list = courseToMedicalDao.selectList(new LambdaQueryWrapper() @@ -151,6 +152,7 @@ public class UserVipServiceImpl extends ServiceImpl impleme (cm.getId()==2&&userVip.getType()==5)||//针灸学 (cm.getId()==109&&userVip.getType()==10)||//妇幼生殖 (cm.getId()==5&&userVip.getType()==6)){//肿瘤学 + return userVip; } } diff --git a/src/main/java/com/peanut/modules/master/controller/StatisticsController.java b/src/main/java/com/peanut/modules/master/controller/StatisticsController.java index 7072f78..8403d2e 100644 --- a/src/main/java/com/peanut/modules/master/controller/StatisticsController.java +++ b/src/main/java/com/peanut/modules/master/controller/StatisticsController.java @@ -19,8 +19,6 @@ import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.net.URLEncoder; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.*; /** @@ -602,17 +600,7 @@ public class StatisticsController { //导出vip记录明细 @RequestMapping("/exportUserVipLogInfo") public void exportUserVipLogInfo(HttpServletResponse response, @RequestBody Map params){ - String dateStr = params.get("date").toString(); - List> maps = userVipLogService.getUserVipLogInfo(dateStr); - - /* DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - LocalDate date = LocalDate.parse(params.get("date").toString(), fmt); - String date_last_date = date.minusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM")); - - List> refundMaps = userVipLogService.getUserVipRefundInfo(date_last_date,dateStr);*/ - - - + List> maps = userVipLogService.getUserVipLogInfo(params.get("date").toString()); XSSFWorkbook wb = new XSSFWorkbook(); //创建一张表 Sheet sheet = wb.createSheet("vip记录明细"); @@ -638,14 +626,6 @@ public class StatisticsController { titleRow.createCell(17).setCellValue("已摊销金额"); titleRow.createCell(18).setCellValue("当月摊销金额"); titleRow.createCell(19).setCellValue("剩余摊销金额"); -// for (Map map:refundMaps){ -// Map newMap = new HashMap<>(); -// newMap.put("name",map.get("name").toString()); -// newMap.put("tel",map.get("tel").toString()); -// newMap.put("type",map.get("type").toString()); -// -// } - //序号,默认为1 int cell = 1; //遍历 diff --git a/src/main/java/com/peanut/modules/master/service/impl/UserCourseBuyServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/UserCourseBuyServiceImpl.java index 29d196b..0b054d0 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/UserCourseBuyServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/UserCourseBuyServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; +import java.math.BigInteger; import java.net.URL; import java.net.URLConnection; import java.util.*; @@ -221,18 +222,21 @@ public class UserCourseBuyServiceImpl extends ServiceImpl().select(MyUserEntity::getId,MyUserEntity::getName,MyUserEntity::getTel).eq(MyUserEntity::getTel, phone)); - if(myUserEntity!=null){ - has.add(myUserEntity); - }else{ - HashMap stringStringHashMap = new HashMap<>(); - stringStringHashMap.put("name",row.getCell(0)==null?"":row.getCell(0).toString()); - stringStringHashMap.put("phone",phone); - nohas.add(stringStringHashMap); - } -// } + String phone = cell.toString().trim(); + if(cellTypeEnum==CellType.NUMERIC){ + BigInteger bigInteger = BigInteger.valueOf((long) cell.getNumericCellValue()); + phone = bigInteger.toString(); + } + + MyUserEntity myUserEntity = userDao.selectOne(new LambdaQueryWrapper().select(MyUserEntity::getId,MyUserEntity::getName,MyUserEntity::getTel).eq(MyUserEntity::getTel, phone)); + if(myUserEntity!=null){ + has.add(myUserEntity); + }else{ + HashMap stringStringHashMap = new HashMap<>(); + stringStringHashMap.put("name",row.getCell(0)==null?"":row.getCell(0).toString()); + stringStringHashMap.put("phone",phone); + nohas.add(stringStringHashMap); + } } stringArrayListMap.put("has",has); stringArrayListMap.put("no",nohas); diff --git a/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java index 4a737a7..7e6ea5f 100644 --- a/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/sociology/service/impl/CourseServiceImpl.java @@ -1,6 +1,7 @@ package com.peanut.modules.sociology.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -10,9 +11,12 @@ import com.peanut.common.utils.ShiroUtils; import com.peanut.modules.book.service.ShopProductService; import com.peanut.modules.common.dao.*; import com.peanut.modules.common.entity.*; +import com.peanut.modules.common.service.CourseMedicineService; +import com.peanut.modules.common.service.CourseToMedicineService; import com.peanut.modules.common.service.MyUserService; import com.peanut.modules.common.service.UserVipService; import com.peanut.modules.common.to.ParamTo; +import com.peanut.modules.master.service.CourseMedicalService; import com.peanut.modules.sociology.service.CourseService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -52,6 +56,10 @@ public class CourseServiceImpl extends ServiceImpl impl private UserVipDao userVipDao; @Autowired private UserCourseBuyLogDao userCourseBuyLogDao; + @Autowired + private CourseToMedicineService courseToMedicineService; + @Autowired + private CourseMedicineService courseMedicineService; //根据标签获取课程列表 @@ -117,7 +125,14 @@ public class CourseServiceImpl extends ServiceImpl impl Page courseEntityPage = this.getBaseMapper().selectJoinPage(new Page<>(param.getPage(), param.getLimit()), CourseEntity.class, wrapper); return courseEntityPage; } - + public CourseMedicine getCourseMedicinePid(int medicineId){ + CourseMedicine courseMedicine = courseMedicineService.getById(medicineId); + if(courseMedicine.getPid()==0){ + return courseMedicine; + }else{ + return getCourseMedicinePid(courseMedicine.getPid()); + } + } @Override public Map getCourseDetail(Integer id) { Map flag = new HashMap<>(); @@ -163,6 +178,26 @@ public class CourseServiceImpl extends ServiceImpl impl } } } + QueryWrapper courseToMedicineWrapper = new QueryWrapper(); + courseToMedicineWrapper.eq("course_id",course.getId()); + List courseToMedicineList = courseToMedicineService.list(courseToMedicineWrapper); + String content = course.getContent(); + List medicinePids = new ArrayList<>(); + for (CourseToMedicine courseToMedicine:courseToMedicineList){ + CourseMedicine courseMedicine = getCourseMedicinePid(courseToMedicine.getMedicalId()); + if(medicinePids.contains(courseMedicine.getId())){ + continue; + } + if(courseMedicine!=null && courseMedicine.getId()==1){ + content = content+""; + }else if(courseMedicine!=null && courseMedicine.getId()==74){ + content = content+""; + } + if(courseMedicine!=null){ + medicinePids.add(courseMedicine.getId()); + } + } + course.setContent(content); flag.put("course",course); //课程关联商品 if (StringUtils.isNotEmpty(course.getRelationProductIds())){