|
@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.github.pagehelper.Page;
|
|
import com.github.pagehelper.Page;
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.vladsch.flexmark.html.HtmlRenderer;
|
|
import com.vladsch.flexmark.html.HtmlRenderer;
|
|
|
import com.vladsch.flexmark.parser.Parser;
|
|
import com.vladsch.flexmark.parser.Parser;
|
|
|
import com.vladsch.flexmark.util.ast.Node;
|
|
import com.vladsch.flexmark.util.ast.Node;
|
|
@@ -6029,6 +6030,254 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public boolean createKaoQianNew() {
|
|
|
|
|
+
|
|
|
|
|
+ //获取新考前业务层
|
|
|
|
|
+ ArrayList<String> list1 = Lists.newArrayList("管理", "金属冶炼安全", "法规", "煤矿安全", "技术基础", "其他安全", "道路运输安全", "化工安全", "建筑施工安全", "矿山安全");
|
|
|
|
|
+ ArrayList<String> list2 = Lists.newArrayList("管理","法规", "经济", "建筑", "市政", "机电", "公路", "水利", "港口与航道");
|
|
|
|
|
+ ArrayList<String> list3 = Lists.newArrayList("管理", "概论", "土建三控", "土建案例", "交通三控", "交通案例", "水利三控", "水利案例");
|
|
|
|
|
+ ArrayList<String> list4 = Lists.newArrayList("经济基础", "工商管理", "人力资源", "金融专业", "财政税收", "建筑与房地产", "知识产权", "保险经济", "运输经济", "旅游经济", "农业经济");
|
|
|
|
|
+ ArrayList<String> list5 = Lists.newArrayList("综合能力", "法规与政策", "实务");
|
|
|
|
|
+
|
|
|
|
|
+ Map<String,List<String>> map = new HashMap<>();
|
|
|
|
|
+ map.put("安全工程师",list1);
|
|
|
|
|
+ map.put("建造师",list2);
|
|
|
|
|
+ map.put("工程师",list3);
|
|
|
|
|
+ map.put("经济师",list4);
|
|
|
|
|
+ map.put("社会工作者",list5);
|
|
|
|
|
+
|
|
|
|
|
+ CourseEducationType educationType = iCourseEducationTypeService
|
|
|
|
|
+ .getOne(new LambdaQueryWrapper<CourseEducationType>().eq(CourseEducationType::getEducationName, "考前培训").eq(CourseEducationType::getStatus, 1).last("limit 1"));
|
|
|
|
|
+ Long eduId = educationType.getId();
|
|
|
|
|
+ map.forEach((k,v) -> {
|
|
|
|
|
+ //判断是否存在
|
|
|
|
|
+ CourseProjectType project = iCourseProjectTypeService
|
|
|
|
|
+ .getOne(new LambdaQueryWrapper<CourseProjectType>().eq(CourseProjectType::getEducationId, eduId).eq(CourseProjectType::getProjectName, k).eq(CourseProjectType::getStatus, 1).last("limit 1"));
|
|
|
|
|
+ Long projectId = 0L;
|
|
|
|
|
+ if (ObjectUtils.isNull(project)){
|
|
|
|
|
+ //新增
|
|
|
|
|
+ CourseProjectType projectType = new CourseProjectType();
|
|
|
|
|
+ projectType.setStatus(1);
|
|
|
|
|
+ projectType.setProjectName(k);
|
|
|
|
|
+ projectType.setEducationId(eduId.intValue());
|
|
|
|
|
+ projectType.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ projectType.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ projectType.setSort(1);
|
|
|
|
|
+ projectType.setEncoder(ServletUtils.getEncoded("XM"));
|
|
|
|
|
+
|
|
|
|
|
+ iCourseProjectTypeService.save(projectType);
|
|
|
|
|
+ projectId = projectType.getId();
|
|
|
|
|
+ }else {
|
|
|
|
|
+ projectId = project.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //添加科目和专业;
|
|
|
|
|
+ List<GoodsKaoQIanBo> kaoQIanBos = new ArrayList<>();
|
|
|
|
|
+ for (String kemu : v) {
|
|
|
|
|
+ CourseSubject subject = iCourseSubjectService.getOneByName(kemu,projectId);
|
|
|
|
|
+ Long subId = 0L;
|
|
|
|
|
+ if (ObjectUtils.isNull(subject)){
|
|
|
|
|
+ //新增
|
|
|
|
|
+ CourseSubject courseSubject = new CourseSubject();
|
|
|
|
|
+ courseSubject.setSubjectName(kemu);
|
|
|
|
|
+ courseSubject.setStatus(1);
|
|
|
|
|
+ courseSubject.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ courseSubject.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ courseSubject.setSort(1);
|
|
|
|
|
+ courseSubject.setEncoder(ServletUtils.getEncoded("KM"));
|
|
|
|
|
+ iCourseSubjectService.save(courseSubject);
|
|
|
|
|
+ subId = courseSubject.getId();
|
|
|
|
|
+ CourseSubjectProject courseSubjectProject = new CourseSubjectProject();
|
|
|
|
|
+ courseSubjectProject.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ courseSubjectProject.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ courseSubjectProject.setSubjectId(subId);
|
|
|
|
|
+ courseSubjectProject.setProjectId(projectId);
|
|
|
|
|
+ iCourseSubjectProjectService.save(courseSubjectProject);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ subId = subject.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Major major = iMajorService.getOnebyName(kemu,projectId);
|
|
|
|
|
+ Long majorId = 0L;
|
|
|
|
|
+ if (ObjectUtils.isNull(major)){
|
|
|
|
|
+ //新增
|
|
|
|
|
+ Major major1 = new Major();
|
|
|
|
|
+ major1.setCategoryName(kemu);
|
|
|
|
|
+ major1.setStatus(1);
|
|
|
|
|
+ major1.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ major1.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ major1.setSort(1);
|
|
|
|
|
+ major1.setEncoder(ServletUtils.getEncoded("ZY"));
|
|
|
|
|
+ iMajorService.save(major1);
|
|
|
|
|
+ majorId = major1.getId();
|
|
|
|
|
+ MajorProject majorProject = new MajorProject();
|
|
|
|
|
+ majorProject.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ majorProject.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ majorProject.setMajorId(majorId);
|
|
|
|
|
+ majorProject.setProjectId(projectId);
|
|
|
|
|
+ iMajorProjectService.save(majorProject);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ majorId = major.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+ GoodsKaoQIanBo bo = new GoodsKaoQIanBo();
|
|
|
|
|
+ bo.setSubId(subId);
|
|
|
|
|
+ bo.setMajorId(majorId);
|
|
|
|
|
+ kaoQIanBos.add(bo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //业务乘次
|
|
|
|
|
+ List<Long> businessIds = new ArrayList<>();
|
|
|
|
|
+ switch (k){
|
|
|
|
|
+ case "建造师":
|
|
|
|
|
+ List<String> business = Arrays.asList("一级", "二级");
|
|
|
|
|
+ for (String s : business) {
|
|
|
|
|
+ Long id = businessCheck(s, projectId);
|
|
|
|
|
+ businessIds.add(id);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "安全工程师":
|
|
|
|
|
+ List<String> business1 = Arrays.asList("注册");
|
|
|
|
|
+ for (String s : business1) {
|
|
|
|
|
+ Long id = businessCheck(s, projectId);
|
|
|
|
|
+ businessIds.add(id);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "工程师":
|
|
|
|
|
+ List<String> business2 = Arrays.asList("监理");
|
|
|
|
|
+ for (String s : business2) {
|
|
|
|
|
+ Long id = businessCheck(s, projectId);
|
|
|
|
|
+ businessIds.add(id);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "经济师":
|
|
|
|
|
+ List<String> business3 = Arrays.asList("中级");
|
|
|
|
|
+ for (String s : business3) {
|
|
|
|
|
+ Long id = businessCheck(s, projectId);
|
|
|
|
|
+ businessIds.add(id);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case "社会工作者":
|
|
|
|
|
+ List<String> business4 = Arrays.asList("初级", "中级");
|
|
|
|
|
+ for (String s : business4) {
|
|
|
|
|
+ Long id = businessCheck(s, projectId);
|
|
|
|
|
+ businessIds.add(id);
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ default:
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for (Long businessId : businessIds) {
|
|
|
|
|
+ CourseBusiness business = iCourseBusinessService.getById(businessId);
|
|
|
|
|
+ for (GoodsKaoQIanBo item : kaoQIanBos) {
|
|
|
|
|
+ CourseSubject courseSubject = iCourseSubjectService.getById(item.getSubId());
|
|
|
|
|
+ //创建商品
|
|
|
|
|
+ List<String> goodsName = Arrays.asList("精英优享班(单科实务)", "精英优享班(全科)");
|
|
|
|
|
+ for (String s : goodsName) {
|
|
|
|
|
+ Goods goods = new Goods();
|
|
|
|
|
+ goods.setGoodsName(String.format("【%s】%s",courseSubject.getSubjectName(),s));
|
|
|
|
|
+ goods.setStatus(1);
|
|
|
|
|
+ goods.setYear(2026L);
|
|
|
|
|
+ goods.setSupplyId(2L);
|
|
|
|
|
+ goods.setGoodsType(1);
|
|
|
|
|
+ goods.setEducationTypeId(eduId);
|
|
|
|
|
+ goods.setBusinessId(businessId);
|
|
|
|
|
+ goods.setProjectId(projectId.intValue());
|
|
|
|
|
+ goods.setMajorId(item.getMajorId());
|
|
|
|
|
+ goods.setSubjectIds(item.getSubId().toString());
|
|
|
|
|
+ //价格
|
|
|
|
|
+ BigDecimal price = getPrice(business.getAliasName(), s);
|
|
|
|
|
+ goods.setStandPrice(price);
|
|
|
|
|
+ goods.setLowestPrice(price);
|
|
|
|
|
+ goods.setValidityStartTime(1773713844L);
|
|
|
|
|
+ goods.setValidityEndTime(1805249844L);
|
|
|
|
|
+ goods.setGoodsStatus(1);
|
|
|
|
|
+ goods.setCode(ServletUtils.getEncoded("SP"));
|
|
|
|
|
+ List<GoodsAuditionConfigAddBo> audition = new ArrayList<>();
|
|
|
|
|
+ goods.setGoodsAuditionConfig(JSONArray.toJSONString(audition));
|
|
|
|
|
+ GoodsPhotographConfigAddBo configAddBo = new GoodsPhotographConfigAddBo();
|
|
|
|
|
+ configAddBo.setPhotograph(0);
|
|
|
|
|
+ goods.setGoodsPhotographConfig(JSON.toJSONString(configAddBo));
|
|
|
|
|
+ GoodsPhotoExamConfigAddBo examConfigAddBo = new GoodsPhotoExamConfigAddBo();
|
|
|
|
|
+ examConfigAddBo.setPhotograph(0);
|
|
|
|
|
+ goods.setGoodsPhotoExamConfig(JSON.toJSONString(examConfigAddBo));
|
|
|
|
|
+ goods.setStudyCount(1L);
|
|
|
|
|
+ goods.setServiceTimeType(1);
|
|
|
|
|
+ goods.setServiceTimeNum(1L);
|
|
|
|
|
+ goods.setShowStatus(1);
|
|
|
|
|
+ goods.setGradeType(1);
|
|
|
|
|
+ goods.setMoreCertificateStatus(1);
|
|
|
|
|
+ goods.setViewSign(2);
|
|
|
|
|
+ goods.setBeforeSign(1);
|
|
|
|
|
+ goods.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ goods.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ save(goods);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private Long businessCheck(String name,Long projectId){
|
|
|
|
|
+ CourseProjectType projectType = iCourseProjectTypeService.getById(projectId);
|
|
|
|
|
+ CourseBusiness business = iCourseBusinessService
|
|
|
|
|
+ .getOne(new LambdaQueryWrapper<CourseBusiness>().eq(CourseBusiness::getProjectId, projectId).eq(CourseBusiness::getBusinessName, name).eq(CourseBusiness::getStatus, 1).last("limit 1"));
|
|
|
|
|
+ if (ObjectUtils.isNull(business)){
|
|
|
|
|
+ //新增
|
|
|
|
|
+ CourseBusiness business1 = new CourseBusiness();
|
|
|
|
|
+ business1.setBusinessName(name);
|
|
|
|
|
+ business1.setProjectId(projectId.intValue());
|
|
|
|
|
+ business1.setEncoder(ServletUtils.getEncoded("YW"));
|
|
|
|
|
+ business1.setStatus(1);
|
|
|
|
|
+ business1.setSort(1);
|
|
|
|
|
+ business1.setCreateTime(DateUtils.getNowTime());
|
|
|
|
|
+ business1.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
|
+ business1.setAliasName(name+projectType.getProjectName());
|
|
|
|
|
+ business1.setPeriodType(1);
|
|
|
|
|
+ business1.setPeriodNumber(2);
|
|
|
|
|
+ business1.setPeriodCheckSign(1);
|
|
|
|
|
+ business1.setPhotoSign(1);
|
|
|
|
|
+ business1.setBuySign(1);
|
|
|
|
|
+ iCourseBusinessService.save(business1);
|
|
|
|
|
+ return business1.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+ return business.getId();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private BigDecimal getPrice(String businessName,String goodName){
|
|
|
|
|
+ if (businessName.contains("一级建造师") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("3580");
|
|
|
|
|
+ }else if (businessName.contains("一级建造师") && goodName.contains("单科实务")){
|
|
|
|
|
+ return new BigDecimal("1080");
|
|
|
|
|
+ }else if (businessName.contains("二级建造师") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("2280");
|
|
|
|
|
+ }else if (businessName.contains("二级建造师") && goodName.contains("单科实务")){
|
|
|
|
|
+ return new BigDecimal("980");
|
|
|
|
|
+ }else if (businessName.contains("注册安全工程师") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("3680");
|
|
|
|
|
+ }else if (businessName.contains("注册安全工程师") && goodName.contains("单科实务")){
|
|
|
|
|
+ return new BigDecimal("1280");
|
|
|
|
|
+ }else if (businessName.contains("监理工程师") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("2580");
|
|
|
|
|
+ }else if (businessName.contains("监理工程师") && goodName.contains("单科实务")){
|
|
|
|
|
+ return new BigDecimal("1080");
|
|
|
|
|
+ }else if (businessName.contains("中级经济师") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("2280");
|
|
|
|
|
+ }else if (businessName.contains("中级经济师") && goodName.contains("单科实务")){
|
|
|
|
|
+ return new BigDecimal("1280");
|
|
|
|
|
+ }else if (businessName.contains("初级社会工作者") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("1280");
|
|
|
|
|
+ }else if (businessName.contains("中级社会工作者") && goodName.contains("全科")){
|
|
|
|
|
+ return new BigDecimal("1580");
|
|
|
|
|
+ }
|
|
|
|
|
+ return BigDecimal.ZERO;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 下载Markdown文件
|
|
* 下载Markdown文件
|
|
|
*/
|
|
*/
|