renqianlong hace 1 año
padre
commit
e0d7510349

+ 11 - 0
zhongzheng-admin-business/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -62,6 +62,17 @@ public class GoodsController extends BaseController {
         List<CompanyGoodsVo> list = iGoodsService.selectBsGoodList(bo);
         return getDataTable(list);
     }
+    /**
+     * 查询商品列表
+     */
+    @ApiOperation("查询商品年份列表")
+    @PreAuthorize("@ss.hasPermi('system:goods:list')")
+    @GetMapping("/goodsYear")
+    public TableDataInfo<Long> getListYear( GoodsQueryBo bo) {
+        startPage();
+        List<Long> list = iGoodsService.selectGoodYearList(bo);
+        return getDataTable(list);
+    }
 
     /**
      * 查询商品宝列表

+ 49 - 28
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/staff/service/impl/StaffServiceImpl.java

@@ -19,6 +19,7 @@ import com.zhongzheng.modules.bs.staff.vo.ExcelStaffGoodVo;
 import com.zhongzheng.modules.bs.staff.vo.ExcelStaffVo;
 import com.zhongzheng.modules.course.domain.CourseSubject;
 import com.zhongzheng.modules.course.service.ICourseSubjectService;
+import com.zhongzheng.modules.course.vo.CourseSubjectVo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.CompanyGoodsVo;
@@ -41,6 +42,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.condition.RequestConditionHolder;
 
+import javax.lang.model.type.ArrayType;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -305,8 +307,8 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
             List<StaffEmergencyContact> staffEmergencyContactList = iStaffEmergencyContactService.list(new LambdaQueryWrapper<StaffEmergencyContact>().eq(StaffEmergencyContact::getStaffId, item.getStaffId()));
             List<StaffContractArchives> staffContractArchivesList = iStaffContractArchivesService.list(new LambdaQueryWrapper<StaffContractArchives>().eq(StaffContractArchives::getStaffId, item.getStaffId()));
             List<StaffCertificate> staffCertificateList = iStaffCertificateService.list(new LambdaQueryWrapper<StaffCertificate>().eq(StaffCertificate::getStaffId, item.getStaffId()).eq(StaffCertificate::getStatus, 1));
-            item.setDegree(staffEduBgList.stream().map(StaffEduBg::getDegree).collect(Collectors.toList()).toString().replace("[","").replace("]",""));
-            item.setMajor(staffEduBgList.stream().map(StaffEduBg::getMajor).collect(Collectors.toList()).toString().replace("[","").replace("]",""));
+            item.setDegree(staffEduBgList.stream().map(StaffEduBg::getDegree).collect(Collectors.toList()).toString().replace("[", "").replace("]", ""));
+            item.setMajor(staffEduBgList.stream().map(StaffEduBg::getMajor).collect(Collectors.toList()).toString().replace("[", "").replace("]", ""));
             item.setStaffCertificateCount((staffCertificateList.size()));
             item.setStaffEduBgList(staffEduBgList);
             item.setStaffBankInfoList(staffBankInfoList);
@@ -339,18 +341,34 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
             GoodsQueryBo goodsQueryBo = new GoodsQueryBo();
             goodsQueryBo.setConfigId(bo.getConfigId());
             goodsQueryBo.setGoodsType(10);
-          goodsQueryBo.setStatus(new ArrayList<Integer>(){{
-              add(1);
-          }});
+            goodsQueryBo.setStatus(new ArrayList<Integer>() {{
+                add(1);
+            }});
             List<CompanyOrderBusinessConfigGoodsVo> bsGoodsPackageList = iGoodsService.getBsGoodsPackageList(goodsQueryBo);
             if (!bsGoodsPackageList.isEmpty()) {
                 CompanyOrderBusinessConfigGoodsVo companyGoodsVo = bsGoodsPackageList.get(0);
+                List<CourseSubject> courseSubjects = new ArrayList<>();
+                List<CourseSubject> courseSubjectList = companyGoodsVo.getCourseSubjectList();
+                Map<Long, List<CourseSubject>> collect = courseSubjectList.stream().collect(Collectors.groupingBy(CourseSubject::getId));
+                collect.forEach((k, v) -> {
+                    List<GoodsVo> goodsVoArrayList = new ArrayList<>();
+                    CourseSubject byId = iCourseSubjectService.getById(k);
+                    if (!v.isEmpty()) {
+                        v.forEach(courseSubject -> {
+                            Long goodsId = courseSubject.getGoodsId();
+                            GoodsVo goodsVo = iGoodsService.queryById(goodsId);
+                            goodsVoArrayList.add(goodsVo);
+                        });
+                        byId.setGoodsVoList(goodsVoArrayList);
+                    }
+                    courseSubjects.add(byId);
+                });
                 if (!staffVos.isEmpty()) {
                     staffVos.forEach(item -> {
                         List<StaffEduBg> staffEduBgs = iStaffEduBgService.list(new LambdaQueryWrapper<StaffEduBg>().eq(StaffEduBg::getStaffId, item.getStaffId()).eq(StaffEduBg::getStatus, 1).orderByDesc(StaffEduBg::getDegree).last("limit 1"));
-                        if(!staffEduBgs.isEmpty()){
-                            item.setDegree(staffEduBgs.stream().map(StaffEduBg::getDegree).collect(Collectors.toList()).toString().replace("[","").replace("]",""));
-                            item.setCourseSubjectList(companyGoodsVo.getCourseSubjectList());
+                        if (!staffEduBgs.isEmpty()) {
+                            item.setDegree(staffEduBgs.stream().map(StaffEduBg::getDegree).collect(Collectors.toList()).toString().replace("[", "").replace("]", ""));
+                            item.setCourseSubjectList(courseSubjects);
                         }
                     });
                 }
@@ -363,7 +381,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
                     goodsVo.setGoodsTypeName(this.getGoodType(goodsVo.getGoodsType()));
                     List<Long> subjectIds = Arrays.stream(goodsVo.getSubjectIds().split(",")).map(Long::parseLong).collect(Collectors.toList());
                     List<CourseSubject> courseSubjects = iCourseSubjectService.getListByIDs(subjectIds);
-                    courseSubjects.forEach(courseSubject->{
+                    courseSubjects.forEach(courseSubject -> {
                         courseSubject.setGoodsTypeName(this.getGoodType(goodsVo.getGoodsType()));
                         courseSubject.setYear(goodsVo.getYear());
                         courseSubject.setGoodsName(goodsVo.getGoodsName());
@@ -593,22 +611,25 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
                 bo.setGoodsType(10);
                 List<CompanyOrderBusinessConfigGoodsVo> bsGoodsPackageList = iGoodsService.getBsGoodsPackageList(bo);
                 if (!bsGoodsPackageList.isEmpty()) {
-                    CompanyOrderBusinessConfigGoodsVo companyOrderBusinessConfigGoodsVo = bsGoodsPackageList.get(0);
-                    List<CourseSubject> courseSubjectList = companyOrderBusinessConfigGoodsVo.getCourseSubjectList();
-                    if (!courseSubjectList.isEmpty()) {
-                        if (Validator.isNotEmpty(item.getSubjectName())) {
-                            List<CourseSubject> collect = courseSubjectList.stream().filter(s -> s.getSubjectName().equals(item.getSubjectName())).collect(Collectors.toList());
-                            item.setCourseSubjectList(collect);
-                        }
-                        if (Validator.isNotEmpty(item.getYear())) {
-                            List<CourseSubject> collect = courseSubjectList.stream().filter(s -> s.getYear().equals(item.getYear())).collect(Collectors.toList());
-                            item.setCourseSubjectList(collect);
-                        }
-                        if (ObjectUtil.isAllNotEmpty(item.getSubjectName(), item.getYear())) {
-                            List<CourseSubject> collect = courseSubjectList.stream().filter(s -> s.getSubjectName().equals(item.getSubjectName()) || s.getYear().equals(item.getYear())).collect(Collectors.toList());
-                            item.setCourseSubjectList(collect);
-                        }
-                    }
+                    bsGoodsPackageList.forEach(params -> {
+                        List<CourseSubject> courseSubjectList = params.getCourseSubjectList();
+                        List<CourseSubject> courseSubjects = new ArrayList<>();
+                        Map<Long, List<CourseSubject>> collect = courseSubjectList.stream().collect(Collectors.groupingBy(CourseSubject::getId));
+                        collect.forEach((k, v) -> {
+                            List<GoodsVo> goodsVoArrayList = new ArrayList<>();
+                            CourseSubject byId = iCourseSubjectService.getById(k);
+                            if (!v.isEmpty()) {
+                                v.forEach(courseSubject -> {
+                                    Long goodsId = courseSubject.getGoodsId();
+                                    GoodsVo goodsVo = iGoodsService.queryById(goodsId);
+                                    goodsVoArrayList.add(goodsVo);
+                                });
+                                byId.setGoodsVoList(goodsVoArrayList);
+                            }
+                            courseSubjects.add(byId);
+                        });
+                        item.setCourseSubjectList(courseSubjects);
+                    });
                 }
             }
             if (ObjectUtil.isNotEmpty(bo.getGoodsId())) {
@@ -620,19 +641,19 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
                         courseSubject.setGoodsName(goodsVo.getGoodsName());
                         courseSubject.setStandPrice(goodsVo.getStandPrice());
                         courseSubject.setGoodsTypeName(this.getGoodType(goodsVo.getGoodsType()));
-                        if (Validator.isNotEmpty(goodsVo.getSubjectNames())){
+                        if (Validator.isNotEmpty(goodsVo.getSubjectNames())) {
                             if (goodsVo.getSubjectNames().contains(item.getSubjectName())) {
                                 courseSubject.setSubjectName(item.getSubjectName());
                                 courseSubjects.add(courseSubject);
                                 item.setCourseSubjectList(courseSubjects);
-                                if (Validator.isNotEmpty(item.getYear())){
+                                if (Validator.isNotEmpty(item.getYear())) {
                                     if (item.getYear().equals(goodsVo.getYear())) {
                                         courseSubject.setYear(Long.valueOf(item.getYear()));
                                         courseSubjects.add(courseSubject);
                                         item.setCourseSubjectList(courseSubjects);
                                     }
                                 }
-                            }else {
+                            } else {
                                 item.setCourseSubjectList(null);
                             }
                         }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSubject.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.course.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.zhongzheng.modules.goods.vo.GoodsAttachedVo;
+import com.zhongzheng.modules.goods.vo.GoodsVo;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
@@ -74,5 +75,8 @@ private static final long serialVersionUID=1L;
     private BigDecimal  standPrice;
     /** 题库模块章节列表 */
     @TableField(exist = false)
