Ver código fonte

Merge branch 'reg_feature_5.31'

周箭河 4 anos atrás
pai
commit
fbd48e6972

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ReplacementInstrumentActivityDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import java.util.List;
 import java.util.Map;
 
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
@@ -44,6 +45,7 @@ public interface ReplacementInstrumentActivityDao extends BaseDAO<Integer, Repla
 
     /**
      * 获取问卷分页数据
+     *
      * @param params
      * @return
      */
@@ -51,8 +53,17 @@ public interface ReplacementInstrumentActivityDao extends BaseDAO<Integer, Repla
 
     /**
      * 获取问卷总条数
+     *
      * @param params
      * @return
      */
     Integer getCount(Map<String, Object> params);
+
+    /**
+     * 置换活动的订单
+     *
+     * @param ids
+     * @return
+     */
+    List<StudentPaymentOrder> getActivityOrder(List<Integer> ids);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReplacementInstrumentActivityStatDto.java

@@ -41,6 +41,12 @@ public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentA
     @ApiModelProperty(value="是否有置换乐器")
     private String hasInstrumentsId;
 
+    @ApiModelProperty(value="现金支付金额")
+    private BigDecimal actualAmount = BigDecimal.ZERO;
+
+    @ApiModelProperty(value="余额支付")
+    private BigDecimal balance = BigDecimal.ZERO;
+
     public String getTitle() {
         return title;
     }
@@ -136,4 +142,20 @@ public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentA
     public void setHasYesFirstAnswer(String hasYesFirstAnswer) {
         this.hasYesFirstAnswer = hasYesFirstAnswer;
     }
+
+    public BigDecimal getActualAmount() {
+        return actualAmount;
+    }
+
+    public void setActualAmount(BigDecimal actualAmount) {
+        this.actualAmount = actualAmount;
+    }
+
+    public BigDecimal getBalance() {
+        return balance;
+    }
+
+    public void setBalance(BigDecimal balance) {
+        this.balance = balance;
+    }
 }

+ 26 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentActivityServiceImpl.java

@@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -112,7 +113,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         }
         ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.get(replacementInstrumentActivity.getReplacementInstrumentCooperationId());
         //如果提交过调查问卷,那么覆盖之前的记录
-        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId(),replacementInstrumentCooperation.getId());
+        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId(), replacementInstrumentCooperation.getId());
         if (replacementInstrumentCooperation != null && replacementInstrumentCooperation.getOpenPay().equals(YesOrNoEnum.YES)) {
             replacementInstrumentActivity.setOpenFlag(1);
         }
@@ -188,9 +189,9 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             replacementInstrumentActivity.setId(activity.getId());
             replacementInstrumentActivityDao.update(replacementInstrumentActivity);
 
