Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java
周箭河 5 years ago
parent
commit
8f90acdf9b
19 changed files with 176 additions and 46 deletions
  1. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java
  2. 13 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java
  3. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  4. 8 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  5. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/musicalListDetailDto.java
  6. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java
  7. 3 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  8. 38 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  9. 1 1
      mec-biz/src/main/resources/config/contracts/courses.ftl
  10. 2 0
      mec-biz/src/main/resources/config/contracts/goods.ftl
  11. 22 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml
  12. 8 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  13. 5 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  14. 7 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  15. 0 3
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  16. 2 1
      mec-student/src/main/java/com/ym/mec/student/controller/SmsCodeController.java
  17. 10 5
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java
  18. 26 19
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/YimeiSmsPlugin.java
  19. 3 0
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.UserGoodsDto;
+import com.ym.mec.biz.dal.dto.musicalListDetailDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -12,6 +13,7 @@ import org.apache.ibatis.annotations.Param;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrder> {
 
@@ -157,4 +159,11 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      * @return
      */
     Integer findOrderByGroupType(@Param("userId") Integer userId, @Param("sporadicId") Integer sporadicId, @Param("groupType") String groupType, @Param("status") DealStatusEnum status);
+
+    /**
+     * 获取订单金额map
+     * @param paymentOrderNo
+     * @return
+     */
+    List<Map<Long, BigDecimal>> queryActualAmount(@Param("paymentOrderNo") List<Long> paymentOrderNo);
 }

+ 13 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java

@@ -6,7 +6,9 @@ import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPaymentOrderDetail> {
 
@@ -47,16 +49,23 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
 
     /**
      * 乐器采购清单明细
-     *
      * @param musicGroupId
      * @return
      */
     List<musicalListDetailDto> getMusicalListDetail(String musicGroupId);
 
     /**
-     * 查询订单的乐器信息
-     * @param orderId
+     * 获取商品名称列表
+     * @param paymentOrderNo
+     * @return
+     */
+    List<Map<Long, String>> queryGoodsNames(@Param("paymentOrderNo") List<Long> paymentOrderNo);
+
+    /**
+     * 获取对应商品类型总价
+     * @param paymentOrderNo
+     * @param type
      * @return
      */
-    StudentPaymentOrderDetail findApplyOrderMusical(Long orderId);
+    List<Map<Long, BigDecimal>> queryGoodsPrice(@Param("paymentOrderNo") List<Long> paymentOrderNo,@Param("type") String type);
 }

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

@@ -284,4 +284,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param studentRegistration
      */
     void updateCurrentClass(StudentRegistration studentRegistration);
+
+    /**
+     * 获取乐团学员购买方式
+     * @param musicGroupId
+     * @return
+     */
+    List<Map<Long, String>> queryPurchaseTypeMap(String musicGroupId);
 }

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -44,7 +44,7 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
     List<BasicUserDto> queryGroupStudents(@Param("teacherId") Integer teacherId, @Param("search") String search);
 
     /**
-     * 根据用户编号列表获取用户名称
+     * 根据用户编号列表获取用户realName
      *
      * @param userIds
      * @return
@@ -195,4 +195,11 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
      * @return
      */
     List<Teacher> findTeacherByOrganId(@Param("organId")String organId);
