diff --git a/src/main/java/com/peanut/modules/common/to/AddCourses.java b/src/main/java/com/peanut/modules/common/to/AddCourses.java new file mode 100644 index 00000000..38601bb3 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/to/AddCourses.java @@ -0,0 +1,14 @@ +package com.peanut.modules.common.to; + +import com.peanut.modules.common.entity.MyUserEntity; +import lombok.Data; + +import java.util.ArrayList; + +@Data +public class AddCourses { + + private String catalogueId; + private Integer days; + private ArrayList list; +} diff --git a/src/main/java/com/peanut/modules/common/vo/AddCoursesFrag.java b/src/main/java/com/peanut/modules/common/vo/AddCoursesFrag.java new file mode 100644 index 00000000..0db93509 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/AddCoursesFrag.java @@ -0,0 +1,19 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +@Data +public class AddCoursesFrag { + + private Integer userId; + + private String name; + + private Integer courseId; + + private Integer catalogueId; + + private String tel; + + private boolean frag; +} diff --git a/src/main/java/com/peanut/modules/master/controller/CourseController.java b/src/main/java/com/peanut/modules/master/controller/CourseController.java index 31ce8f4e..ec355fe3 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseController.java @@ -85,6 +85,12 @@ CourseController { return R.ok(); } + @RequestMapping("/searchCourse") + public R searchCourse(@RequestBody ParamTo param){ + List courseEntities = courseService.searchCourse(param.getKeywords()); + return R.ok().put("List",courseEntities); + } + @RequestMapping("/cossVod") public R cossVod(@RequestBody Map map) throws Exception { int p = map.get("page"); diff --git a/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java b/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java index f514535d..4470f7ae 100644 --- a/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java +++ b/src/main/java/com/peanut/modules/master/controller/UserCourseBuyController.java @@ -9,17 +9,26 @@ import com.peanut.modules.common.entity.CourseCatalogueEntity; import com.peanut.modules.common.entity.CourseEntity; import com.peanut.modules.common.entity.MyUserEntity; import com.peanut.modules.common.entity.UserCourseBuyEntity; +import com.peanut.modules.common.to.AddCourses; +import com.peanut.modules.common.vo.AddCoursesFrag; import com.peanut.modules.master.service.CourseCatalogueService; import com.peanut.modules.master.service.UserCourseBuyService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.io.*; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.Map; /** @@ -110,6 +119,27 @@ public class UserCourseBuyController { return R.ok(); } + @RequestMapping("/readExcelForAddCourse") + public R readExcelForAddCourse(@RequestBody Map params){ + String filePath = params.get("file"); + Map stringArrayListMap = userCourseBuyService.readExcelForAddCourse(filePath); + return R.ok().put("result",stringArrayListMap); + } + + @RequestMapping("/AddCourses") + public R AddCourses(@RequestBody AddCourses addCourses){ + Map> stringArrayListMap = userCourseBuyService.addCourses(addCourses); + return R.ok().put("result",stringArrayListMap); + } + + + private void searchUser(String phone){ + userCourseBuyService.addCourseForUser(phone); + } + + + + @RequestMapping("/expireUserCourseBuy") @Transactional public R expireUserCourseBuy(@RequestBody Map params) { diff --git a/src/main/java/com/peanut/modules/master/service/CourseService.java b/src/main/java/com/peanut/modules/master/service/CourseService.java index dd5c4894..cd57bae1 100644 --- a/src/main/java/com/peanut/modules/master/service/CourseService.java +++ b/src/main/java/com/peanut/modules/master/service/CourseService.java @@ -40,4 +40,6 @@ public interface CourseService extends IService { List catalogueListByCourse(Map params); Page> getUserCourseList(Map params); + + List searchCourse(String keywords); } diff --git a/src/main/java/com/peanut/modules/master/service/UserCourseBuyService.java b/src/main/java/com/peanut/modules/master/service/UserCourseBuyService.java index ba93f7a8..0522f9ba 100644 --- a/src/main/java/com/peanut/modules/master/service/UserCourseBuyService.java +++ b/src/main/java/com/peanut/modules/master/service/UserCourseBuyService.java @@ -2,10 +2,21 @@ package com.peanut.modules.master.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.modules.common.entity.BuyOrder; +import com.peanut.modules.common.entity.MyUserEntity; import com.peanut.modules.common.entity.UserCourseBuyEntity; +import com.peanut.modules.common.to.AddCourses; +import com.peanut.modules.common.vo.AddCoursesFrag; + +import java.util.ArrayList; +import java.util.Map; public interface UserCourseBuyService extends IService { void addUserCourseBuyRelearn(BuyOrder buyOrder,String come); + void addCourseForUser(String phone); + + Map readExcelForAddCourse(String file); + + Map> addCourses(AddCourses addCourses); } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java index db3c3c20..dca8ba06 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java @@ -360,6 +360,14 @@ public class CourseServiceImpl extends ServiceImpl impl return pageRes; } + @Override + public List searchCourse(String keywords) { + LambdaQueryWrapper courseEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + courseEntityLambdaQueryWrapper.like(CourseEntity::getTitle,keywords); + List courseEntities = this.baseMapper.selectList(courseEntityLambdaQueryWrapper); + return courseEntities; + } + private CourseMedicine getPCourseMedicine(CourseMedicine m){ if (m.getPid()!=0){ CourseMedicine pm = medicalDao.selectById(m.getPid()); 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 9e96faeb..8ee2a2c8 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 @@ -2,22 +2,39 @@ package com.peanut.modules.master.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.CourseCatalogueDao; +import com.peanut.modules.common.dao.MyUserDao; import com.peanut.modules.common.dao.ShopProductCourseDao; import com.peanut.modules.common.dao.UserCourseBuyDao; -import com.peanut.modules.common.entity.BuyOrder; -import com.peanut.modules.common.entity.ShopProductCourseEntity; -import com.peanut.modules.common.entity.UserCourseBuyEntity; +import com.peanut.modules.common.entity.*; +import com.peanut.modules.common.to.AddCourses; +import com.peanut.modules.common.vo.AddCoursesFrag; import com.peanut.modules.master.service.UserCourseBuyService; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + @Slf4j @Service("masterUserCourseBuyService") public class UserCourseBuyServiceImpl extends ServiceImpl implements UserCourseBuyService { @Autowired public ShopProductCourseDao shopProductCourseDao; + @Autowired + public MyUserDao userDao; + @Autowired + public CourseCatalogueDao courseCatalogueDao; @Override public void addUserCourseBuyRelearn(BuyOrder buyOrder,String come) { @@ -36,4 +53,118 @@ public class UserCourseBuyServiceImpl extends ServiceImpl().eq(MyUserEntity::getTel, phone)); +// if(myUserEntity!=null){ +// System.out.println(myUserEntity.getName()); +// UserCourseBuyEntity userCourseBuyEntity = new UserCourseBuyEntity(); +// userCourseBuyEntity.setUserId(myUserEntity.getId()); +// userCourseBuyEntity.setCourseId(222); +// userCourseBuyEntity.setCatalogueId(295); +// userCourseBuyEntity.setDays(183); +// this.baseMapper.insert(userCourseBuyEntity); +// +// UserCourseBuyEntity userCourseBuyEntity1 = new UserCourseBuyEntity(); +// userCourseBuyEntity1.setUserId(myUserEntity.getId()); +// userCourseBuyEntity1.setCourseId(222); +// userCourseBuyEntity1.setCatalogueId(296); +// userCourseBuyEntity1.setDays(183); +// this.baseMapper.insert(userCourseBuyEntity1); +// }else { +// System.out.println("未找到:"+phone); +// } + + } + + + @Override + public Map> addCourses(AddCourses addCourses) { + HashMap> frag = new HashMap<>(); + ArrayList falseList = new ArrayList<>(); + ArrayList successList = new ArrayList<>(); + String[] cata = (addCourses.getCatalogueId()).split(","); + CourseCatalogueEntity courseCatalogueEntity = courseCatalogueDao.selectById(cata[0]); + for (MyUserEntity m : addCourses.getList()){ + for (String s : cata) { + int check = this.getBaseMapper().selectCount(new LambdaQueryWrapper() + .eq(UserCourseBuyEntity::getCatalogueId, s) + .eq(UserCourseBuyEntity::getUserId, m.getId())); + if (check > 0) { + AddCoursesFrag addCoursesFrag = new AddCoursesFrag(); + addCoursesFrag.setUserId(m.getId()); + addCoursesFrag.setCatalogueId(Integer.valueOf(s)); + addCoursesFrag.setName(m.getName()); + addCoursesFrag.setCourseId(courseCatalogueEntity.getCourseId()); + addCoursesFrag.setFrag(false); + addCoursesFrag.setTel(m.getTel()); + falseList.add(addCoursesFrag); + } else { + UserCourseBuyEntity userCourseBuyEntity = new UserCourseBuyEntity(); + userCourseBuyEntity.setCourseId(courseCatalogueEntity.getCourseId()); + userCourseBuyEntity.setCatalogueId(Integer.valueOf(s)); + userCourseBuyEntity.setDays(addCourses.getDays()); + userCourseBuyEntity.setUserId(m.getId()); + this.getBaseMapper().insert(userCourseBuyEntity); + + AddCoursesFrag addCoursesFrag = new AddCoursesFrag(); + addCoursesFrag.setUserId(m.getId()); + addCoursesFrag.setCatalogueId(Integer.valueOf(s)); + addCoursesFrag.setName(m.getName()); + addCoursesFrag.setCourseId(courseCatalogueEntity.getCourseId()); + addCoursesFrag.setFrag(true); + addCoursesFrag.setTel(m.getTel()); + successList.add(addCoursesFrag); + } + } + } + frag.put("successList",successList); + frag.put("failList",falseList); + return frag; + } + + @Override + public Map readExcelForAddCourse(String file) { + Map stringArrayListMap = new HashMap<>(); + ArrayList has = new ArrayList<>(); + ArrayList> nohas = new ArrayList<>(); + try { + URL url = new URL(file); + URLConnection connection = url.openConnection(); + InputStream inputStream = connection.getInputStream(); + + // 创建工作簿(Workbook) + Workbook workbook = new XSSFWorkbook(inputStream); + + // 获取工作表(Sheet) + Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 + + // 获取行的迭代器 + Iterator rowIterator = sheet.iterator(); + + while (rowIterator.hasNext()) { + Row row = rowIterator.next(); + Cell cell = row.getCell(1); + CellType cellTypeEnum = cell.getCellTypeEnum(); + if(cellTypeEnum==CellType.NUMERIC){ + String phone = String.format("%.0f", cell.getNumericCellValue()); + MyUserEntity myUserEntity = userDao.selectOne(new LambdaQueryWrapper().eq(MyUserEntity::getTel, phone)); + if(myUserEntity!=null){ + has.add(myUserEntity); + }else{ + HashMap stringStringHashMap = new HashMap<>(); + stringStringHashMap.put("name",row.getCell(0).toString()); + stringStringHashMap.put("phone",phone); + nohas.add(stringStringHashMap); + } + } + } + stringArrayListMap.put("has",has); + stringArrayListMap.put("no",nohas); + } catch (IOException e) { + e.printStackTrace(); + } + return stringArrayListMap; + } }