Selaa lähdekoodia

add 6.1活动占位接口

周箭河 4 vuotta sitten
vanhempi
commit
d8db389189

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

@@ -3,7 +3,14 @@ package com.ym.mec.biz.dal.dao;
 
 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> {
 
+    /**
+     * 根据用户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,8 +392,17 @@ 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);
 }

+ 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;
     }
 

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

@@ -0,0 +1,18 @@
+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);
+
+}

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

@@ -0,0 +1,47 @@
+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;
+    }
+}

+ 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},
@@ -72,4 +72,10 @@
         SELECT COUNT(*)
         FROM children_day_reserve
     </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

@@ -739,4 +739,14 @@
         </foreach>
         AND mg.educational_teacher_id_ IS NOT NULL
     </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>

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

@@ -5,6 +5,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
 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,6 +27,8 @@ import java.util.Objects;
 public class ChildrenDayController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private ChildrenDayReserveService childrenDayReserveService;
 
 
     @ApiOperation(value = "占位")
@@ -35,7 +38,6 @@ public class ChildrenDayController extends BaseController {
         if (Objects.isNull(user)) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-
-        return succeed();
+        return succeed(childrenDayReserveService.addReserve(user));
     }
 }