-            if(questionnaireUserResultList != null && questionnaireUserResultList.size() > 0){
+            if (questionnaireUserResultList != null && questionnaireUserResultList.size() > 0) {
                 //删除原来的问卷结果
-                questionnaireUserResultDao.delByActiveIdAndUserId(activity.getReplacementInstrumentCooperationId(),sysUser.getId());
+                questionnaireUserResultDao.delByActiveIdAndUserId(activity.getReplacementInstrumentCooperationId(), sysUser.getId());
             }
             if (replacementInstrumentActivity.getInstrumentsId() != null && (activity.getInstrumentsId() == null || activity.getInstrumentsId() == 0)) {
                 sendPush = true;
@@ -199,7 +200,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             replacementInstrumentActivityDao.insert(replacementInstrumentActivity);
             sendPush = true;
         }
-        if(questionnaireUserResultList != null && questionnaireUserResultList.size() > 0){
+        if (questionnaireUserResultList != null && questionnaireUserResultList.size() > 0) {
             for (QuestionnaireUserResult result : questionnaireUserResultList) {
                 result.setUserId(sysUser.getId());
                 result.setQuestionnaireTopicId(topicId);
@@ -231,8 +232,8 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
 
 
     @Override
-    public ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId,Integer cooperationId) {
-        return replacementInstrumentActivityDao.findByUserId(cooperationOrganId, userId,cooperationId);
+    public ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId, Integer cooperationId) {
+        return replacementInstrumentActivityDao.findByUserId(cooperationOrganId, userId, cooperationId);
     }
 
     @Override
@@ -248,7 +249,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             ReplacementInstrumentCooperation cooperation = replacementInstrumentCooperationDao.get(queryInfo.getCooperationId());
             CooperationOrgan cooperationOrgan = cooperationOrganDao.get(cooperation.getCooperationOrganId());
             QuestionnaireTopic questionnaireTopic = questionnaireTopicDao.get(cooperation.getTopicId());
-            if(questionnaireTopic != null){
+            if (questionnaireTopic != null) {
                 head.setTopicName(questionnaireTopic.getTitle());
             }
             head.setCooperationOrganName(cooperationOrgan.getName());
@@ -480,11 +481,22 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
 
         List<ReplacementInstrumentActivityStatDto> dataList = new ArrayList<>();
         int count = replacementInstrumentActivityDao.getCount(params);
+        pageInfo.setTotal(count);
 
-        if (count > 0) {
-            pageInfo.setTotal(count);
+        if (queryInfo.getPage() <= pageInfo.getTotalPage()) {
             params.put("offset", pageInfo.getOffset());
             dataList = replacementInstrumentActivityDao.getPageList(params);
+            List<Integer> ids = dataList.stream().map(ReplacementInstrumentActivity::getId).collect(Collectors.toList());
+            if (ids.size() > 0) {
+                List<StudentPaymentOrder> activityPageOrders = replacementInstrumentActivityDao.getActivityOrder(ids);
+                Map<Integer, List<StudentPaymentOrder>> activityOrderMap = activityPageOrders.stream().collect(Collectors.groupingBy(e -> Integer.parseInt(e.getMusicGroupId())));
+                for (ReplacementInstrumentActivityStatDto replacementInstrumentActivityStatDto : dataList) {
+                    if (!activityOrderMap.containsKey(replacementInstrumentActivityStatDto.getId())) continue;
+                    List<StudentPaymentOrder> activityOrders = activityOrderMap.get(replacementInstrumentActivityStatDto.getId());
+                    replacementInstrumentActivityStatDto.setActualAmount(activityOrders.get(0).getActualAmount());
+                    replacementInstrumentActivityStatDto.setBalance(activityOrders.get(0).getBalancePaymentAmount());
+                }
+            }
         }
         pageInfo.setRows(dataList);
         return pageInfo;
@@ -552,13 +564,13 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public void resultSync(){
+    public void resultSync() {
         //获取所有问卷结果
         List<ReplacementInstrumentActivity> activities = replacementInstrumentActivityDao.findAll(new HashMap<>());
         List<QuestionnaireUserResult> questionnaireUserResultList = new ArrayList<>();
         for (ReplacementInstrumentActivity activity : activities) {
             String questionResult = activity.getQuestionResult();
-            if(StringUtils.isEmpty(questionResult)){
+            if (StringUtils.isEmpty(questionResult)) {
                 continue;
             }
             String[] split = questionResult.split("");
@@ -573,7 +585,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
                 result.setActiveId(activity.getReplacementInstrumentCooperationId());
                 result.setActiveType(QuestionnaireActiveTypeEnum.REPLACEMENT);
                 result.setQuestionnaireQuestionId(question.getId());
-                result.setQuestionnaireQuestionItemIdList(item.getId() + (Integer.parseInt(split[i]) == 0?1:0) + "");
+                result.setQuestionnaireQuestionItemIdList(item.getId() + (Integer.parseInt(split[i]) == 0 ? 1 : 0) + "");
                 result.setQuestionnaireTopicId(question.getQuestionnaireTopicId());
                 questionnaireUserResultList.add(result);
             }
@@ -582,8 +594,8 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
     }
 
     @Override
-    public ReplacementInstrumentActivity queryUserInfo(Integer cooperationOrganId,SysUser user,Integer cooperationId) {
-        ReplacementInstrumentActivity replacementInstrumentActivity = findByUserId(cooperationOrganId, user.getId(),cooperationId);
+    public ReplacementInstrumentActivity queryUserInfo(Integer cooperationOrganId, SysUser user, Integer cooperationId) {
+        ReplacementInstrumentActivity replacementInstrumentActivity = findByUserId(cooperationOrganId, user.getId(), cooperationId);
         ReplacementInstrumentCooperation cooperation = replacementInstrumentCooperationDao.get(cooperationId);
         if (replacementInstrumentActivity == null) {
             Student student = studentService.get(user.getId());

+ 16 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -331,9 +331,16 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }
         sysUser.setPhone(studentRegistration.getParentsPhone());
         sysUser.setOrganId(studentRegistration.getOrganId());
-        sysUser.setRealName(studentRegistration.getParentsName());
 
-        sysUser.setUsername(studentRegistration.getName());
+        Boolean updateNameFlag = false;
+        if (sysUser.getRealName() == null) {
+            sysUser.setRealName(studentRegistration.getParentsName());
+        }
+
+        if (sysUser.getUsername() == null) {
+            sysUser.setUsername(studentRegistration.getName());
+            updateNameFlag = true;
+        }
         sysUser.setGender(studentRegistration.getGender());
         sysUser.setBirthdate(studentRegistration.getBirthdate());
         sysUser.setCreateTime(date);
@@ -362,8 +369,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         student.setCurrentGradeNum(studentRegistration.getCurrentGradeNum());
         student.setCurrentClass(studentRegistration.getCurrentClass());
         studentDao.update(student);
-        imGroupDao.updateNickname(userId, studentRegistration.getName());
-        imGroupDao.updateUserFriendNickname(userId, studentRegistration.getName());
+
+        if (updateNameFlag) {
+            imGroupDao.updateNickname(userId, studentRegistration.getName());
+            imGroupDao.updateUserFriendNickname(userId, studentRegistration.getName());
+        }
+
         imFeignService.update(new ImUserModel(userId.toString(), studentRegistration.getName(), sysUser.getAvatar()));
         // 增加报名学生数
         musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(), 1);
@@ -1813,6 +1824,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     public List<Map<String, Integer>> countNormalNum(List<String> musicGroupIds) {
-        return studentRegistrationDao.countNormalNum(StringUtils.join(musicGroupIds,","));
+        return studentRegistrationDao.countNormalNum(StringUtils.join(musicGroupIds, ","));
     }
 }

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml

@@ -305,4 +305,12 @@
         LEFT JOIN organization o on o.id_ = co.organ_id_
         <include refid="queryReplacementsCondition"/>
     </select>
+
+    <select id="getActivityOrder" resultMap="com.ym.mec.biz.dal.dao.StudentPaymentOrderDao.StudentPaymentOrder">
+        SELECT * FROM student_payment_order WHERE group_type_ = 'REPLACEMENT' AND status_ = 'SUCCESS' AND music_group_id_ IN
+        <foreach collection="ids" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        ORDER BY id_ DESC
+    </select>
 </mapper>

+ 29 - 3
mec-util/src/main/java/com/ym/mec/util/http/HttpUtil.java

@@ -38,6 +38,10 @@ import java.util.Map.Entry;
 
 public class HttpUtil {
 
+//	public static void main(String[] args) {
+//		System.out.println(getSortUrl("https://mstuonline.dayaedu.com/#/childrenPayment"));
+//	}
+
 	public static String getSortUrl(String url){
 		try {
 			JSONArray jsonArray = new JSONArray();
@@ -56,15 +60,37 @@ public class HttpUtil {
 				String shortUrl = JSONArray.parseArray(result.getString("ShortUrls")).getJSONObject(0).getString("ShortUrl");
 				return shortUrl;
 			}else{
-				String errorMsg = JSONArray.parseArray(result.getString("ShortUrls")).getJSONObject(0).getString("ErrMsg");
-				System.out.println("短网址生成失败:" + errorMsg);
-				return url;
+				JSONArray jsonArray1 = JSONArray.parseArray(result.getString("ShortUrls"));
+				if(jsonArray1 != null){
+					String errorMsg = JSONArray.parseArray(result.getString("ShortUrls")).getJSONObject(0).getString("ErrMsg");
+					System.out.println("短网址生成失败:" + errorMsg);
+				}else {
+					System.out.println("短网址生成失败:" + result.getString("ErrMsg"));
+				}
+				return getSortUrl1(url);
 			}
 		}catch (Exception e){
 			return url;
 		}
 	}
 
+	public static String getSortUrl1(String url){
+		try {
+			Map<String,Object> paramMap = new HashMap<>();
+			paramMap.put("format","json");
+			paramMap.put("url",URLDecoder.decode(url,"UTF-8"));
+			paramMap.put("key","5dc941c5d3c3816ac84898d7@3d0e03b46a30f4fea51f038e5cd411c5");
+			String s = get("http://mrw.so/api.htm", paramMap);
+			String shortUrl=JSONObject.parseObject(s).getString("url");
+			if(StringUtils.isNotBlank(shortUrl)){
+				return shortUrl;
+			}else{
+				return url;
+			}
+		}catch (Exception e){
+			return url;
+		}
+	}
 	/**
 	 * POST请求http url
 	 * 

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java

@@ -194,8 +194,8 @@ public class ReplacementInstrumentActivityController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"活动编号","分部", "合作单位编号", "合作单位","问卷标题", "缴费状态", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号", "是否置换乐器"};
-            String[] body = {"replacementInstrumentCooperationId","organName", "cooperationOrganId", "cooperationOrganName","title","payStatus==NULL || payStatus==0?'未缴费':payStatus==1?'缴费中':'已缴费'", "userId", "userName", "mobileNo", "subjectName", "brand", "specification","hasInstrumentsId"};
+            String[] header = {"活动编号","分部", "合作单位编号", "合作单位","问卷标题", "缴费状态", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号", "是否置换乐器","现金支付","余额支付"};
+            String[] body = {"replacementInstrumentCooperationId","organName", "cooperationOrganId", "cooperationOrganName","title","payStatus==NULL || payStatus==0?'未缴费':payStatus==1?'缴费中':'已缴费'", "userId", "userName", "mobileNo", "subjectName", "brand", "specification","hasInstrumentsId","actualAmount","balance"};
             workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=replacement-" + DateUtil.getDate(new Date()) + ".xls");