Pārlūkot izejas kodu

update 考级报名,根据城市匹配分部

周箭河 5 gadi atpakaļ
vecāks
revīzija
af9c9a20c1

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/DegreeRegistration.java

@@ -134,6 +134,8 @@ public class DegreeRegistration {
     @ApiModelProperty(value = "是否重新支付",required = false)
     @ApiModelProperty(value = "是否重新支付",required = false)
     private Boolean isRepay = false;
     private Boolean isRepay = false;
 
 
+    private Integer organId;
+
     public Integer getId() {
     public Integer getId() {
         return id;
         return id;
     }
     }
@@ -309,4 +311,12 @@ public class DegreeRegistration {
     public void setTransNo(String transNo) {
     public void setTransNo(String transNo) {
         this.transNo = transNo;
         this.transNo = transNo;
     }
     }
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
 }
 }

+ 15 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/page/DegreeQueryInfo.java

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.dal.page;
 package com.ym.mec.biz.dal.page;
 
 
-import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 
 
@@ -108,6 +107,13 @@ public class DegreeQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "乐理费用", required = true)
     @ApiModelProperty(value = "乐理费用", required = true)
     private BigDecimal theoryMoney;
     private BigDecimal theoryMoney;
 
 
+
+    /**
+     * 分部id
+     */
+    @ApiModelProperty(value = "分部id", required = true)
+    private String organId;
+
     /**
     /**
      * 报名时间
      * 报名时间
      */
      */
@@ -304,4 +310,12 @@ public class DegreeQueryInfo extends QueryInfo {
     public void setTransNo(String transNo) {
     public void setTransNo(String transNo) {
         this.transNo = transNo;
         this.transNo = transNo;
     }
     }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
 }
 }

+ 12 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeRegistrationServiceImpl.java

@@ -75,10 +75,20 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
             throw new BizException("报考级别为“" + chargeInfo.getTitle() + "”且乐理级别是“免考”时,必须上传证书");
             throw new BizException("报考级别为“" + chargeInfo.getTitle() + "”且乐理级别是“免考”时,必须上传证书");
         }
         }
 
 
+        List<Organization> organs = organizationDao.findAllOrgans();
+        Integer organId = chargeInfo.getOrganId();
+        for (Organization organ : organs) {
+            if (degreeRegistration.getCity().contains(organ.getName())) {
+                organId = organ.getId();
+                break;
+            }
+        }
+
         String orderNo = idGeneratorService.generatorId("payment") + "";
         String orderNo = idGeneratorService.generatorId("payment") + "";
 
 
         degreeRegistration.setLevel(chargeInfo.getTitle());
         degreeRegistration.setLevel(chargeInfo.getTitle());
         degreeRegistration.setOrderNo(orderNo);
         degreeRegistration.setOrderNo(orderNo);
