批量开课
This commit is contained in:
14
src/main/java/com/peanut/modules/common/to/AddCourses.java
Normal file
14
src/main/java/com/peanut/modules/common/to/AddCourses.java
Normal file
@@ -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<MyUserEntity> list;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -85,6 +85,12 @@ CourseController {
|
|||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/searchCourse")
|
||||||
|
public R searchCourse(@RequestBody ParamTo param){
|
||||||
|
List<CourseEntity> courseEntities = courseService.searchCourse(param.getKeywords());
|
||||||
|
return R.ok().put("List",courseEntities);
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/cossVod")
|
@RequestMapping("/cossVod")
|
||||||
public R cossVod(@RequestBody Map<String,Integer> map) throws Exception {
|
public R cossVod(@RequestBody Map<String,Integer> map) throws Exception {
|
||||||
int p = map.get("page");
|
int p = map.get("page");
|
||||||
|
|||||||
@@ -9,17 +9,26 @@ import com.peanut.modules.common.entity.CourseCatalogueEntity;
|
|||||||
import com.peanut.modules.common.entity.CourseEntity;
|
import com.peanut.modules.common.entity.CourseEntity;
|
||||||
import com.peanut.modules.common.entity.MyUserEntity;
|
import com.peanut.modules.common.entity.MyUserEntity;
|
||||||
import com.peanut.modules.common.entity.UserCourseBuyEntity;
|
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.CourseCatalogueService;
|
||||||
import com.peanut.modules.master.service.UserCourseBuyService;
|
import com.peanut.modules.master.service.UserCourseBuyService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
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.Date;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -110,6 +119,27 @@ public class UserCourseBuyController {
|
|||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/readExcelForAddCourse")
|
||||||
|
public R readExcelForAddCourse(@RequestBody Map<String,String> params){
|
||||||
|
String filePath = params.get("file");
|
||||||
|
Map<String, ArrayList> stringArrayListMap = userCourseBuyService.readExcelForAddCourse(filePath);
|
||||||
|
return R.ok().put("result",stringArrayListMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/AddCourses")
|
||||||
|
public R AddCourses(@RequestBody AddCourses addCourses){
|
||||||
|
Map<String, ArrayList<AddCoursesFrag>> stringArrayListMap = userCourseBuyService.addCourses(addCourses);
|
||||||
|
return R.ok().put("result",stringArrayListMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void searchUser(String phone){
|
||||||
|
userCourseBuyService.addCourseForUser(phone);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/expireUserCourseBuy")
|
@RequestMapping("/expireUserCourseBuy")
|
||||||
@Transactional
|
@Transactional
|
||||||
public R expireUserCourseBuy(@RequestBody Map<String, Object> params) {
|
public R expireUserCourseBuy(@RequestBody Map<String, Object> params) {
|
||||||
|
|||||||
@@ -40,4 +40,6 @@ public interface CourseService extends IService<CourseEntity> {
|
|||||||
List<CourseCatalogueEntity> catalogueListByCourse(Map<String, Object> params);
|
List<CourseCatalogueEntity> catalogueListByCourse(Map<String, Object> params);
|
||||||
|
|
||||||
Page<Map<String,Object>> getUserCourseList(Map<String, Object> params);
|
Page<Map<String,Object>> getUserCourseList(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<CourseEntity> searchCourse(String keywords);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,21 @@ package com.peanut.modules.master.service;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.peanut.modules.common.entity.BuyOrder;
|
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.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<UserCourseBuyEntity> {
|
public interface UserCourseBuyService extends IService<UserCourseBuyEntity> {
|
||||||
|
|
||||||
void addUserCourseBuyRelearn(BuyOrder buyOrder,String come);
|
void addUserCourseBuyRelearn(BuyOrder buyOrder,String come);
|
||||||
|
|
||||||
|
void addCourseForUser(String phone);
|
||||||
|
|
||||||
|
Map<String , ArrayList> readExcelForAddCourse(String file);
|
||||||
|
|
||||||
|
Map<String, ArrayList<AddCoursesFrag>> addCourses(AddCourses addCourses);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -360,6 +360,14 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, CourseEntity> impl
|
|||||||
return pageRes;
|
return pageRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CourseEntity> searchCourse(String keywords) {
|
||||||
|
LambdaQueryWrapper<CourseEntity> courseEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
courseEntityLambdaQueryWrapper.like(CourseEntity::getTitle,keywords);
|
||||||
|
List<CourseEntity> courseEntities = this.baseMapper.selectList(courseEntityLambdaQueryWrapper);
|
||||||
|
return courseEntities;
|
||||||
|
}
|
||||||
|
|
||||||
private CourseMedicine getPCourseMedicine(CourseMedicine m){
|
private CourseMedicine getPCourseMedicine(CourseMedicine m){
|
||||||
if (m.getPid()!=0){
|
if (m.getPid()!=0){
|
||||||
CourseMedicine pm = medicalDao.selectById(m.getPid());
|
CourseMedicine pm = medicalDao.selectById(m.getPid());
|
||||||
|
|||||||
@@ -2,22 +2,39 @@ package com.peanut.modules.master.service.impl;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.ShopProductCourseDao;
|
||||||
import com.peanut.modules.common.dao.UserCourseBuyDao;
|
import com.peanut.modules.common.dao.UserCourseBuyDao;
|
||||||
import com.peanut.modules.common.entity.BuyOrder;
|
import com.peanut.modules.common.entity.*;
|
||||||
import com.peanut.modules.common.entity.ShopProductCourseEntity;
|
import com.peanut.modules.common.to.AddCourses;
|
||||||
import com.peanut.modules.common.entity.UserCourseBuyEntity;
|
import com.peanut.modules.common.vo.AddCoursesFrag;
|
||||||
import com.peanut.modules.master.service.UserCourseBuyService;
|
import com.peanut.modules.master.service.UserCourseBuyService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
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
|
@Slf4j
|
||||||
@Service("masterUserCourseBuyService")
|
@Service("masterUserCourseBuyService")
|
||||||
public class UserCourseBuyServiceImpl extends ServiceImpl<UserCourseBuyDao, UserCourseBuyEntity> implements UserCourseBuyService {
|
public class UserCourseBuyServiceImpl extends ServiceImpl<UserCourseBuyDao, UserCourseBuyEntity> implements UserCourseBuyService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public ShopProductCourseDao shopProductCourseDao;
|
public ShopProductCourseDao shopProductCourseDao;
|
||||||
|
@Autowired
|
||||||
|
public MyUserDao userDao;
|
||||||
|
@Autowired
|
||||||
|
public CourseCatalogueDao courseCatalogueDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addUserCourseBuyRelearn(BuyOrder buyOrder,String come) {
|
public void addUserCourseBuyRelearn(BuyOrder buyOrder,String come) {
|
||||||
@@ -36,4 +53,118 @@ public class UserCourseBuyServiceImpl extends ServiceImpl<UserCourseBuyDao, User
|
|||||||
userCourseBuyEntity.setCome("复读-"+come);
|
userCourseBuyEntity.setCome("复读-"+come);
|
||||||
this.baseMapper.insert(userCourseBuyEntity);
|
this.baseMapper.insert(userCourseBuyEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addCourseForUser(String phone) {
|
||||||
|
MyUserEntity myUserEntity = userDao.selectOne(new LambdaQueryWrapper<MyUserEntity>().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<String, ArrayList<AddCoursesFrag>> addCourses(AddCourses addCourses) {
|
||||||
|
HashMap<String, ArrayList<AddCoursesFrag>> frag = new HashMap<>();
|
||||||
|
ArrayList<AddCoursesFrag> falseList = new ArrayList<>();
|
||||||
|
ArrayList<AddCoursesFrag> 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<UserCourseBuyEntity>()
|
||||||
|
.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<String, ArrayList> readExcelForAddCourse(String file) {
|
||||||
|
Map<String, ArrayList> stringArrayListMap = new HashMap<>();
|
||||||
|
ArrayList<MyUserEntity> has = new ArrayList<>();
|
||||||
|
ArrayList<Map<String, String>> 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<Row> 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<MyUserEntity>().eq(MyUserEntity::getTel, phone));
|
||||||
|
if(myUserEntity!=null){
|
||||||
|
has.add(myUserEntity);
|
||||||
|
}else{
|
||||||
|
HashMap<String, String> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user