+    private List<GoodsVo> goodsVoList;
+    /** 题库模块章节列表 */
+    @TableField(exist = false)
     private List<GoodsAttachedVo> goodsAttachedVoList;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -40,6 +40,7 @@ public interface IGoodsService extends IService<Goods> {
 	List<CompanyGoodsVo> selectBsGoodList(GoodsQueryBo bo);
 	List<CompanyOrderBusinessConfigGoodsVo> getBsGoodsPackageList(GoodsQueryBo bo);
 	List<CompanyGoodsVo> selectCompanyGoodList(GoodsQueryBo bo);
+	List<Long> selectGoodYearList(GoodsQueryBo bo);
 	List<GoodsVo> selectListToInput(GoodsQueryBo bo);
 
 	GoodsVo selectDetail(Long goodsId);

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -629,6 +629,15 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return this.baseMapper.selectCompanyGoodList(bo);
     }
 
+    @Override
+    public List<Long> selectGoodYearList(GoodsQueryBo bo) {
+        bo.setStatus(new ArrayList<Integer>() {{
+            add(1);
+        }});
+        List<CompanyGoodsVo> companyGoodsVos = this.baseMapper.selectMatchGoods(bo);
+        return companyGoodsVos.stream().map(CompanyGoodsVo::getYear).distinct().collect(Collectors.toList());
+    }
+
     @Override
     public List<GoodsVo> selectListToInput(GoodsQueryBo bo) {
         List<GoodsVo> goodsVoList = baseMapper.selectListToInput(bo);
@@ -5798,4 +5807,5 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return updateById(goods);
     }
 