+
+    /**
+     * 获取用户username
+     * @param userIds
+     * @return
+     */
+    List<Map<Integer, String>> queryUsernameByIds(@Param("userIds") List<Integer> userIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/musicalListDetailDto.java

@@ -5,6 +5,8 @@ import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import java.math.BigDecimal;
 
 public class musicalListDetailDto {
+    private Long paymentOrderId;
+
     private Integer userId;
 
     private String goodsNames;
@@ -25,6 +27,14 @@ public class musicalListDetailDto {
 
     private BigDecimal orderAmount;
 
+    public Long getPaymentOrderId() {
+        return paymentOrderId;
+    }
+
+    public void setPaymentOrderId(Long paymentOrderId) {
+        this.paymentOrderId = paymentOrderId;
+    }
+
     public String getMusicGroupName() {
         return musicGroupName;
     }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -4,6 +4,8 @@ import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.common.service.BaseService;
 
 public interface SysConfigService extends BaseService<Long, SysConfig> {
+	
+	public static final String BASE_API_URL = "base_api_url";
 
     /**
      * 缴费状态提前{}天刷新

+ 3 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -874,7 +874,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<String,String> paymentStatus = MapUtil.convertMybatisMap(musicGroupStudentFeeDao.queryUserPaymentStatus(userId,StringUtils.join(musicGroupIds,",")));
         // 获取学员在该乐团续费状态
         musicCardDtos.forEach(e -> {
-            e.setPaymentStatus(paymentStatus.get(e.getMusicGroupId()) == null?"NON_PAYMENT":paymentStatus.get(e.getMusicGroupId()));
+            e.setPaymentStatus(paymentStatus.get(e.getMusicGroupId()));
         });
         return musicCardDtos;
     }
@@ -1474,13 +1474,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             return true;
         }
         if(studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED){
-//            String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
-            String memo = "http://mstudev.dayaedu.com/#/renew?musicGroupId=" + musicGroupId;
+            String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+            String memo = baseUrl + "/#/renew?musicGroupId=" + musicGroupId;
             //4?http://mstudev.dayaedu.com/#/renew?musicGroupId=" +musicGroupId
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, push, null, 0, "4?" + memo,
                     HttpUtil.getSortUrl(memo));
-            sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, yimei, null, 0, "4?" + memo,
-                    HttpUtil.getSortUrl(memo));
             return false;
         }
         return false;

+ 38 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -1,22 +1,23 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.musicalListDetailDto;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.biz.service.MusicGroupService;
+import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.ym.mec.biz.dal.dao.MusicGroupPurchaseListDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.service.GoodsService;
 import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
@@ -32,11 +33,17 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     @Autowired
     private GoodsService goodsService;
     @Autowired
+    private TeacherDao teacherDao;
+    @Autowired
     private MusicGroupDao musicGroupDao;
     @Autowired
     private OrganizationDao organizationDao;
     @Autowired
     private MusicGroupPurchaseListDao musicGroupPurchaseListDao;
+    @Autowired
+    private StudentPaymentOrderDao studentPaymentOrderDao;
+    @Autowired
+    private StudentRegistrationDao studentRegistrationDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentOrderDetail> getDAO() {
@@ -162,7 +169,33 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 
     @Override
     public List<musicalListDetailDto> getMusicalListDetail(String musicGroupId) {
-        return studentPaymentOrderDetailDao.getMusicalListDetail(musicGroupId);
+        List<musicalListDetailDto> musicalListDetailDtos = studentPaymentOrderDetailDao.getMusicalListDetail(musicGroupId);
+        if(musicalListDetailDtos != null && musicalListDetailDtos.size() > 0){
+            List<Long> paymentOrderNo = musicalListDetailDtos.stream().map(e -> e.getPaymentOrderId()).collect(Collectors.toList());
+            List<Integer> userIds = musicalListDetailDtos.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+            //商品名称
+            MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+            Organization organization = organizationDao.get(musicGroup.getOrganId());
+            Map<Long,String> goodsNameMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsNames(paymentOrderNo));
+            Map<Integer,String> usernameMap = MapUtil.convertIntegerMap(teacherDao.queryUsernameByIds(userIds));
+            Map<Long, BigDecimal> actualAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDao.queryActualAmount(paymentOrderNo));
+            Map<Long, BigDecimal> musicalAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo,"MUSICAL"));
+            Map<Long, BigDecimal> accessoriesAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo,"ACCESSORIES"));
+            Map<Long, BigDecimal> courseAmountMap = MapUtil.convertIntegerMap(studentPaymentOrderDetailDao.queryGoodsPrice(paymentOrderNo,"COURSE"));
+            Map<Long, String> purchaseTypeMap = MapUtil.convertIntegerMap(studentRegistrationDao.queryPurchaseTypeMap(musicGroupId));
+            musicalListDetailDtos.forEach(e->{
+                e.setGoodsNames(goodsNameMap.get(e.getPaymentOrderId()));
+                e.setMusicGroupName(musicGroup.getName());
+                e.setUsername(usernameMap.get(e.getUserId()));
+                e.setOrganName(organization.getName());
+                e.setMusicalAmount(musicalAmountMap.get(e.getPaymentOrderId()));
+                e.setAccessoriesAmount(accessoriesAmountMap.get(e.getPaymentOrderId()));
+                e.setOrderAmount(actualAmountMap.get(e.getPaymentOrderId()));
+                e.setCourseAmount(courseAmountMap.get(e.getPaymentOrderId()));
+                e.setKitGroupPurchaseTypeEnum(KitGroupPurchaseTypeEnum.valueOf(purchaseTypeMap.get(e.getUserId())));
+            });
+        }
+        return musicalListDetailDtos;
     }
 
     @Override

+ 1 - 1
mec-biz/src/main/resources/config/contracts/courses.ftl

@@ -93,7 +93,7 @@
                 <div class="iInfo">
                     <span>学生姓名:${studentInfo.name!}</span>
                 </div>
-                <#if studentInfo.grade??>
+                <#if studentInfo.grade?default("")?trim?length gt 1>
                 <div class="iInfo">
                     <span>所在班级:${studentInfo.grade!} ${studentInfo.clazz!}</span>
                 </div>

+ 2 - 0
mec-biz/src/main/resources/config/contracts/goods.ftl

@@ -92,9 +92,11 @@
                 <div class="iInfo">
                     <span>学生姓名:${studentInfo.name!}</span>
                 </div>
+                <#if studentInfo.grade?default("")?trim?length gt 1>
                 <div class="iInfo">
                     <span>所在班级:${studentInfo.grade!} ${studentInfo.clazz!}</span>
                 </div>
+                </#if>
                 <div class="iInfo">
                     <span>所在声部:${studentInfo.subject.name!}</span>
                 </div>

+ 22 - 1
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -113,6 +113,7 @@
         AND spo.type_ = 'APPLY'
     </select>
     <resultMap id="musicalListDetailDtoMap" type="com.ym.mec.biz.dal.dto.musicalListDetailDto">
+        <result property="paymentOrderId" column="payment_order_id_"/>
         <result property="username" column="username_"/>
         <result property="userId" column="user_id_"/>
         <result property="musicGroupName" column="muaic_group_name_"/>
@@ -125,7 +126,27 @@
         <result property="goodsNames" column="goods_names_"/>
     </resultMap>
     <select id="getMusicalListDetail" resultMap="musicalListDetailDtoMap">
-
+        SELECT MAX(spo.id_) payment_order_id_,spo.user_id_  FROM student_payment_order spo
+        WHERE spo.music_group_id_ = #{musicGroupId}
+        GROUP BY spo.user_id_
+    </select>
+    <select id="queryGoodsNames" resultType="java.util.Map">
+        SELECT spod.payment_order_id_ 'key',GROUP_CONCAT(g.name_) 'value'
+        FROM student_payment_order_detail spod
+        LEFT JOIN goods g ON FIND_IN_SET(g.id_,spod.goods_id_list_)
+        WHERE spod.payment_order_id_ IN
+        <foreach collection="paymentOrderNo" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+        GROUP BY spod.payment_order_id_
+    </select>
+    <select id="queryGoodsPrice" resultType="java.util.Map">
+        SELECT spod.payment_order_id_ 'key' ,SUM(price_) 'value' FROM student_payment_order_detail spod
+        WHERE spod.type_ = #{type} AND spod.payment_order_id_ IN
+        <foreach collection="paymentOrderNo" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+        GROUP BY spod.payment_order_id_
     </select>
 
     <select id="findApplyOrderMusical" resultMap="StudentPaymentOrderDetail">

+ 8 - 1
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -332,5 +332,12 @@
             AND status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         </if>
     </select>
-
+    <select id="queryActualAmount" resultType="java.util.Map">
+        SELECT spo.actual_amount_ 'value',spo.id_ 'key'
+        FROM student_payment_order spo
+        WHERE spo.id_ IN
+        <foreach collection="paymentOrderNo" open="(" close=")" separator="," item="item">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -543,6 +543,11 @@
         WHERE sr.parents_phone_ = #{mobile}
         LIMIT 1
     </select>
+    <select id="queryPurchaseTypeMap" resultType="java.util.Map">
+        SELECT sr.user_id_ 'key',mgsp.kit_group_purchase_type_ 'value' FROM student_registration sr
+        LEFT JOIN music_group_subject_plan mgsp ON sr.actual_subject_id_ = mgsp.subject_id_ AND sr.music_group_id_ = mgsp.music_group_id_
+        WHERE sr.music_group_id_ = #{musicGroupId}
+    </select>
 
     <update id="updateUser">
         UPDATE sys_user SET real_name_ = #{realName},id_card_no_=#{idCardNo} WHERE id_=#{id}

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -568,4 +568,11 @@
             AND FIND_IN_SET(t.organ_id_,#{organId})
         </if>
     </select>
+    <select id="queryUsernameByIds" resultType="java.util.Map" parameterType="list">
+        select id_ `key`,username_ `value` FROM sys_user s
+        WHERE s.id_ IN
+        <foreach collection="userIds" item="item" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

+ 0 - 3
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -2,10 +2,8 @@ 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.auth.api.enums.SysUserType;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
 import com.ym.mec.biz.dal.dto.RegisterPayDto;
-import com.ym.mec.biz.dal.dto.SporadicPayDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -23,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
-
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.HashMap;

+ 2 - 1
mec-student/src/main/java/com/ym/mec/student/controller/SmsCodeController.java

@@ -5,6 +5,7 @@ import com.google.code.kaptcha.Producer;
 import com.google.code.kaptcha.servlet.KaptchaServlet;
 import com.ym.mec.biz.service.SmsCodeService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.security.SecurityConstants;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -80,7 +81,7 @@ public class SmsCodeController extends BaseController {
     @ApiImplicitParam(name = "phone", value = "手机号", required = true, dataType = "String")
     public void getKaptchaImage(HttpServletResponse response,String phone) throws Exception {
         if(StringUtils.isEmpty(phone)){
-            return;
+            throw new BizException("请输入手机号");
         }
         response.setDateHeader("Expires", 0);
 

+ 10 - 5
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java

@@ -22,19 +22,19 @@ import com.ym.mec.util.http.HttpUtil;
 public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean {
 
 	@Value("${push.jiguang.appKey:0e7422e1d6e73637e678716a}")
-	private String appKey;
+	private String appKey = "0e7422e1d6e73637e678716a";
 
 	@Value("${push.jiguang.masterSecret:c2361016604eab56ab2db2ac}")
-	private String masterSecret;
+	private String masterSecret = "c2361016604eab56ab2db2ac";
 
 	@Value("${push.jiguang.apns_production:false}")
-	private boolean apns_production; // 推送环境 True 表示推送生产环境,False 表示要推送开发环境
+	private boolean apns_production = false; // 推送环境 True 表示推送生产环境,False 表示要推送开发环境
 
 	@Value("${push.jiguang.time_to_live:86400}")
-	private int time_to_live; // 离线保留时长 秒为单位 默认1天 最大10天
+	private int time_to_live = 86400; // 离线保留时长 秒为单位 默认1天 最大10天
 
 	@Value("${push.jiguang.reqURL:https://api.jpush.cn/v3/push}")
-	private String reqURL;// 请求极光地址
+	private String reqURL = "https://api.jpush.cn/v3/push";// 请求极光地址
 
 	public static String getName() {
 		return "Jiguang";
@@ -196,4 +196,9 @@ public class JiguangPushPlugin implements MessageSenderPlugin, InitializingBean
 		this.reqURL = reqURL;
 	}
 
+	public static void main(String[] args) throws IOException {
+		JiguangPushPlugin plugin = new JiguangPushPlugin();
+		plugin.send("测试标题", "测试内容", "1093192", "");
+	}
+
 }

+ 26 - 19
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/YimeiSmsPlugin.java

@@ -1,24 +1,31 @@
 package com.ym.mec.thirdparty.message.provider;
 
-import com.alibaba.fastjson.JSONObject;
-import com.ym.mec.thirdparty.message.MessageSenderPlugin;
-import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.http.HttpUtil;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
+import com.alibaba.fastjson.JSONObject;
+import com.ym.mec.thirdparty.exception.ThirdpartyException;
+import com.ym.mec.thirdparty.message.MessageSenderPlugin;
+import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.util.http.HttpUtil;
 
 /**
  * 亿美短信
  */
 @Service
 public class YimeiSmsPlugin implements MessageSenderPlugin, InitializingBean {
+
+	private Logger logger = LoggerFactory.getLogger(YimeiSmsPlugin.class);
+
 	@Value("${com.properties.sms-appId:EUCP-EMY-SMS1-1AIHP}")
 	private String appId;
 	@Value("${com.properties.sms-secretKey:CBA790799C876DAD}")
@@ -30,30 +37,29 @@ public class YimeiSmsPlugin implements MessageSenderPlugin, InitializingBean {
 		return "yimei";
 	}
 
-	private String getParam(String subject, String content, String receiver,String host){
+	private String getParam(String subject, String content, String receiver, String host) {
 		try {
-			HashMap<String,Object> param = new HashMap();
-			param.put("appId",appId);
-			String timestamp = DateUtil.format(new Date(),new SimpleDateFormat("yyyyMMddHHmmss"));
+			HashMap<String, Object> param = new HashMap();
+			param.put("appId", appId);
+			String timestamp = DateUtil.format(new Date(), new SimpleDateFormat("yyyyMMddHHmmss"));
 			param.put("timestamp", timestamp);
 			param.put("sign", DigestUtils.md5Hex(appId + secretKey + timestamp));
-			param.put("content",content);
-			param.put("mobiles",receiver);
+			param.put("content", content);
+			param.put("mobiles", receiver);
 			return HttpUtil.postForHttp(host, param);
 		} catch (Exception e) {
-			e.printStackTrace();
+			throw new ThirdpartyException("调用发送短信接口出现异常", e);
 		}
-		return "";
 	}
 
 	@Override
 	public boolean send(String subject, String content, String receiver, String url) throws Exception {
 		String result = getParam(subject, content, receiver, host + "/simpleinter/sendSMS");
 		JSONObject json = JSONObject.parseObject(result);
-		if("SUCCESS".equals(json.get("code"))){
+		if ("SUCCESS".equals(json.get("code"))) {
 
 			return true;
-		}else {
+		} else {
 			throw new Exception(json.getString("code"));
 		}
 	}
@@ -62,10 +68,11 @@ public class YimeiSmsPlugin implements MessageSenderPlugin, InitializingBean {
 	public boolean batchSend(String subject, String content, String[] receivers, String url) throws Exception {
 		String join = StringUtils.join(receivers, ",");
 		String result = getParam(subject, content, join, host + "/simpleinter/sendSMS");
+		logger.info("调用短信接口返回:{}", result);
 		JSONObject json = JSONObject.parseObject(result);
-		if("SUCCESS".equals(json.get("code"))){
+		if ("SUCCESS".equals(json.get("code"))) {
 			return true;
-		}else {
+		} else {
 			throw new Exception(json.getString("code"));
 		}
 	}

+ 3 - 0
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -42,6 +42,7 @@ public class ExportController extends BaseController {
 
     @ApiOperation(value = "导出乐器采购清单")
     @PostMapping("order/musicalListExport")
+    @PreAuthorize("@pcs.hasPermissions('order/musicalListExport')")
     public void musicalListExport(HttpServletResponse response, String musicGroupId){
         List<Goods> musicalList = studentPaymentOrderDetailService.getMusicalList(musicGroupId);
         if(musicalList == null || musicalList.size() < 1){
@@ -62,6 +63,7 @@ public class ExportController extends BaseController {
 
     @ApiOperation(value = "导出学员采购清单明细")
     @PostMapping("order/musicalListDetailExport")
+    @PreAuthorize("@pcs.hasPermissions('order/musicalListDetailExport')")
     public void musicalListDetailExport(HttpServletResponse response, String musicGroupId){
         List<musicalListDetailDto> musicalList = studentPaymentOrderDetailService.getMusicalListDetail(musicGroupId);
         if(musicalList == null || musicalList.size() < 1){
@@ -103,6 +105,7 @@ public class ExportController extends BaseController {
 
     @ApiOperation(value = "分页导出教师薪酬列表")
     @RequestMapping("courseScheduleTeacherSalary/export")
+    @PreAuthorize("@pcs.hasPermissions('courseScheduleTeacherSalary/export')")
     public void export(CourseScheduleTeacherSalaryQueryInfo queryInfo, HttpServletResponse response) {
         List<TeacherSalaryDto> teacherSalaries = courseScheduleTeacherSalaryService.querySalaries(queryInfo).getRows();
         try {