+        degreeRegistration.setOrganId(organId);
         BigDecimal theoryMoney = BigDecimal.ZERO;
         BigDecimal theoryMoney = BigDecimal.ZERO;
         switch (degreeRegistration.getTheoryLevel()) {
         switch (degreeRegistration.getTheoryLevel()) {
             case "一级":
             case "一级":
@@ -134,8 +144,8 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
         studentPaymentOrder.setActualAmount(amount);
         studentPaymentOrder.setActualAmount(amount);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
         studentPaymentOrder.setStatus(DealStatusEnum.ING);
         studentPaymentOrder.setMusicGroupId(degreeRegistration.getSporadicId().toString());
         studentPaymentOrder.setMusicGroupId(degreeRegistration.getSporadicId().toString());
-        studentPaymentOrder.setOrganId(chargeInfo.getOrganId());
-        studentPaymentOrder.setRoutingOrganId(chargeInfo.getOrganId());
+        studentPaymentOrder.setOrganId(organId);
+        studentPaymentOrder.setRoutingOrganId(organId);
         if (theoryMoney.compareTo(BigDecimal.ZERO) > 0) {
         if (theoryMoney.compareTo(BigDecimal.ZERO) > 0) {
             studentPaymentOrder.setMemo("乐理" + degreeRegistration.getTheoryLevel() + ",费用:" + theoryMoney);
             studentPaymentOrder.setMemo("乐理" + degreeRegistration.getTheoryLevel() + ",费用:" + theoryMoney);
         }
         }
@@ -154,15 +164,6 @@ public class DegreeRegistrationServiceImpl extends BaseServiceImpl<Integer, Degr
 
 
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 
 
-        List<Organization> organs = organizationDao.findAllOrgans();
-        Integer organId = chargeInfo.getOrganId();
-        for (Organization organ : organs) {
-            if (degreeRegistration.getCity().contains(organ.getName())) {
-                organId = organ.getId();
-                break;
-            }
-        }
-
         String receiver = "kjRegister";
         String receiver = "kjRegister";
         Map payMap = payService.getPayMap(
         Map payMap = payService.getPayMap(
                 amount,
                 amount,

+ 9 - 2
mec-biz/src/main/resources/config/mybatis/DegreeRegistrationMapper.xml

@@ -6,6 +6,7 @@
         <!--@Table degree_registration-->
         <!--@Table degree_registration-->
         <id column="id_" jdbcType="INTEGER" property="id"/>
         <id column="id_" jdbcType="INTEGER" property="id"/>
         <result column="sporadic_id_" jdbcType="INTEGER" property="sporadicId"/>
         <result column="sporadic_id_" jdbcType="INTEGER" property="sporadicId"/>
+        <result column="organ_id_" jdbcType="INTEGER" property="organId"/>
         <result column="order_no_" jdbcType="VARCHAR" property="orderNo"/>
         <result column="order_no_" jdbcType="VARCHAR" property="orderNo"/>
         <result column="trans_no_" jdbcType="VARCHAR" property="transNo"/>
         <result column="trans_no_" jdbcType="VARCHAR" property="transNo"/>
         <result column="name_" jdbcType="VARCHAR" property="name"/>
         <result column="name_" jdbcType="VARCHAR" property="name"/>
@@ -41,6 +42,9 @@
 
 
     <sql id="queryPageSql">
     <sql id="queryPageSql">
         <where>
         <where>
+            <if test="organId != null">
+                AND FIND_IN_SET(organ_id_,#{organId})
+            </if>
             <if test="status != null and status=='reg'">
             <if test="status != null and status=='reg'">
                 AND <![CDATA[status_ <= 1]]>
                 AND <![CDATA[status_ <= 1]]>
             </if>
             </if>
@@ -117,12 +121,12 @@
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.DegreeRegistration"
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.DegreeRegistration"
             useGeneratedKeys="true">
             useGeneratedKeys="true">
         <!--@mbg.generated-->
         <!--@mbg.generated-->
-        insert into degree_registration (sporadic_id_,order_no_, name_, gender_,
+        insert into degree_registration (sporadic_id_,organ_id_,order_no_, name_, gender_,
         idcard_, city_, school_,
         idcard_, city_, school_,
         subject_,level_, theory_level_,theory_money_, theory_cert_,mobile_,
         subject_,level_, theory_level_,theory_money_, theory_cert_,mobile_,
         money_, memo_, create_time_,
         money_, memo_, create_time_,
         update_time_, status_)
         update_time_, status_)
-        values (#{sporadicId,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{gender,jdbcType=VARCHAR},
+        values (#{sporadicId,jdbcType=INTEGER},#{organId,jdbcType=INTEGER}, #{orderNo,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{gender,jdbcType=VARCHAR},
         #{idcard,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR},
         #{idcard,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{school,jdbcType=VARCHAR},
         #{subject,jdbcType=VARCHAR},#{level,jdbcType=VARCHAR},
         #{subject,jdbcType=VARCHAR},#{level,jdbcType=VARCHAR},
         #{theoryLevel,jdbcType=VARCHAR},#{theoryMoney,jdbcType=DECIMAL},
         #{theoryLevel,jdbcType=VARCHAR},#{theoryMoney,jdbcType=DECIMAL},
@@ -133,6 +137,9 @@
         <!--@mbg.generated-->
         <!--@mbg.generated-->
         update degree_registration
         update degree_registration
         <set>
         <set>
+            <if test="organId != null">
+                organ_id_ = #{organId,jdbcType=INTEGER},
+            </if>
             <if test="sporadicId != null">
             <if test="sporadicId != null">
                 sporadic_id_ = #{sporadicId,jdbcType=INTEGER},
                 sporadic_id_ = #{sporadicId,jdbcType=INTEGER},
             </if>
             </if>

+ 23 - 18
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -87,7 +87,7 @@
          per_amount_,
          per_amount_,
          balance_payment_amount_, remit_fee_, trans_no_,
          balance_payment_amount_, remit_fee_, trans_no_,
          status_, memo_, create_time_, update_time_, payment_channel_, payment_business_channel_,
          status_, memo_, create_time_, update_time_, payment_channel_, payment_business_channel_,
-         payment_account_no_, mer_nos_, order_no_, music_group_id_, class_group_id_,pay_time_)
+         payment_account_no_, mer_nos_, order_no_, music_group_id_, class_group_id_, pay_time_)
         VALUES (#{id}, #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         VALUES (#{id}, #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{userId}, #{organId}, #{routingOrganId},
                 #{userId}, #{organId}, #{routingOrganId},
                 #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
@@ -96,7 +96,7 @@
                 #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{memo}, now(), now(),
                 #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{memo}, now(), now(),
                 #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{merNos}, #{orderNo},
                 #{paymentChannel}, #{paymentBusinessChannel}, #{paymentAccountNo}, #{merNos}, #{orderNo},
                 #{musicGroupId},
                 #{musicGroupId},
-                #{classGroupId},#{payTime})
+                #{classGroupId}, #{payTime})
     </insert>
     </insert>
 
 
     <!-- 根据主键查询一条记录 -->
     <!-- 根据主键查询一条记录 -->
@@ -316,8 +316,7 @@
         FROM student_payment_order
         FROM student_payment_order
         WHERE music_group_id_ = #{musicGroupId}
         WHERE music_group_id_ = #{musicGroupId}
           AND user_id_ = #{userId}
           AND user_id_ = #{userId}
-          AND type_ =
-              'APPLY'
+          AND type_ = 'APPLY'
           AND status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
           AND status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         ORDER BY id_ DESC
         ORDER BY id_ DESC
         LIMIT 1
         LIMIT 1
@@ -454,9 +453,9 @@
         <result column="organ_name" property="organName"/>
         <result column="organ_name" property="organName"/>
         <result column="username_" property="user.username"/>
         <result column="username_" property="user.username"/>
         <result column="charge_type_" property="chargeType"/>
         <result column="charge_type_" property="chargeType"/>
-        <result column="routeMerNo" property="routeMerNo" />
-        <result column="routeAmount" property="routeAmount" />
-        <result column="routeBalance" property="routeBalance" />
+        <result column="routeMerNo" property="routeMerNo"/>
+        <result column="routeAmount" property="routeAmount"/>
+        <result column="routeBalance" property="routeBalance"/>
         <collection property="orderDetailList" ofType="com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail">
         <collection property="orderDetailList" ofType="com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail">
             <result column="detail_id_" property="id"/>
             <result column="detail_id_" property="id"/>
             <result column="detail_type_" property="type"/>
             <result column="detail_type_" property="type"/>
@@ -588,7 +587,8 @@
     </select>
     </select>
 
 
     <select id="getOrderMoneyAmount" parameterType="map" resultMap="StudentPaymentOrder">
     <select id="getOrderMoneyAmount" parameterType="map" resultMap="StudentPaymentOrder">
-        SELECT SUM(spo.expect_amount_) expect_amount_,SUM(actual_amount_) actual_amount_,SUM(balance_payment_amount_) balance_payment_amount_ FROM student_payment_order spo
+        SELECT SUM(spo.expect_amount_) expect_amount_,SUM(actual_amount_) actual_amount_,SUM(balance_payment_amount_)
+        balance_payment_amount_ FROM student_payment_order spo
         <include refid="queryPaymentOrder"/>
         <include refid="queryPaymentOrder"/>
     </select>
     </select>
 
 
@@ -629,23 +629,27 @@
         <![CDATA[
         <![CDATA[
         SELECT SUM(actual_amount_)
         SELECT SUM(actual_amount_)
         FROM student_payment_order
         FROM student_payment_order
-        WHERE status_ IN ('SUCCESS','ING')
+        WHERE status_ IN ('SUCCESS', 'ING')
           AND create_time_ >= #{firstDate}
           AND create_time_ >= #{firstDate}
           AND create_time_ <= NOW()
           AND create_time_ <= NOW()
-          AND  mer_nos_ = #{merNo}
-    ]]></select>
+          AND mer_nos_ = #{merNo}
+        ]]></select>
     <select id="countGroupOrderWithoutFailed" resultType="int">
     <select id="countGroupOrderWithoutFailed" resultType="int">
         SELECT COUNT(*)
         SELECT COUNT(*)
         FROM student_payment_order spo
         FROM student_payment_order spo
-        LEFT JOIN class_group_student_mapper cgsm ON spo.music_group_id_=cgsm.music_group_id_ AND spo.user_id_=cgsm.user_id_
+                 LEFT JOIN class_group_student_mapper cgsm
+                           ON spo.music_group_id_ = cgsm.music_group_id_ AND spo.user_id_ = cgsm.user_id_
         WHERE spo.music_group_id_ = #{groupId}
         WHERE spo.music_group_id_ = #{groupId}
-        AND spo.status_ != 'FAILED'
-        AND cgsm.status_!= 'QUIT'
-        AND spo.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
-        AND cgsm.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
+          AND spo.status_ != 'FAILED'
+          AND cgsm.status_ != 'QUIT'
+          AND spo.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
+          AND cgsm.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler }
     </select>
     </select>
     <select id="countSporadicOrder" resultType="java.lang.Integer">
     <select id="countSporadicOrder" resultType="java.lang.Integer">
-        SELECT COUNT(id_) FROM student_payment_order spo WHERE spo.group_type_ = 'SPORADIC' AND spo.music_group_id_ = #{sporadicId}
+        SELECT COUNT(id_)
+        FROM student_payment_order spo
+        WHERE spo.group_type_ = 'SPORADIC'
+          AND spo.music_group_id_ = #{sporadicId}
     </select>
     </select>
 
 
     <!-- 查找支付成功和支付中订单 -->
     <!-- 查找支付成功和支付中订单 -->
@@ -653,7 +657,8 @@
         <![CDATA[
         <![CDATA[
         SELECT COUNT(*)
         SELECT COUNT(*)
         FROM student_payment_order
         FROM student_payment_order
-        WHERE organ_id_ = #{organId} AND status_ IN ('SUCCESS','ING')
+        WHERE organ_id_ = #{organId}
+          AND status_ IN ('SUCCESS', 'ING')
         ]]>
         ]]>
     </select>
     </select>
 </mapper>
 </mapper>

+ 29 - 0
mec-web/src/main/java/com/ym/mec/web/controller/DegreeController.java

@@ -1,18 +1,26 @@
 package com.ym.mec.web.controller;
 package com.ym.mec.web.controller;
 
 
 
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.page.DegreeQueryInfo;
 import com.ym.mec.biz.dal.page.DegreeQueryInfo;
 import com.ym.mec.biz.service.DegreeRegistrationService;
 import com.ym.mec.biz.service.DegreeRegistrationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.Arrays;
+import java.util.List;
+
 @RequestMapping("degree")
 @RequestMapping("degree")
 @Api(tags = "考级报名服务")
 @Api(tags = "考级报名服务")
 @RestController
 @RestController
@@ -20,12 +28,33 @@ public class DegreeController extends BaseController { ;
 
 
     @Autowired
     @Autowired
     private DegreeRegistrationService degreeRegistrationService;
     private DegreeRegistrationService degreeRegistrationService;
+    @Autowired
+    private EmployeeDao employeeDao;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
 
 
 
     @ApiOperation(value = "查询收费列表")
     @ApiOperation(value = "查询收费列表")
     @GetMapping("/queryPage")
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('degree/queryPage')")
     @PreAuthorize("@pcs.hasPermissions('degree/queryPage')")
     public HttpResponseResult queryPage(DegreeQueryInfo queryInfo) {
     public HttpResponseResult queryPage(DegreeQueryInfo queryInfo) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+                queryInfo.setOrganId(employee.getOrganIdList());
+            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+                return failed("用户所在分部异常");
+            }else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                    return failed("非法请求");
+                }
+            }
+        }
         queryInfo.setSort("create_time_");
         queryInfo.setSort("create_time_");
         queryInfo.setOrder("DESC");
         queryInfo.setOrder("DESC");
         return succeed(degreeRegistrationService.getPageList(queryInfo));
         return succeed(degreeRegistrationService.getPageList(queryInfo));