浏览代码

update 乐器置换导出加,现金和余额支付

周箭河 3 年之前
父节点
当前提交
517f9956be

+ 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());

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

+ 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");