Ver código fonte

Merge remote-tracking branch 'origin/master'

Joburgess 5 anos atrás
pai
commit
2da3fea68e

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleEvaluateDao.java

@@ -18,6 +18,8 @@ public interface CourseScheduleEvaluateDao extends BaseDAO<Long, CourseScheduleE
 
     List<PracticeGroupsDto> getPracticeGroupsBuy();
 
+    List<PracticeGroupsDto> getPracticeGroupsRenew();
+
     List<PracticeGroupsDto> getHasReportNums();
 
     List<PracticeGroupsDto> getOrganPracticeGroups();

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantPaymentOrderDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
 
 import org.apache.ibatis.annotations.Param;
 
@@ -40,4 +41,6 @@ public interface TenantPaymentOrderDao extends BaseDAO<Long, TenantPaymentOrder>
 	 * @return
 	 */
 	List<TenantPaymentOrder> findOrdersByStatus(@Param("status") DealStatusEnum status, @Param("paymentChannel") String paymentChannel);
+
+	TenantPaymentOrder getOrderMoneyAmount(Map<String, Object> params);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PracticeGroupsDto.java

@@ -9,6 +9,7 @@ public class PracticeGroupsDto {
     private Integer overNums = 0;
     private Integer reportNums = 0;
     private Integer buyNums = 0;
+    private Integer renewNums = 0;
     private BigDecimal totalMoney = BigDecimal.ZERO;
     private Double buyScale =  0.00;
 
@@ -75,4 +76,12 @@ public class PracticeGroupsDto {
     public void setBuyScale(Double buyScale) {
         this.buyScale = buyScale;
     }
+
+    public Integer getRenewNums() {
+        return renewNums;
+    }
+
+    public void setRenewNums(Integer renewNums) {
+        this.renewNums = renewNums;
+    }
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/practiceGroupStatisDto.java

@@ -8,6 +8,7 @@ public class practiceGroupStatisDto {
     private BigDecimal totalMoney;
     private Integer totalNum = 0;
     private Integer buyNum = 0;
+    private Integer renewNum = 0;
     private Integer overNum = 0;
     private Integer reportNum = 0;
     private BigDecimal buyScale;
@@ -70,4 +71,12 @@ public class practiceGroupStatisDto {
     public void setBuyScale(BigDecimal buyScale) {
         this.buyScale = buyScale;
     }
+
+    public Integer getRenewNum() {
+        return renewNum;
+    }
+
+    public void setRenewNum(Integer renewNum) {
+        this.renewNum = renewNum;
+    }
 }

+ 14 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TenantPaymentOrder.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -39,6 +40,8 @@ public class TenantPaymentOrder {
 
 	/**  */
 	private Integer userId;
+	/**  */
+	private String username;
 
 	/** 分部id */
 	private Integer organId;
@@ -79,7 +82,7 @@ public class TenantPaymentOrder {
 	private String memo;
 
 	/** 付款渠道 */
-	private String paymentChannel;
+	private PaymentChannelEnum paymentChannel;
 
 	/** 业务渠道 */
 	private String paymentBusinessChannel;
@@ -102,6 +105,14 @@ public class TenantPaymentOrder {
 	/**  */
 	private java.util.Date updateTime;
 
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
 	public void setId(Long id) {
 		this.id = id;
 	}
@@ -230,11 +241,11 @@ public class TenantPaymentOrder {
 		return this.memo;
 	}
 
-	public void setPaymentChannel(String paymentChannel) {
+	public void setPaymentChannel(PaymentChannelEnum paymentChannel) {
 		this.paymentChannel = paymentChannel;
 	}
 
-	public String getPaymentChannel() {
+	public PaymentChannelEnum getPaymentChannel() {
 		return this.paymentChannel;
 	}
 

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentChannelEnum.java

@@ -3,7 +3,10 @@ package com.ym.mec.biz.dal.enums;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum PaymentChannelEnum implements BaseEnum<String, PaymentChannelEnum> {
-	YQPAY("YQPAY", "易乾"), UNIONPAY("UNIONPAY", "银联");
+	YQPAY("YQPAY", "双乾"),
+	ADAPAY("ADAPAY", "汇付"),
+	BALANCE("BALANCE", "余额"),
+	UNIONPAY("UNIONPAY", "银联");
 
 	private String code;
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantPaymentOrderService.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import java.util.Map;
 
 import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
+import com.ym.mec.biz.dal.page.TenantPaymentOrderQueryInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface TenantPaymentOrderService extends BaseService<Long, TenantPaymentOrder> {
@@ -33,4 +34,6 @@ public interface TenantPaymentOrderService extends BaseService<Long, TenantPayme
 	 * @return
 	 */
 	public TenantPaymentOrder queryByOrderNo(String orderNo);
+
+	Object queryTenanPaymentPage(TenantPaymentOrderQueryInfo queryInfo);
 }

+ 28 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantPaymentOrderServiceImpl.java

@@ -10,6 +10,12 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dto.PageInfoOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
+import com.ym.mec.biz.dal.page.TenantPaymentOrderQueryInfo;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.util.collection.MapUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -156,7 +162,7 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
 			tenantPaymentOrder.setComAmount(routingFee.get("COM"));
 			tenantPaymentOrder.setPerAmount(routingFee.get("PER"));
 			tenantPaymentOrder.setMerNos((String) payMap.get("routingMerNos"));
-			tenantPaymentOrder.setPaymentChannel((String) payMap.get("type"));
+			tenantPaymentOrder.setPaymentChannel(PaymentChannelEnum.valueOf(payMap.get("type").toString()));
 			tenantPaymentOrder.setUpdateTime(date);
 			tenantPaymentOrderDao.update(tenantPaymentOrder);
 
@@ -330,4 +336,25 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
 	public TenantPaymentOrder queryByOrderNo(String orderNo) {
 		return tenantPaymentOrderDao.findOrderByOrderNo(orderNo);
 	}
+
+	@Override
+	public Object queryTenanPaymentPage(TenantPaymentOrderQueryInfo queryInfo) {
+		PageInfoOrder<TenantPaymentOrder> pageInfo = new PageInfoOrder<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+		List<TenantPaymentOrder> dataList = new ArrayList<>();
+		int count = this.findCount(params);
+		if (count > 0) {
+			TenantPaymentOrder orderMoneyAmount = tenantPaymentOrderDao.getOrderMoneyAmount(params);
+			if(orderMoneyAmount != null){
+				pageInfo.setTotalExpectAmount(orderMoneyAmount.getExpectAmount() !=null? orderMoneyAmount.getExpectAmount():BigDecimal.ZERO);
+				pageInfo.setTotalActualAmount(orderMoneyAmount.getActualAmount() !=null? orderMoneyAmount.getActualAmount():BigDecimal.ZERO);
+			}
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = tenantPaymentOrderDao.queryPage(params);
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
 }

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleEvaluateMapper.xml

@@ -125,6 +125,7 @@
         <result column="organ_id_" jdbcType="INTEGER" property="organId"/>
         <result column="total_nums_" jdbcType="INTEGER" property="totalNums"/>
         <result column="buy_nums_" jdbcType="INTEGER" property="buyNums"/>
+        <result column="renew_nums_" jdbcType="INTEGER" property="renewNums"/>
         <result column="report_nums_" jdbcType="INTEGER" property="reportNums"/>
         <result column="total_money_" jdbcType="DECIMAL" property="totalMoney"/>
     </resultMap>
@@ -260,4 +261,14 @@
         AND DATE_FORMAT(create_time_,'%Y%m%d') = DATE_FORMAT(#{nowDate},'%Y%m%d')
         GROUP BY class_group_id_;
     </select>
+
+    <select id="getPracticeGroupsRenew" resultMap="PracticeGroupsOrgan">
+        SELECT organ_id_, count(distinct student_id_) renew_nums_
+        FROM practice_group
+        WHERE group_status_ != 'LOCK'
+          AND group_status_ != 'CANCEL'
+          AND buy_months_ >= 1
+          AND be_renew_group_id_ >= 1
+        GROUP BY organ_id_
+    </select>
 </mapper>

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/TenantPaymentOrderMapper.xml

@@ -8,6 +8,7 @@
 		<result column="id_" property="id" />
 		<result column="activities_id_" property="activitiesId" />
 		<result column="user_id_" property="userId" />
+		<result column="real_name_" property="username" />
 		<result column="organ_id_" property="organId" />
 		<result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="trans_minutes_" property="transMinutes" />
@@ -21,7 +22,7 @@
 		<result column="trans_no_" property="transNo" />
 		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="memo_" property="memo" />
-		<result column="payment_channel_" property="paymentChannel" />
+		<result column="payment_channel_" property="paymentChannel" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="payment_business_channel_" property="paymentBusinessChannel" />
 		<result column="mer_nos_" property="merNos" />
 		<result column="order_no_" property="orderNo" />
@@ -165,7 +166,8 @@
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="TenantPaymentOrder"
 		parameterType="map">
-		SELECT tpo.* FROM tenant_payment_order tpo
+		SELECT tpo.*,su.real_name_ FROM tenant_payment_order tpo
+		LEFT JOIN sys_user su ON su.id_ = tpo.user_id_
         <include refid="queryPaymentOrder"/>
 		ORDER BY tpo.id_
 		<include refid="global.limit" />
@@ -196,4 +198,8 @@
           AND payment_channel_ = #{paymentChannel}
         LIMIT 100
     </select>
+	<select id="getOrderMoneyAmount" resultMap="TenantPaymentOrder">
+		SELECT SUM(expect_amount_) expect_amount_,SUM(actual_amount_) actual_amount_ FROM tenant_payment_order tpo
+		<include refid="queryPaymentOrder"/>
+	</select>
 </mapper>

+ 11 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -369,6 +369,7 @@ public class StudentOrderController extends BaseController {
         List<PracticeGroupsDto> organPracticeGroups = courseScheduleEvaluateDao.getOrganPracticeGroups();
         List<PracticeGroupsDto> practiceGroupsFrees = courseScheduleEvaluateDao.getPracticeGroupsFree();
         List<PracticeGroupsDto> practiceGroupsBuys = courseScheduleEvaluateDao.getPracticeGroupsBuy();
+        List<PracticeGroupsDto> practiceGroupsRenews = courseScheduleEvaluateDao.getPracticeGroupsRenew();
 
         List<PracticeGroupsDto> practiceGroups = new ArrayList<>();
         for (Organization organ : organs) {
@@ -389,6 +390,13 @@ public class StudentOrderController extends BaseController {
                     break;
                 }
             }
+            //续费人数
+            for (PracticeGroupsDto practiceGroupsRenew : practiceGroupsRenews) {
+                if (organ.getId().equals(practiceGroupsRenew.getOrganId())) {
+                    practiceGroupsDto.setRenewNums(practiceGroupsRenew.getRenewNums());
+                    break;
+                }
+            }
             //已完成人数
             for (PracticeGroupsDto organPracticeGroup : organPracticeGroups) {
                 if (organ.getId().equals(organPracticeGroup.getOrganId()) && organPracticeGroup.getBuyNums() >= organPracticeGroup.getTotalNums()) {
@@ -422,6 +430,7 @@ public class StudentOrderController extends BaseController {
         BigDecimal totalMoney = BigDecimal.ZERO;
         Integer totalNum = 0;
         Integer buyNum = 0;
+        Integer renewNum = 0;
         Integer overNum = 0;
         Integer reportNum = 0;
 
@@ -437,6 +446,7 @@ public class StudentOrderController extends BaseController {
             overNum += next.getOverNums();
             buyNum += next.getBuyNums();
             reportNum += next.getReportNums();
+            renewNum += next.getRenewNums();
         }
         practiceGroups = practiceGroups.stream().sorted(Comparator.comparingDouble(PracticeGroupsDto::getBuyScale).reversed()).collect(Collectors.toList());
 
@@ -445,6 +455,7 @@ public class StudentOrderController extends BaseController {
         practiceGroupStatisDto.setTotalMoney(totalMoney);
         practiceGroupStatisDto.setTotalNum(totalNum);
         practiceGroupStatisDto.setBuyNum(buyNum);
+        practiceGroupStatisDto.setRenewNum(renewNum);
         practiceGroupStatisDto.setOverNum(overNum);
         practiceGroupStatisDto.setReportNum(reportNum);
 

+ 30 - 28
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -22,7 +22,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -71,6 +70,36 @@ public class ExportController extends BaseController {
     private PracticeGroupDao practiceGroupDao;
     @Autowired
     private CourseReviewService courseReviewService;
+    @Autowired
+    private TenantPaymentOrderService tenantPaymentOrderService;
+
+    @ApiOperation(value = "导出对外订单列表")
+    @PostMapping("export/tenantPaymentOrder")
+    @PreAuthorize("@pcs.hasPermissions('export/tenantPaymentOrder')")
+    public void tenantPaymentOrder(HttpServletResponse response,TenantPaymentOrderQueryInfo queryInfo) {
+        queryInfo.setRows(49999);
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        List<TenantPaymentOrder> paymentOrders = tenantPaymentOrderService.queryPage(queryInfo).getRows();
+//        if (paymentOrders.size() > 50000) {
+//            throw new BizException("数据集太大,不能导出.最大数据集不能超过50000");
+//        }
+        try {
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"交易流水号", "订单号", "订单日期", "交易类型", "应付金额",
+                    "实付金额", "用户姓名", "交易方式", "收款账户", "交易状态", "备注", "交易方式"}, new String[]{
+                    "transNo", "orderNo", "createTime", "type.desc", "expectAmount",
+                    "actualAmount", "username", "paymentChannel", "merNos", "status.msg", "memo", "paymentChannel.desc"}, paymentOrders);
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
+            response.flushBuffer();
+            workbook.write(response.getOutputStream());
+            workbook.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
     @ApiOperation(value = "导出老师课酬")
     @PostMapping("export/teacherSalary")
@@ -312,33 +341,6 @@ public class ExportController extends BaseController {
             e.printStackTrace();
         }
     }
-/*
-
-    @ApiOperation(value = "导出学员是否有课")
-    @PostMapping("export/studentHasCourse")
-    @PreAuthorize("@pcs.hasPermissions('export/studentHasCourse')")
-    public void studentHasCourse(HttpServletResponse response,String organId) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            throw new BizException("获取用户信息失败");
-        }
-        if(StringUtils.isEmpty(organId)){
-            Employee employee = employeeDao.get(sysUser.getId());
-            organId = employee.getOrganIdList();
-        }
-        List<StudentHasCourseDto> hasCourseDtos = studentManageService.queryHasCourseStudent(organId);
-        try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "姓名", "分部", "所在乐团", "乐团所属声部", "所在vip课","是否激活","是否预约陪练课","是否有陪练课"}, new String[]{
-                    "userId", "userName", "organName", "musicGroupName", "subjectName", "vipGroupName","isActive.msg","isMake.msg","hasPracticeCourse.msg"}, hasCourseDtos);
-            response.setContentType("application/octet-stream");
-            response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
-            response.flushBuffer();
-            workbook.write(response.getOutputStream());
-            workbook.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }*/
 
 
     @ApiOperation(value = "导出乐器采购清单")

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

@@ -24,7 +24,7 @@ public class TenantPaymentOrderController extends BaseController {
     @ApiOperation(value = "分页查询订单")
     @GetMapping("/queryPage")
     public Object queryPage(TenantPaymentOrderQueryInfo queryInfo){
-        return succeed(tenantPaymentOrderService.queryPage(queryInfo));
+        return succeed(tenantPaymentOrderService.queryTenanPaymentPage(queryInfo));
     }
 
     @ApiOperation(value = "查询订单明细")