Bläddra i källkod

Merge remote-tracking branch 'origin/master'

Joburgess 5 år sedan
förälder
incheckning
f8e7ecc97d

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ChargeTypeOrganizationFeeDao.java

@@ -0,0 +1,16 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
+import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+public interface ChargeTypeOrganizationFeeDao extends BaseDAO<Integer, ChargeTypeOrganizationFee> {
+
+    /**
+     * 根据收费类型,分部获取默认费用
+     * @param chargeTypeId
+     * @param organId
+     * @return
+     */
+    ChargeTypeOrganizationFee findByOrganId(@Param("chargeTypeId") Integer chargeTypeId, @Param("organId") Integer organId);
+}

+ 69 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ChargeTypeOrganizationFee.java

@@ -0,0 +1,69 @@
+package com.ym.mec.biz.dal.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 对应数据库表(charge_type_organization_fee):
+ */
+public class ChargeTypeOrganizationFee {
+	private Integer id;
+
+	private Integer chargeTypeId;
+
+	private Integer organId;
+
+	private BigDecimal courseFee;
+
+	private Date createTime;
+
+	private Date updateTime;
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setId(Integer id) {
+		this.id = id;
+	}
+
+	public Integer getChargeTypeId() {
+		return chargeTypeId;
+	}
+
+	public void setChargeTypeId(Integer chargeTypeId) {
+		this.chargeTypeId = chargeTypeId;
+	}
+
+	public Integer getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(Integer organId) {
+		this.organId = organId;
+	}
+
+	public BigDecimal getCourseFee() {
+		return courseFee;
+	}
+
+	public void setCourseFee(BigDecimal courseFee) {
+		this.courseFee = courseFee;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	public Date getUpdateTime() {
+		return updateTime;
+	}
+
+	public void setUpdateTime(Date updateTime) {
+		this.updateTime = updateTime;
+	}
+}

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Subject.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -39,6 +40,10 @@ public class Subject {
 	private YesOrNoEnum delFlag;
 
 	/**  */
+	@ApiModelProperty(value = "课程费用",required = false)
+	private BigDecimal fee;
+
+	/**  */
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<Subject> subjects;
 
@@ -46,6 +51,14 @@ public class Subject {
 		return subjects;
 	}
 
+	public BigDecimal getFee() {
+		return fee;
+	}
+
+	public void setFee(BigDecimal fee) {
+		this.fee = fee;
+	}
+
 	public void setSubjects(List<Subject> subjects) {
 		this.subjects = subjects;
 	}

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ChargeTypeOrganizationFeeService.java

@@ -0,0 +1,15 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
+import com.ym.mec.common.service.BaseService;
+
+public interface ChargeTypeOrganizationFeeService extends BaseService<Integer, ChargeTypeOrganizationFee> {
+
+    /**
+     * 根据收费类型,分部获取默认费用
+     * @param chargeTypeId
+     * @param organId
+     * @return
+     */
+    ChargeTypeOrganizationFee findByOrganId(Integer chargeTypeId, Integer organId);
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SubjectService.java

@@ -36,7 +36,7 @@ public interface SubjectService extends BaseService<Integer, Subject> {
      * @param chargeTypeId
      * @return
      */
-    List<Subject> findDefaultSubByChargeTypeId(Integer chargeTypeId);
+    List<Subject> findDefaultSubByChargeTypeId(Integer chargeTypeId,Integer organId,Integer number);
 
     /**
      * 通过乐团编号获取声部列表以及声部报名、缴费、计划人数

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ChargeTypeOrganizationFeeServiceImpl.java

@@ -0,0 +1,26 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.dao.ChargeTypeOrganizationFeeDao;
+import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
+import com.ym.mec.biz.service.ChargeTypeOrganizationFeeService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ChargeTypeOrganizationFeeServiceImpl extends BaseServiceImpl<Integer, ChargeTypeOrganizationFee>  implements ChargeTypeOrganizationFeeService {
+	
+	@Autowired
+	private ChargeTypeOrganizationFeeDao chargeTypeOrganizationFeeDao;
+
+	@Override
+	public BaseDAO<Integer, ChargeTypeOrganizationFee> getDAO() {
+		return chargeTypeOrganizationFeeDao;
+	}
+
+	@Override
+	public ChargeTypeOrganizationFee findByOrganId(Integer chargeTypeId, Integer organId) {
+		return chargeTypeOrganizationFeeDao.findByOrganId(chargeTypeId,organId);
+	}
+}

+ 15 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectServiceImpl.java

@@ -1,12 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ym.mec.biz.dal.dao.ChargeTypeOrganizationFeeDao;
 import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.SubjectGoodsMapperDao;
 import com.ym.mec.biz.dal.dto.ConditionDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.dto.SubjectApplyDetailDto;
+import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
 import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.entity.SubjectGoodsMapper;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
@@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -33,6 +36,8 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     private StudentRegistrationDao studentRegistrationDao;
     @Autowired
     private SubjectGoodsMapperDao subjectGoodsMapperDao;
+    @Autowired
+    private ChargeTypeOrganizationFeeDao chargeTypeOrganizationFeeDao;
 
     @Override
     public BaseDAO<Integer, Subject> getDAO() {
@@ -54,8 +59,16 @@ public class SubjectServiceImpl extends BaseServiceImpl<Integer, Subject>  imple
     }
 
     @Override
-    public List<Subject> findDefaultSubByChargeTypeId(Integer chargeTypeId) {
-        return subjectDao.findDefaultSubByChargeTypeId(chargeTypeId);
+    public List<Subject> findDefaultSubByChargeTypeId(Integer chargeTypeId,Integer organId,Integer number) {
+        List<Subject> subByChargeTypeId = subjectDao.findDefaultSubByChargeTypeId(chargeTypeId);
+        ChargeTypeOrganizationFee byOrganId = chargeTypeOrganizationFeeDao.findByOrganId(chargeTypeId, organId);
+        if(byOrganId != null){
+            BigDecimal bigDecimal = new BigDecimal(number);
+            subByChargeTypeId.forEach(e->{
+                e.setFee(byOrganId.getCourseFee().multiply(bigDecimal));
+            });
+        }
+        return subByChargeTypeId;
     }
 
     @Override

+ 76 - 0
mec-biz/src/main/resources/config/mybatis/ChargeTypeOrganizationFeeMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
+<mapper namespace="com.ym.mec.biz.dal.dao.ChargeTypeOrganizationFeeDao">
+
+	<resultMap type="com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee" id="chargeTypeOrganizationFee">
+		<result column="id_" property="id" />
+		<result column="charge_type_id_" property="chargeTypeId" />
+		<result column="organ_id_" property="organId" />
+		<result column="course_fee_" property="courseFee" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="chargeTypeOrganizationFee">
+		SELECT * FROM charge_type_organization_fee WHERE id_ = #{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="chargeTypeOrganizationFee">
+		SELECT * FROM charge_type_organization_fee
+		ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO charge_type_organization_fee
+		(id_,charge_type_id_,organ_id_,course_fee_,create_time_,update_time_)
+		VALUES(#{id},#{chargeTypeId},#{organId},#{courseFee},NOW(),NOW())
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee">
+		UPDATE charge_type_organization_fee
+		<set>
+			<if test="chargeTypeId != null">
+				charge_type_id_ = #{chargeTypeId},
+			</if>
+			<if test="organId != null">
+				organ_id_ = #{organId},
+			</if>
+			<if test="courseFee != null">
+				course_fee_ = #{courseFee},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = #{updateTime},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM charge_type_organization_fee WHERE id_ = #{id}
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="chargeTypeOrganizationFee" parameterType="map">
+		SELECT * FROM charge_type_organization_fee ORDER BY ctof.create_time_ DESC
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM charge_type_organization_fee
+	</select>
+
+    <select id="findByOrganId" resultMap="chargeTypeOrganizationFee">
+		SELECT * FROM charge_type_organization_fee ctof
+		WHERE ctof.charge_type_id_ = #{chargeTypeId} AND ctof.organ_id_ = #{organId}
+		ORDER BY ctof.create_time_ DESC
+		LIMIT 1
+	</select>
+</mapper>

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -79,6 +79,8 @@
     <select id="get" resultMap="CourseSchedule">
         SELECT
           	id_,
+            music_group_id_,
+            group_type_,
             class_group_id_,
             status_,
             subsidy_,

+ 6 - 3
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -344,9 +344,12 @@
     </select>
 
     <select id="queryNoSignStudentRecord" resultMap="StudentAttendance">
-        SELECT cg.music_group_id_,cg.id_ class_group_id_,cssp.course_schedule_id_,cssp.user_id_,cg.current_class_times_,cg.group_type_
-        FROM course_schedule_student_payment cssp LEFT JOIN class_group cg ON cg.id_ = cssp.class_group_id_
-        WHERE cssp.user_id_ NOT IN (SELECT DISTINCT sa.user_id_ FROM student_attendance sa WHERE course_schedule_id_ = #{courseScheduleId})
+        SELECT cg.music_group_id_,cg.id_ class_group_id_,cssp.course_schedule_id_,
+        cssp.user_id_,cg.current_class_times_,cg.group_type_
+        FROM course_schedule_student_payment cssp
+        LEFT JOIN class_group cg ON cg.id_ = cssp.class_group_id_
+        WHERE cssp.user_id_ NOT IN
+        (SELECT DISTINCT sa.user_id_ FROM student_attendance sa WHERE course_schedule_id_ = #{courseScheduleId})
         AND cssp.course_schedule_id_ = #{courseScheduleId}
     </select>
 </mapper>

+ 7 - 0
mec-im/src/main/java/com/ym/controller/GroupController.java

@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * Created by weiqinxiao on 2019/2/25.
  */
@@ -55,6 +57,11 @@ public class GroupController{
         return groupService.groupCreate(groupModel);
     }
 
+    @RequestMapping(value = "/batchCreate", method = RequestMethod.POST)
+    public Object batchCreate(@RequestBody List<GroupModel> groupModels) throws Exception {
+        return groupService.batchCreate(groupModels);
+    }
+
     @RequestMapping(value = "/get", method = RequestMethod.POST)
     public Object get(@RequestBody GroupModel groupModel) throws Exception {
         return groupService.groupGet(groupModel);

+ 14 - 0
mec-im/src/main/java/com/ym/controller/UserController.java

@@ -8,6 +8,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * Created by weiqinxiao on 2019/2/25.
  */
@@ -23,6 +25,18 @@ public class UserController {
         return userService.register(userModel);
     }
 
+    @RequestMapping(value = "/batchRegister", method = RequestMethod.POST)
+    public Object register(@RequestBody List<UserModel> userModels){
+        userModels.forEach(e->{
+            try {
+                userService.register(e);
+            } catch (Exception e1) {
+                e1.printStackTrace();
+            }
+        });
+        return null;
+    }
+
     @RequestMapping(value = "/update", method = RequestMethod.POST)
     public Object update(@RequestBody UserModel userModel) throws Exception {
         return userService.update(userModel);

+ 9 - 0
mec-im/src/main/java/com/ym/service/GroupService.java

@@ -5,6 +5,8 @@ import io.rong.models.conversation.ConversationModel;
 import io.rong.models.group.GroupModel;
 import io.rong.models.group.UserGroup;
 
+import java.util.List;
+
 public interface GroupService {
 
     //群组模块   群组
@@ -54,4 +56,11 @@ public interface GroupService {
     Result conversationUnmute(ConversationModel conversationModel) throws Exception;
 
     Result conversationGet(ConversationModel conversationModel) throws Exception;
+
+    /**
+     * 初始化群数据
+     * @param groupModels
+     * @return
+     */
+    Result batchCreate(List<GroupModel> groupModels);
 }

+ 9 - 0
mec-im/src/main/java/com/ym/service/Impl/GroupServiceImpl.java

@@ -15,6 +15,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Slf4j
 @Service
 public class GroupServiceImpl implements GroupService {
@@ -141,4 +143,11 @@ public class GroupServiceImpl implements GroupService {
     public Result conversationGet(ConversationModel conversationModel) throws Exception {
         return getConversation().get(conversationModel);
     }
+
+    @Override
+    public Result batchCreate(List<GroupModel> groupModels) {
+
+//        return getGroup().create();
+        return null;
+    }
 }

+ 64 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ChargeTypeOrganizationFeeController.java

@@ -0,0 +1,64 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.entity.ChargeTypeOrganizationFee;
+import com.ym.mec.biz.service.ChargeTypeOrganizationFeeService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+/** 
+ * 系统配置控制层
+ */
+@RestController
+@Api(tags = "收费类型对应分部的课程费用表")
+@RequestMapping(value = "chargeTypeOrganizationFee")
+public class ChargeTypeOrganizationFeeController extends BaseController {
+
+	@Autowired
+	private ChargeTypeOrganizationFeeService chargeTypeOrganizationFeeService;
+
+	@ApiOperation(value = "新增")
+	@PostMapping(value = "add")
+    @PreAuthorize("@pcs.hasPermissions('chargeTypeOrganizationFee/add')")
+	public Object add(ChargeTypeOrganizationFee chargeTypeOrganizationFee) {
+		return succeed(chargeTypeOrganizationFeeService.insert(chargeTypeOrganizationFee));
+	}
+
+	@ApiOperation(value = "获取收费类型分部关联的默认课程费用")
+	@GetMapping(value = "findByOrganId")
+    @PreAuthorize("@pcs.hasPermissions('chargeTypeOrganizationFee/findByOrganId')")
+	public Object findByOrganId(Integer chargeTypeId,Integer organId) {
+		return succeed(chargeTypeOrganizationFeeService.findByOrganId(chargeTypeId,organId));
+	}
+
+	@ApiOperation(value = "删除")
+	@PostMapping(value = "delete")
+    @PreAuthorize("@pcs.hasPermissions('chargeTypeOrganizationFee/delete')")
+	public Object delete(Integer id) {
+		return succeed(chargeTypeOrganizationFeeService.delete(id));
+	}
+
+	@ApiOperation(value = "修改")
+	@PostMapping(value = "update")
+    @PreAuthorize("@pcs.hasPermissions('chargeTypeOrganizationFee/update')")
+	public Object update(ChargeTypeOrganizationFee chargeTypeOrganizationFee) {
+		chargeTypeOrganizationFee.setUpdateTime(new Date());
+		return succeed(chargeTypeOrganizationFeeService.update(chargeTypeOrganizationFee));
+	}
+
+	@ApiOperation(value = "分页查询")
+	@GetMapping(value = "queryPage")
+    @PreAuthorize("@pcs.hasPermissions('chargeTypeOrganizationFee/queryPage')")
+	public Object queryPage(QueryInfo queryInfo) {
+		return succeed(chargeTypeOrganizationFeeService.queryPage(queryInfo));
+	}
+}

+ 8 - 3
mec-web/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.SubjectGoodsMapper;
 import com.ym.mec.biz.dal.page.SubjectQueryInfo;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -60,9 +61,13 @@ public class SubjectController extends BaseController {
     @ApiOperation(value = "通过乐团收费类型,获取默认的声部列表")
     @GetMapping("/findDefaultSubByChargeTypeId")
     @PreAuthorize("@pcs.hasPermissions('subject/findDefaultSubByChargeTypeId')")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "chargeTypeId", value = "收费类型编号", required = true, dataType = "Integer")})
-    public Object findDefaultSubByChargeTypeId(Integer chargeTypeId){
-        return succeed(subjectService.findDefaultSubByChargeTypeId(chargeTypeId));
+    @ApiImplicitParams({ @ApiImplicitParam(name = "chargeTypeId", value = "收费类型编号", required = true, dataType = "Integer"),
+            @ApiImplicitParam(name = "organId", value = "分部编号", required = true, dataType = "Integer")})
+    public Object findDefaultSubByChargeTypeId(Integer chargeTypeId,Integer organId,Integer number){
+        if(chargeTypeId == null || organId == null || number == null){
+            throw new BizException("参数校验错误");
+        }
+        return succeed(subjectService.findDefaultSubByChargeTypeId(chargeTypeId,organId,number));
     }
 
     @ApiOperation(value = "新建乐团时,获取设置声部费用默认数据")