瀏覽代碼

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into mall_order_export

zouxuan 2 年之前
父節點
當前提交
f3f45857ad

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

@@ -21,6 +21,16 @@ public class DoubleEleven2021OrderDetailDto {
 
     private Boolean giveMember;
 
+    private String organName;
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
     public Integer getUserId() {
         return userId;
     }

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
@@ -306,8 +307,13 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
             }
         }
 
+        BigDecimal studentNum = BigDecimal.ONE;
         if(musicGroupPaymentBaseCalender.getPayUserType() == SCHOOL){
             actualTotalAmount = musicGroupPaymentBaseCalender.getCurrentTotalAmount();
+            if(StringUtils.equals(musicGroupPaymentBaseCalender.getCalenderFeeType(),"STUDENT")){
+                String studentNumber = JSONObject.parseObject(musicGroupPaymentBaseCalender.getCalenderFeeJson()).getString("studentNumber");
+                studentNum = new BigDecimal(studentNumber);
+            }
         }
 
         PaymentCalenderStatusEnum status;
@@ -343,7 +349,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
         musicGroupPaymentCalender.setCreateTime(date);
         musicGroupPaymentCalender.setUpdateTime(date);
         musicGroupPaymentCalender.setCurrentTotalAmount(actualTotalAmount);
-        musicGroupPaymentCalender.setOriginalTotalAmount(originalTotalAmount);
+        musicGroupPaymentCalender.setOriginalTotalAmount(originalTotalAmount.multiply(studentNum));
         musicGroupPaymentCalender.setStatus(status);
         musicGroupPaymentCalender.setOrganId(musicGroup.getOrganId());
 

+ 16 - 13
mec-biz/src/main/resources/config/mybatis/VipGroupActivityMapper.xml

@@ -402,7 +402,7 @@
 		FROM student_payment_order spo
 				 LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_ AND spo.user_id_ = aum.user_id_
 				 LEFT JOIN vip_group_activity vga ON vga.id_ = aum.activity_id_
-		WHERE spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
+		WHERE spo.type_ = 'SMALL_CLASS_TO_BUY' AND spo.group_type_ = 'ACTIVITY' AND spo.status_ = 'SUCCESS' AND spo.memo_ = '2021双十一活动购买'
 		  AND spo.organ_id_ IN (10,11,12,13,14,19,21,23,26,28,34,1,7,9,17,20,37,40,6,3,57,58,8,15,16,4)
 		GROUP BY aum.activity_id_,aum.user_id_) c GROUP BY c.type_
 	</select>
@@ -424,7 +424,7 @@
 	</resultMap>
 	<select id="countDoubleEleven2021Statis" resultMap="DoubleEleven2021Dto">
 		SELECT SUM(expect_amount_) total_buy_amount_,COUNT(DISTINCT user_id_) total_buy_num_ FROM student_payment_order
-		WHERE type_ = 'DOUBLE_ELEVEN2021' AND status_ = 'SUCCESS'
+		WHERE type_ = 'SMALL_CLASS_TO_BUY' AND group_type_ = 'ACTIVITY' AND status_ = 'SUCCESS' AND memo_ = '2021双十一活动购买'
 		AND organ_id_ IN (10,11,12,13,14,19,21,23,26,28,34,1,7,9,17,20,37,40,6,3,57,58,8,15,16,4)
 	</select>
 	<select id="countDoubleEleven2022Statis" resultMap="DoubleEleven2021Dto">
@@ -451,7 +451,7 @@
 		FROM student_payment_order spo
 		LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_ AND spo.user_id_ = aum.user_id_
 		LEFT JOIN vip_group_activity vga ON vga.id_ = aum.activity_id_
-		WHERE spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
+		WHERE spo.type_ = 'SMALL_CLASS_TO_BUY' AND spo.group_type_ = 'ACTIVITY' AND spo.status_ = 'SUCCESS' AND spo.memo_ = '2021双十一活动购买'
 		AND spo.organ_id_ IN
 		<foreach collection="organIdList" open="(" close=")" item="organId" separator=",">
 			#{organId}
@@ -474,7 +474,8 @@
 	<select id="countOrganDoubleEleven2021Statis" resultMap="DoubleEleven2021Dto">
 		SELECT SUM(spo.expect_amount_) total_buy_amount_,COUNT(DISTINCT spo.user_id_) total_buy_num_,o.name_ organ_name_,o.id_ organ_id_
 		FROM organization o
