瀏覽代碼

资料审核

change 3 年之前
父節點
當前提交
29fcda9812

+ 2 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/plan/UserPlanController.java

@@ -71,7 +71,8 @@ public class UserPlanController extends BaseController {
     @ApiOperation("获取学习计划详细信息")
     @GetMapping("/{planId}")
     public AjaxResult<UserPlanVo> getInfo(@PathVariable("planId" ) Long planId) {
-        return AjaxResult.success(iUserPlanService.queryById(planId));
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        return AjaxResult.success(iUserPlanService.queryById(planId,loginUser.getUser().getUserId()));
     }
 
     /**

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserPlanGoodsMapper.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.user.mapper;
 
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.user.domain.UserPlanGoods;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,5 +15,5 @@ import java.util.List;
  */
 public interface UserPlanGoodsMapper extends BaseMapper<UserPlanGoods> {
 
-    List<GoodsVo> selectGoods(Long planId);
+    List<GoodsUserVo> selectGoods(Long planId);
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserPlanMapper.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.user.mapper;
 
 import com.zhongzheng.modules.course.vo.CourseVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.user.bo.UserPlanAddBo;
 import com.zhongzheng.modules.user.bo.UserPlanEditBo;
 import com.zhongzheng.modules.user.bo.UserPlanQueryBo;
 import com.zhongzheng.modules.user.domain.UserPlan;
@@ -19,7 +20,7 @@ public interface UserPlanMapper extends BaseMapper<UserPlan> {
 
     List<GoodsVo> listGoods(UserPlanQueryBo bo);
 
-    Integer selectCountGoods(UserPlanEditBo bo);
+    Integer selectCountGoods(UserPlanAddBo bo);
 
     List<Long> selectGoods(Long goodsId);
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserPlanGoodsService.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.user.service;
 
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.user.domain.UserPlanGoods;
 import com.zhongzheng.modules.user.vo.UserPlanGoodsVo;
@@ -51,5 +52,5 @@ public interface IUserPlanGoodsService extends IService<UserPlanGoods> {
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
-    List<GoodsVo> selectGoods(Long planId);
+    List<GoodsUserVo> selectGoods(Long planId,Long userId);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserPlanService.java

@@ -24,7 +24,7 @@ public interface IUserPlanService extends IService<UserPlan> {
 	 * 查询单个
 	 * @return
 	 */
-	UserPlanVo queryById(Long planId);
+	UserPlanVo queryById(Long planId,Long UserId);
 
 	/**
 	 * 查询列表

+ 27 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserPlanGoodsServiceImpl.java

@@ -3,7 +3,12 @@ package com.zhongzheng.modules.user.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
+import com.zhongzheng.modules.user.service.IUserStudyRecordService;
+import com.zhongzheng.modules.user.vo.SubjectStudyRecordVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -17,6 +22,7 @@ import com.zhongzheng.modules.user.mapper.UserPlanGoodsMapper;
 import com.zhongzheng.modules.user.vo.UserPlanGoodsVo;
 import com.zhongzheng.modules.user.service.IUserPlanGoodsService;
 
+import java.math.BigDecimal;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -31,6 +37,9 @@ import java.util.stream.Collectors;
 @Service
 public class UserPlanGoodsServiceImpl extends ServiceImpl<UserPlanGoodsMapper, UserPlanGoods> implements IUserPlanGoodsService {
 
+    @Autowired
+    private IUserStudyRecordService iUserStudyRecordService;
+
     @Override
     public UserPlanGoodsVo queryById(Long id){
         UserPlanGoods db = this.baseMapper.selectById(id);
@@ -100,7 +109,23 @@ public class UserPlanGoodsServiceImpl extends ServiceImpl<UserPlanGoodsMapper, U
     }
 
     @Override
-    public List<GoodsVo> selectGoods(Long planId) {
-        return baseMapper.selectGoods(planId);
+    public List<GoodsUserVo> selectGoods(Long planId,Long UserId) {
+        List<GoodsUserVo> goodsVos = baseMapper.selectGoods(planId);
+        for (GoodsUserVo goodsUserVo : goodsVos) {
+            Long secLong = 0L;
+            Long studyLong = 0L;
+            SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
+            subjectStudyRecordQueryBo.setGoodsId(goodsUserVo.getGoodsId());
+            subjectStudyRecordQueryBo.setUserId(UserId);
+            subjectStudyRecordQueryBo.setGradeId(goodsUserVo.getGradeId());
+            List<SubjectStudyRecordVo> subjectStudyRecordVos = iUserStudyRecordService.listSubject(subjectStudyRecordQueryBo);
+            for (SubjectStudyRecordVo subjectStudyRecordVo : subjectStudyRecordVos) {
+                secLong = new BigDecimal(secLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getSectionNum().toString())).longValue();
+                studyLong = new BigDecimal(studyLong.toString()).add(new BigDecimal(subjectStudyRecordVo.getRecordNum().toString())).longValue();
+            }
+            goodsUserVo.setSecAllNum(secLong);
+            goodsUserVo.setStuAllNum(studyLong);
+        }
+        return goodsVos;
     }
 }

+ 8 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserPlanServiceImpl.java

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.user.bo.UserPlanGoodsAddBo;
 import com.zhongzheng.modules.user.domain.UserPlanGoods;
@@ -52,7 +53,7 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
 
 
     @Override
-    public UserPlanVo queryById(Long planId){
+    public UserPlanVo queryById(Long planId,Long UserId){
         UserPlan userPlan = this.baseMapper.selectById(planId);
         //得到日历日期
         UserPlanVo userPlanVo = new UserPlanVo();
@@ -65,13 +66,13 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
         userPlanVo.setPitchNum(userPlan.getPitchNum());
         userPlanVo.setStudyNum(userPlan.getStudyNum());
         userPlanVo.setPlanId(userPlan.getPlanId());
-        List<GoodsVo> goodsVos = userPlanGoodsService.selectGoods(planId);
+        List<GoodsUserVo> goodsVos = userPlanGoodsService.selectGoods(planId,UserId);
         userPlanVo.setGoodsVos(goodsVos);
         // List转成数组
         Long[] array = new Long[goodsVos.size()];
         // 输出数组
         List<Long> arrys = new ArrayList<>();
-        for (GoodsVo goodsVo : goodsVos) {
+        for (GoodsUserVo goodsVo : goodsVos) {
             arrys.add(goodsVo.getGoodsId());
         }
         arrys.toArray(array);
@@ -115,13 +116,13 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
             userPlanVo.setPitchNum(userPlan.getPitchNum());
             userPlanVo.setStudyNum(userPlan.getStudyNum());
             userPlanVo.setPlanId(userPlan.getPlanId());
-            List<GoodsVo> goodsVos = userPlanGoodsService.selectGoods(userPlan.getPlanId());
+            List<GoodsUserVo> goodsVos = userPlanGoodsService.selectGoods(userPlanVo.getPlanId(),userPlanVo.getUserId());
             userPlanVo.setGoodsVos(goodsVos);
             // List转成数组
             Long[] array = new Long[goodsVos.size()];
             // 输出数组
             List<Long> arrys = new ArrayList<>();
-            for (GoodsVo goodsVo : goodsVos) {
+            for (GoodsUserVo goodsVo : goodsVos) {
                 arrys.add(goodsVo.getGoodsId());
             }
             arrys.toArray(array);
@@ -163,6 +164,7 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
 
     @Override
     public Boolean insertByAddBo(UserPlanAddBo bo) throws ParseException {
+        validEntityPlanBeforeSave(bo);
         UserPlan userPlan = new UserPlan();
         List<CalendarStudyVo> clCalendarStudyVos = findDates(bo.getStartTime(),bo.getEndTime());
         Long sumUp=0L;
@@ -334,7 +336,6 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
 
     @Override
     public UserPlanVo listPlan(UserPlanEditBo bo) throws ParseException {
-        validEntityPlanBeforeSave(bo);
         UserPlanVo userPlanVo = new UserPlanVo();
         List<CalendarStudyVo> clCalendarStudyVos = findDates(bo.getStartTime(),bo.getEndTime());
         for (Long aLong : bo.getGoodsId()) {
@@ -469,7 +470,7 @@ public class UserPlanServiceImpl extends ServiceImpl<UserPlanMapper, UserPlan> i
      *
      * @param bo 实体类数据
      */
-    private void validEntityPlanBeforeSave(UserPlanEditBo bo){
+    private void validEntityPlanBeforeSave(UserPlanAddBo bo){
         //判断是否商品已被生成过课程
         Integer rank = baseMapper.selectCountGoods(bo);
         if (rank > 0){

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserPlanVo.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.user.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -35,7 +36,7 @@ public class UserPlanVo {
 
 	/** 商品ID */
 	@ApiModelProperty("商品ID")
-	private List<GoodsVo> goodsVos;
+	private List<GoodsUserVo> goodsVos;
 
 	/** 计划json格式 */
 	@Excel(name = "计划json格式")

+ 60 - 1
zhongzheng-system/src/main/resources/mapper/modules/user/UserPlanGoodsMapper.xml

@@ -65,7 +65,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="makeGoodsCode" column="make_goods_code"/>
     </resultMap>
 
-    <select id="selectGoods" parameterType="long"  resultMap="GoodsResultVo">
+    <resultMap type="com.zhongzheng.modules.goods.vo.GoodsUserVo" id="GoodsUserVo">
+        <result property="goodsId" column="goods_id"/>
+        <result property="year" column="year"/>
+        <result property="supplyId" column="supply_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="goodsType" column="goods_type"/>
+        <result property="educationTypeId" column="education_type_id"/>
+        <result property="businessId" column="business_id"/>
+        <result property="schoolId" column="school_id"/>
+        <result property="majorId" column="major_id"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="standPrice" column="stand_price"/>
+        <result property="lowestPrice" column="lowest_price"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+        <result property="validityStartTime" column="validity_start_time"/>
+        <result property="validityEndTime" column="validity_end_time"/>
+        <result property="studyStartTime" column="study_start_time"/>
+        <result property="studyEndTime" column="study_end_time"/>
+        <result property="certificateIds" column="certificate_ids"/>
+        <result property="introduce" column="introduce"/>
+        <result property="suitableObject" column="suitable_object"/>
+        <result property="buyNote" column="buy_note"/>
+        <result property="pcDetailHtml" column="pc_detail_html"/>
+        <result property="mobileDetailHtml" column="mobile_detail_html"/>
+        <result property="goodsStatus" column="goods_status"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="classHours" column="class_hours"/>
+        <result property="standPriceJson" column="stand_price_json"/>
+        <result property="code" column="code"/>
+        <result property="projectId" column="project_id"/>
+        <result property="goodsAuditionConfig" column="goods_audition_config"/>
+        <result property="goodsPhotographConfig" column="goods_photograph_config"/>
+        <result property="goodsPlayConfig" column="goods_play_config"/>
+        <result property="goodsExamConfig" column="goods_exam_config"/>
+        <result property="gradeId" column="grade_id"/>
+
+        <result property="supplyName" column="supply_name"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="schoolName" column="school_name"/>
+        <result property="categoryName" column="category_name"/>
+        <result property="handoutsId" column="handouts_id"/>
+        <result property="templateType" column="template_type"/>
+        <result property="period" column="period"/>
+        <result property="makeStartTime" column="make_start_time"/>
+        <result property="makeEndTime" column="make_end_time"/>
+        <result property="studyCount" column="study_count"/>
+        <result property="makeGoodsName" column="make_goods_name"/>
+        <result property="makeGoodsCode" column="make_goods_code"/>
+        <result property="applyStatus" column="apply_status"/>
+        <result property="beforeStatus" column="before_status"/>
+        <result property="applyName" column="apply_name"/>
+        <result property="beforeName" column="before_name"/>
+        <result property="courseNum" column="course_num"/>
+    </resultMap>
+
+    <select id="selectGoods" parameterType="long"  resultMap="GoodsUserVo">
         SELECT
             g.*
         FROM