package cn.xluobo.business.tool.impt.listener;
import cn.xluobo.business.sc.base.domain.req.ReqSchoolSelect;
import cn.xluobo.business.sc.base.domain.resp.RespSchoolSelect;
import cn.xluobo.business.sc.base.repo.model.ScSchool;
import cn.xluobo.business.sc.base.service.IScSchoolService;
import cn.xluobo.business.sc.course.domain.export.ExpCourse;
import cn.xluobo.business.sc.course.domain.req.ReqCourseClaSelect;
import cn.xluobo.business.sc.course.domain.req.ReqSearchScCourse;
import cn.xluobo.business.sc.course.domain.resp.RespCourseClaSelectInfo;
import cn.xluobo.business.sc.course.enums.ChargeDateUnitEnum;
import cn.xluobo.business.sc.course.enums.CourseChargeTypeEnum;
import cn.xluobo.business.sc.course.repo.mapper.ScCourseClaMapper;
import cn.xluobo.business.sc.course.repo.mapper.ScCourseMapper;
import cn.xluobo.business.sc.course.repo.model.ScCourseCharge;
import cn.xluobo.business.sc.course.service.IScCourseChargeService;
import cn.xluobo.business.sc.log.enums.LogTypeEnum;
import cn.xluobo.business.sc.log.repo.model.ScStudentCourseLog;
import cn.xluobo.business.sc.log.service.IScStudentCourseLogService;
import cn.xluobo.business.sc.order.enums.OrderStatusEnum;
import cn.xluobo.business.sc.order.repo.model.ScOrder;
import cn.xluobo.business.sc.order.repo.model.ScOrderAccount;
import cn.xluobo.business.sc.order.repo.model.ScOrderDetail;
import cn.xluobo.business.sc.order.service.IScOrderAccountService;
import cn.xluobo.business.sc.order.service.IScOrderDetailService;
import cn.xluobo.business.sc.order.service.IScOrderService;
import cn.xluobo.business.sc.student.repo.model.ScStudent;
import cn.xluobo.business.sc.student.repo.model.ScStudentContact;
import cn.xluobo.business.sc.student.repo.model.ScStudentCourse;
import cn.xluobo.business.sc.student.repo.model.ScStudentCourseOrder;
import cn.xluobo.business.sc.student.service.IScStudentContactService;
import cn.xluobo.business.sc.student.service.IScStudentCourseOrderService;
import cn.xluobo.business.sc.student.service.IScStudentCourseService;
import cn.xluobo.business.sc.student.service.IScStudentService;
import cn.xluobo.business.sys.admin.domain.resp.RespTreeSelect;
import cn.xluobo.business.sys.admin.repo.model.SysDictData;
import cn.xluobo.business.sys.admin.service.BusinessSysDeptService;
import cn.xluobo.business.sys.admin.service.BusinessSysDictDataService;
import cn.xluobo.business.sys.receipt.repo.model.SysReceiptAccount;
import cn.xluobo.business.sys.receipt.service.ISysReceiptAccountService;
import cn.xluobo.business.sys.staff.repo.model.SysStaff;
import cn.xluobo.business.sys.staff.service.ISysStaffService;
import cn.xluobo.business.tool.impt.domain.ImportStudentOrder;
import cn.xluobo.config.exception.BusinessException;
import cn.xluobo.config.login.LoginUser;
import cn.xluobo.core.api.APIBaseResponse;
import cn.xluobo.core.page.RespPage;
import cn.xluobo.core.utils.DateUtil;
import cn.xluobo.utils.ContextUtils;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.assertj.core.util.Lists;
import org.joda.time.DateTime;
import org.joda.time.Period;
import org.joda.time.PeriodType;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author :zhangbaoyu
* @date :Created in 2020/10/12 17:12
*/
@Slf4j
@Data
public class ImportStudentOrderListener extends AnalysisEventListener<ImportStudentOrder> {
private IScStudentService studentService;
private IScOrderService orderService;
private IScOrderDetailService orderDetailService;
private IScSchoolService schoolService;
private IScStudentContactService studentContactService;
private IScStudentCourseService studentCourseService;
private IScStudentCourseOrderService courseOrderService;
private IScOrderAccountService orderAccountService;
private BusinessSysDictDataService dictDataService;
private BusinessSysDeptService deptService;
private ScCourseMapper courseMapper;
private ScCourseClaMapper claMapper;
private ISysReceiptAccountService receiptAccountService;
private ISysStaffService staffService;
private IScCourseChargeService courseChargeService;
private IScStudentCourseLogService scStudentCourseLogService;
/**
* 是否需要保存
*/
private Boolean needSave;
// key=value value=contactRelationId
private Map<String, String> contactRelationMap = Maps.newHashMap();
// key=value value=sexId
private Map<String, String> sexMap = Maps.newHashMap();
// key=schoolName value=schoolId
private Map<String, Long> schoolMap = Maps.newHashMap();
// key=detailTagName value=detailTagId
private Map<String, String> orderDetailTagMap = Maps.newHashMap();
// key=deptName value=deptId
private Map<String, String> campusMap = Maps.newHashMap();
// key=courseChargeName value=chargeId
private Map<String, Long> courseChargeMap = Maps.newHashMap();
private Map<String, RespCourseClaSelectInfo> claMap = Maps.newHashMap();
// key=courseId value=value
private Map<Long, String> courseMap = Maps.newHashMap();
// key=name value=receiptAccountId
private Map<String, Long> receiptAccountMap = Maps.newHashMap();
// key=staffName value=staffId
private Map<String, Long> staffMap = Maps.newHashMap();
private Map<Long, ScCourseCharge> chargeCacheMap = Maps.newHashMap();
// key=studentName value=studentId
private Map<String, Long> studentMap = Maps.newHashMap();
private boolean hadMoreStudent;
// 登录用户id
private String loginUserId = "";
private LoginUser loginUser;
// 导入id
private Long importId;
// 需保存的successRecordList
private List<ImportStudentOrder> successRecordList = Lists.newArrayList();
// 校验失败的列表
private List<ImportStudentOrder> failRecordList = Lists.newArrayList();
/**
* 最多读取多少行
*/
int maxRecord = 200;
/**
* 当前已读取
*/
int hadReadRecord = 0;
public ImportStudentOrderListener() {
studentService = ContextUtils.getBean(IScStudentService.class);
orderService = ContextUtils.getBean(IScOrderService.class);
orderDetailService = ContextUtils.getBean(IScOrderDetailService.class);
schoolService = ContextUtils.getBean(IScSchoolService.class);
studentContactService = ContextUtils.getBean(IScStudentContactService.class);
studentCourseService = ContextUtils.getBean(IScStudentCourseService.class);
courseOrderService = ContextUtils.getBean(IScStudentCourseOrderService.class);
orderAccountService = ContextUtils.getBean(IScOrderAccountService.class);
dictDataService = ContextUtils.getBean(BusinessSysDictDataService.class);
deptService = ContextUtils.getBean(BusinessSysDeptService.class);
courseMapper = ContextUtils.getBean(ScCourseMapper.class);
claMapper = ContextUtils.getBean(ScCourseClaMapper.class);
receiptAccountService = ContextUtils.getBean(ISysReceiptAccountService.class);
staffService = ContextUtils.getBean(ISysStaffService.class);
courseChargeService = ContextUtils.getBean(IScCourseChargeService.class);
scStudentCourseLogService = ContextUtils.getBean(IScStudentCourseLogService.class);
this.initCacheMap();
}
@Override
public void invoke(ImportStudentOrder data, AnalysisContext context) {
APIBaseResponse checkParam = checkParam(data);
if (!checkParam.isSuccess()) {
data.setFailMsg(checkParam.getRespMsg());
failRecordList.add(data);
return;
}
successRecordList.add(data);
}
@Override
public void doAfterAllAnalysed(Analy
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源提供了一套基于Java语言编写的全优学堂培训机构管理系统设计源码。该项目包含了597个Java源文件、130个JavaScript文件、104个Vue文件、86个SVG图像文件、75个GIF图像文件、69个XML配置文件、27个FreeMarker模板文件、26个PNG图像文件以及11个SCSS样式文件,共1172个文件。系统实现了课程管理、班级管理、收费模式管理、课时管理、智能一键排课、排课变更、小程序记上课、小程序门店、企业微信相关功能等。适合希望深入理解Java企业级应用开发的开发者学习和使用。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java的全优学堂培训机构管理系统设计源码 (1174个子文件)
layui.css 73KB
layer.css 14KB
layui.mobile.css 10KB
laydate.css 7KB
login.css 4KB
code.css 1KB
.env.development 1003B
.editorconfig 243B
iconfont.eot 46KB
.eslintignore 301B
spring.factories 111B
index.vue.ftl 18KB
index.vue.ftl 18KB
businessService.java.ftl 8KB
login_ajax.ftl 6KB
businessService.java.ftl 5KB
login_back.ftl 4KB
login.ftl 4KB
entity.java.ftl 3KB
controller.java.ftl 2KB
menu.sql.ftl 2KB
controller.java.ftl 2KB
api.js.ftl 2KB
serviceImpl.java.ftl 1KB
api.js.ftl 1KB
entity.java.ftl 1KB
iService.java.ftl 732B
authorization.ftl 594B
serviceImpl.java.ftl 561B
reqSearchEntity.java.ftl 476B
index.ftl 436B
iService.java.ftl 327B
mapper.java.ftl 325B
mapper.java.ftl 325B
reqSearchEntity.java.ftl 289B
loginRedirect.ftl 286B
mapper.xml.ftl 220B
mapper.xml.ftl 220B
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
46.gif 3KB
10.gif 3KB
28.gif 3KB
51.gif 3KB
57.gif 3KB
67.gif 3KB
0.gif 3KB
48.gif 3KB
43.gif 3KB
30.gif 2KB
61.gif 2KB
33.gif 2KB
69.gif 2KB
14.gif 2KB
47.gif 2KB
36.gif 2KB
49.gif 2KB
58.gif 2KB
6.gif 2KB
共 1174 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
沐知全栈开发
- 粉丝: 4743
- 资源: 3374
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功