-		LEFT JOIN student_payment_order spo ON o.id_ = spo.organ_id_ AND spo.type_ = 'DOUBLE_ELEVEN2021' AND spo.status_ = 'SUCCESS'
+		LEFT JOIN student_payment_order spo ON o.id_ = spo.organ_id_
+		AND spo.type_ = 'SMALL_CLASS_TO_BUY' AND spo.group_type_ = 'ACTIVITY' AND spo.status_ = 'SUCCESS' AND spo.memo_ = '2021双十一活动购买'
 		WHERE FIND_IN_SET(o.id_,#{organId})
 		GROUP BY o.id_
 	</select>
@@ -495,14 +496,15 @@
 		<result property="orderNo" column="order_no_"/>
 		<result property="payTime" column="pay_time_"/>
 		<result property="type" column="type_"/>
+		<result property="organName" column="organ_name_"/>
 	</resultMap>
 	<sql id="queryDoubleEleven2021OrderDetailSql">
-		WHERE
+		WHERE spo.type_ = 'SMALL_CLASS_TO_BUY' AND spo.group_type_ = 'ACTIVITY' AND spo.status_ = 'SUCCESS'
 		<if test="year == '2021'">
-			spo.status_ = 'SUCCESS' AND spo.type_ = 'DOUBLE_ELEVEN2021' and spo.tenant_id_ = #{tenantId}
+			AND spo.memo_ = '2021双十一活动购买'
 		</if>
 		<if test="year == '2022'">
-			spo.group_type_ = 'ACTIVITY' AND spo.type_ = 'SMALL_CLASS_TO_BUY' AND spo.status_ = 'SUCCESS' AND spo.memo_ = '2022双十一活动购买'
+			AND spo.memo_ = '2022双十一活动购买'
 		</if>
 		<if test="search != null and search != ''">
 			AND su.id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR spo.order_no_ LIKE CONCAT('%',#{search},'%')
@@ -527,13 +529,14 @@
 		</if>
 	</sql>
 	<select id="queryDoubleEleven2021OrderDetail" resultMap="DoubleEleven2021OrderDetailDto">
-		SELECT spo.user_id_,su.username_,spo.order_no_,SUM(aum.actual_price_) amount_,spo.create_time_,spo.pay_time_,GROUP_CONCAT(vga.attribute1_) type_,
-			   CASE WHEN cto.id_ IS NULL THEN 0 ELSE 1 END give_member_
+		SELECT spo.user_id_,su.username_,spo.order_no_,SUM(aum.actual_price_) amount_,
+		       spo.create_time_,spo.pay_time_,GROUP_CONCAT(vga.attribute1_) type_,o.name_ organ_name_
 		FROM student_payment_order spo
-				 LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_
-				 LEFT JOIN vip_group_activity vga ON vga.id_ = aum.activity_id_
-				 LEFT JOIN sys_user su ON su.id_ = spo.user_id_
-				 LEFT JOIN cloud_teacher_order cto ON cto.order_id_ = spo.id_
+		LEFT JOIN activity_user_mapper aum ON spo.id_ = aum.payment_order_id_
+		LEFT JOIN vip_group_activity vga ON vga.id_ = aum.activity_id_
+		LEFT JOIN sys_user su ON su.id_ = spo.user_id_
+		LEFT JOIN cloud_teacher_order cto ON cto.order_id_ = spo.id_
+		LEFT JOIN organization o ON spo.organ_id_ = o.id_
 		<include refid="queryDoubleEleven2021OrderDetailSql"/>
 		GROUP BY spo.id_
 		ORDER BY spo.pay_time_ DESC

+ 6 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -488,10 +488,9 @@ public class ExportController extends BaseController {
         }
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "学员姓名", "订单号", "交易金额",
-                    "交易时间", "订单创建时间", "购买课程", "赠送会员"}, new String[]{
-                    "userId", "username", "orderNo", "amount", "payTime", "createTime", "type",
-                    "giveMember==0?'否':'是'"}, rows);
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "学员编号", "学员姓名", "订单号", "交易金额",
+                    "交易时间", "订单创建时间", "购买课程"}, new String[]{
+                    "organName","userId", "username", "orderNo", "amount", "payTime", "createTime", "type"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=classGroup-" + DateUtil.getDate(new Date()) + ".xls");
@@ -516,6 +515,9 @@ public class ExportController extends BaseController {
     @RequestMapping("export/organDoubleEleven2021Statis")
     @PreAuthorize("@pcs.hasPermissions('export/organDoubleEleven2021Statis')")
     public void organDoubleEleven2021Statis(HttpServletResponse response, OrganDoubleEleven2021StatisDto statisDto) throws IOException {
+        if(StringUtils.isEmpty(statisDto.getOrganId())){
+            statisDto.setOrganId("4,10,11,12,13,14,19,21,23,26,28,34,1,7,9,17,20,37,40,6,3,57,58,8,15,16");
+        }
         List<DoubleEleven2021Dto> rows = vipGroupActivityService.organDoubleEleven2021Statis(statisDto);
         if (rows.size() < 1) {
             throw new BizException("没有可导出数据");

+ 3 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -23,7 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
-
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -54,6 +53,9 @@ public class VipGroupActivityController extends BaseController {
     @GetMapping("/organDoubleEleven2021Statis")
     @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/organDoubleEleven2021Statis')")
     public HttpResponseResult organDoubleEleven2021Statis(OrganDoubleEleven2021StatisDto queryInfo){
+        if(StringUtils.isEmpty(queryInfo.getOrganId())){
+            queryInfo.setOrganId("4,10,11,12,13,14,19,21,23,26,28,34,1,7,9,17,20,37,40,6,3,57,58,8,15,16");
+        }
         return succeed(vipGroupActivityService.organDoubleEleven2021Statis(queryInfo));
     }