+
 }

+ 9 - 9
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -1079,8 +1079,8 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             if (!userSubscribes.isEmpty()){
                 UserSubscribe userSubscribe = userSubscribes.get(0);
                 if (Validator.isNotEmpty(userSubscribeImport.getStudentType())){
-                    Long type = getName(userSubscribeImport.getStudentType());
-                    if (!userSubscribe.getStudentType().equals(type)){
+                    String name = getName(userSubscribe.getStudentType().longValue());
+                    if (!userSubscribeImport.getStudentType().equals(name)){
                         userSubscribeImport.setCause("学员类型错误");
                         userSubscribeImports.add(userSubscribeImport);
                         continue;
@@ -1341,13 +1341,13 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
         resultMap.put("successList",successImports);
         return resultMap;
     }
-    public Long getName(String type){
-        if (type.equals("是")){
-            return 1L;
-        }
-        if (type.equals("否")){
-            return 2L;
-        }
+    public String getName(Long type){
+     if (type==1L){
+         return "是";
+     }
+     if (type==2L){
+         return "否";
+     }
         return null;
     }
 

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -1345,6 +1345,9 @@
         <if test="sortType != null and sortType == 1">
             ORDER BY g.show_sort DESC,g.create_time DESC
         </if>
+        <if test="subjectId != null and subjectId >0">
+            AND FIND_IN_SET(#{subjectId},g.subject_ids)
+        </if>
         <if test="sortType == null">
             ORDER BY g.create_time DESC
         </if>