Browse Source

Merge remote-tracking branch 'origin/children_day' into children_day

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChildrenDayReserveDao.java
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java
#	mec-biz/src/main/resources/config/mybatis/ChildrenDayReserveMapper.xml
#	mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
zouxuan 4 years ago
parent
commit
d4095fb068

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChildrenDayReserveDao.java

@@ -4,9 +4,16 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.ChildrenStatisticsDto;
 import com.ym.mec.biz.dal.entity.ChildrenDayReserve;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface ChildrenDayReserveDao extends BaseDAO<Integer, ChildrenDayReserve> {
 
     ChildrenStatisticsDto queryChildrenStatisticsList();
 
+    /**
+     * 根据用户id获取用户预约信息
+     * @param userId
+     * @return
+     */
+    ChildrenDayReserve getByUserId(@Param("userId") Integer userId);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -383,6 +383,7 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
 
     /**
      * 获取乐团合作单位进行中 、暂停、关闭 的乐团
+     *
      * @param cooperationOrganId
      * @param musicGroupId
      * @return
@@ -391,10 +392,19 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
 
     /**
      * 获取课程关联教务老师名称
+     *
      * @param courseIds
      * @return
      */
     List<Map<Long, String>> queryEduNameMapByCourseId(@Param("courseIds") List<Long> courseIds);
 
+    /**
+     * 获取学生最新的乐团
+     *
+     * @param userId
+     * @return
+     */
+    MusicGroup getStudentLastMusicGroup(@Param("userId") Integer userId);
+
     List<MusicGroup> findByCooperationId(Integer cooperationId);
 }

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ChildrenDayReserve.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.util.Date;
@@ -37,7 +38,7 @@ public class ChildrenDayReserve {
     * 是否预约 0-否 1-是
     */
     @ApiModelProperty(value="是否预约 0-否 1-是")
-    private Integer isReserve;
+    private YesOrNoEnum isReserve;
 
     /**
     * 创建时间
@@ -91,11 +92,11 @@ public class ChildrenDayReserve {
         this.musicGroupId = musicGroupId;
     }
 
-    public Integer getIsReserve() {
+    public YesOrNoEnum getIsReserve() {
         return isReserve;
     }
 
-    public void setIsReserve(Integer isReserve) {
+    public void setIsReserve(YesOrNoEnum isReserve) {
         this.isReserve = isReserve;
     }
 

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ChildrenDayReserveService.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.service;
+
+
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.ChildrenDayReserve;
+import com.ym.mec.common.service.BaseService;
+
+public interface ChildrenDayReserveService extends BaseService<Integer, ChildrenDayReserve> {
+
+    /**
+     * 填加占位
+     *
+     * @param user
+     * @return
+     */
+    ChildrenDayReserve addReserve(SysUser user);
+
+
+    /**
+     * 获取用户的占位信息
+     *
+     * @param userId
+     * @return
+     */
+    ChildrenDayReserve getUserReserve(Integer userId);
+
+}

+ 54 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChildrenDayReserveServiceImpl.java

@@ -0,0 +1,54 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.ChildrenDayReserveDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.entity.ChildrenDayReserve;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.service.ChildrenDayReserveService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ChildrenDayReserveServiceImpl extends BaseServiceImpl<Integer, ChildrenDayReserve> implements ChildrenDayReserveService {
+
+    @Autowired
+    private ChildrenDayReserveDao childrenDayReserveDao;
+    @Autowired
+    private MusicGroupDao musicGroupDao;
+
+    @Override
+    public BaseDAO<Integer, ChildrenDayReserve> getDAO() {
+        return childrenDayReserveDao;
+    }
+
+    @Override
+    public ChildrenDayReserve addReserve(SysUser user) {
+        ChildrenDayReserve hasOne = childrenDayReserveDao.getByUserId(user.getId());
+        if (hasOne != null) {
+            throw new BizException("您已成功占位");
+        }
+        MusicGroup studentLastMusicGroup = musicGroupDao.getStudentLastMusicGroup(user.getId());
+        ChildrenDayReserve childrenDayReserve = new ChildrenDayReserve();
+        childrenDayReserve.setUserId(user.getId());
+        childrenDayReserve.setOrganId(user.getOrganId());
+        childrenDayReserve.setIsReserve(YesOrNoEnum.YES);
+        if (studentLastMusicGroup != null) {
+            childrenDayReserve.setCooperationOrganId(studentLastMusicGroup.getCooperationOrganId());
+            childrenDayReserve.setMusicGroupId(studentLastMusicGroup.getId());
+        }
+        childrenDayReserveDao.insert(childrenDayReserve);
+        return childrenDayReserve;
+    }
+
+    @Override
+    public ChildrenDayReserve getUserReserve(Integer userId) {
+        return childrenDayReserveDao.getByUserId(userId);
+    }
+
+
+}

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/ChildrenDayReserveMapper.xml

@@ -8,7 +8,7 @@
         <result column="organ_id_" property="organId"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
         <result column="music_group_id_" property="musicGroupId"/>
-        <result column="is_reserve_" property="isReserve"/>
+        <result column="is_reserve_" property="isReserve" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
     </resultMap>
@@ -49,7 +49,7 @@
                 music_group_id_ = #{musicGroupId},
             </if>
             <if test="isReserve != null">
-                is_reserve_ = #{isReserve},
+                is_reserve_ = #{isReserve,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="createTime != null">
                 create_time_ = #{createTime},
@@ -97,4 +97,10 @@
                  LEFT JOIN organization o ON o.id_ = cdr.organ_id_
         GROUP BY cdr.music_group_id_
     </select>
+
+    <select id="getByUserId" resultMap="ChildrenDayReserve">
+        SELECT *
+        FROM children_day_reserve
+        WHERE user_id_ = #{userId}
+    </select>
 </mapper>

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -742,4 +742,14 @@
     <select id="findByCooperationId" resultMap="MusicGroup">
         SELECT * FROM music_group WHERE status_ = 'PROGRESS' AND cooperation_organ_id_ = #{cooperationId}
     </select>
+
+    <select id="getStudentLastMusicGroup" resultMap="MusicGroup">
+        SELECT mg.*
+        FROM music_group mg
+        LEFT JOIN student_registration sr ON mg.id_ = sr.music_group_id_
+        WHERE sr.user_id_ = #{userId}
+        AND mg.status_ IN ('PREPARE', 'PROGRESS', 'PAUSE', 'CLOSE')
+        ORDER BY mg.create_time_ DESC
+        LIMIT 1
+    </select>
 </mapper>

+ 15 - 2
mec-student/src/main/java/com/ym/mec/student/controller/ChildrenDayController.java

@@ -3,8 +3,10 @@ package com.ym.mec.student.controller;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
+import com.ym.mec.biz.dal.entity.ChildrenDayReserve;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
 import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
+import com.ym.mec.biz.service.ChildrenDayReserveService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
@@ -26,16 +28,27 @@ import java.util.Objects;
 public class ChildrenDayController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private ChildrenDayReserveService childrenDayReserveService;
 
 
     @ApiOperation(value = "占位")
     @PostMapping("/reserve")
-    public HttpResponseResult reserve() {
+    public HttpResponseResult<ChildrenDayReserve> reserve() {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (Objects.isNull(user)) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
+        return succeed(childrenDayReserveService.addReserve(user));
+    }
 
-        return succeed();
+    @ApiOperation(value = "获取占位信息")
+    @PostMapping("/getReserve")
+    public HttpResponseResult<ChildrenDayReserve> getReserve() {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (Objects.isNull(user)) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        return succeed(childrenDayReserveService.getUserReserve(user.getId()));
     }
 }