Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

Joburgess 5 lat temu
rodzic
commit
cf3b7297f9
25 zmienionych plików z 306 dodań i 196 usunięć
  1. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/PracticeGroupDto.java
  2. 4 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  3. 28 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java
  4. 34 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderDetail.java
  5. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentFee.java
  6. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupStatusEnum.java
  7. 26 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PracticeGroupType.java
  8. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java
  9. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  11. 10 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  12. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  13. 12 8
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  14. 0 3
      mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml
  15. 0 5
      mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml
  16. BIN
      mec-thirdparty/libs/adapay-core-sdk-1.1.1.jar
  17. BIN
      mec-thirdparty/libs/adapay-core-sdk-1.1.3.jar
  18. BIN
      mec-thirdparty/libs/adapay-java-sdk-1.1.1.jar
  19. BIN
      mec-thirdparty/libs/adapay-java-sdk-1.1.3.jar
  20. 4 4
      mec-thirdparty/pom.xml
  21. 1 46
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/MainDemo.java
  22. 22 80
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Payment.java
  23. 11 0
      mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java
  24. 88 13
      mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java
  25. 48 9
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

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

@@ -32,6 +32,16 @@ public class PracticeGroupDto extends PracticeGroup {
 
     private String educationalTeacherName;
 
+    private String payStatus;
+
+    public String getPayStatus() {
+        return payStatus;
+    }
+
+    public void setPayStatus(String payStatus) {
+        this.payStatus = payStatus;
+    }
+
     public Integer getHasRestClass() {
         return hasRestClass;
     }

+ 4 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -1,16 +1,14 @@
 package com.ym.mec.biz.dal.entity;
 
-import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import com.ym.mec.biz.dal.entity.CooperationOrgan.OwnershipType;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.FeeType;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import java.util.Date;
 
 /**
  * 对应数据库表(music_group):

+ 28 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java

@@ -1,13 +1,11 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
+import com.ym.mec.common.enums.BaseEnum;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.util.Date;
-
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
-import com.ym.mec.common.enums.BaseEnum;
+import java.util.Date;
 
 /**
  * 对应数据库表(music_group_payment_calender):
@@ -15,13 +13,34 @@ import com.ym.mec.common.enums.BaseEnum;
 public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCalender> {
 
 	public enum FeeType implements BaseEnum<String, FeeType> {
-		OFFLINE, ONLINE, ALL;
+
+		OFFLINE("OFFLINE", "线下"), ONLINE("ONLINE", "线上"), ALL("ALL", "线上/线下");
+
+		private String code;
+
+		private String msg;
+
+		FeeType(String code, String msg) {
+			this.code = code;
+			this.msg = msg;
+		}
+
+		public void setCode(String code) {
+			this.code = code;
+		}
+
+		public String getMsg() {
+			return msg;
+		}
+
+		public void setMsg(String msg) {
+			this.msg = msg;
+		}
 
 		@Override
 		public String getCode() {
-			return this.name();
+			return code;
 		}
-
 	}
 
 	/**  */
@@ -48,7 +67,7 @@ public class MusicGroupPaymentCalender implements Comparable<MusicGroupPaymentCa
 	private Integer actualNum;
 
 	private String memo;
-	
+
 	private FeeType type;
 
 	/**  */

+ 34 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderDetail.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
@@ -38,6 +39,9 @@ public class MusicGroupPaymentCalenderDetail {
 
 	/**1是0否  */
 	private Integer open;
+
+	/**1是0否  */
+	private YesOrNoEnum openFlag;
 	
 	/**  */
 	private java.util.Date payTime;
@@ -47,6 +51,12 @@ public class MusicGroupPaymentCalenderDetail {
 
 	/**  */
 	private java.util.Date deadlinePaymentDate;
+
+	/**  */
+	private java.util.Date startPaymentDateMgpc;
+
+	/**  */
+	private java.util.Date deadlinePaymentDateMgpc;
 	
 	/**  */
 	private java.util.Date updateTime;
@@ -54,8 +64,32 @@ public class MusicGroupPaymentCalenderDetail {
 	/**  */
 	private java.util.Date createTime;
 
+	public Date getStartPaymentDateMgpc() {
+		return startPaymentDateMgpc;
+	}
+
+	public void setStartPaymentDateMgpc(Date startPaymentDateMgpc) {
+		this.startPaymentDateMgpc = startPaymentDateMgpc;
+	}
+
+	public Date getDeadlinePaymentDateMgpc() {
+		return deadlinePaymentDateMgpc;
+	}
+
+	public void setDeadlinePaymentDateMgpc(Date deadlinePaymentDateMgpc) {
+		this.deadlinePaymentDateMgpc = deadlinePaymentDateMgpc;
+	}
+
 	private SysUser sysUser = new SysUser();
 
+	public YesOrNoEnum getOpenFlag() {
+		return openFlag;
+	}
+
+	public void setOpenFlag(YesOrNoEnum openFlag) {
+		this.openFlag = openFlag;
+	}
+
 	private StudentRegistration studentRegistration = new StudentRegistration();
 
 	public String getMusicGroupId() {

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentFee.java

@@ -14,7 +14,7 @@ public class MusicGroupStudentFee {
 
 	public enum PaymentStatus implements BaseEnum<String, PaymentStatus> {
 
-		PAID_COMPLETED("完成缴费"), NON_PAYMENT("未缴费"), PROCESSING("缴费中");
+		PAID_COMPLETED("缴费"), NON_PAYMENT("未缴费"), PROCESSING("缴费中");
 
 		private String desc;
 

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupStatusEnum.java

@@ -10,10 +10,10 @@ public enum GroupStatusEnum implements BaseEnum<String, GroupStatusEnum> {
 
     NOT_START("NOT_START","未开始"),
     APPLYING("APPLYING","报名中"),
-    NORMAL("NORMAL", "正常"),
+    NORMAL("NORMAL", "进行中"),
     LOCK("LOCK", "锁定"),
     FINISH("FINISH", "结束"),
-    CANCEL("CANCEL", "取消");
+    CANCEL("CANCEL", "关闭");
 
     private String code;
 

+ 26 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PracticeGroupType.java

@@ -3,16 +3,35 @@ package com.ym.mec.biz.dal.enums;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum PracticeGroupType implements BaseEnum<String, PracticeGroupType> {
-	/** 免费 */
-	FREE,
-	/** 收费 */
-	CHARGE,
-	/** 试听 */
-	TRIAL;
+
+	FREE("FREE","免费"),
+	CHARGE("CHARGE","收费"),
+	TRIAL("TRIAL","试听");
+
+	private String code;
+
+	private String msg;
+
+	PracticeGroupType(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
 
 	@Override
 	public String getCode() {
-		return this.name();
+		return this.code;
 	}
 
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.page.MusicCalenderQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.Date;
@@ -63,7 +64,7 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	 * @param queryInfo
 	 * @return
 	 */
-	Object queryDetailPage(MusicCalenderQueryInfo queryInfo);
+	PageInfo<MusicGroupPaymentCalender> queryDetailPage(MusicCalenderQueryInfo queryInfo);
 
 	/**
 	 * 推送乐团缴费提醒

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.service.MusicGroupPaymentCalenderDetailService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;

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

@@ -425,7 +425,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	}
 
 	@Override
-	public Object queryDetailPage(MusicCalenderQueryInfo queryInfo) {
+	public PageInfo<MusicGroupPaymentCalender> queryDetailPage(MusicCalenderQueryInfo queryInfo) {
 		PageInfo<MusicGroupPaymentCalender> pageInfo = queryPage(queryInfo);
 		List<MusicGroupPaymentCalender> rows = pageInfo.getRows();
 		if (rows.size() == 0) {

+ 10 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2174,7 +2174,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     idNameMap = educationalUsers.stream().filter(e -> Objects.nonNull(e.getUserId()) && Objects.nonNull(e.getUserName())).collect(Collectors.toMap(SimpleUserDto::getUserId, user -> user.getUserName()));
                 }
 
-
                 for (PracticeGroupDto e : dataList) {
                     e.setSubjectName(subjectNames.get(e.getSubjectId().intValue()));
                     e.setOrganName(organNames.get(e.getOrganId()));
@@ -2187,6 +2186,16 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
                     Long aLong1 = currentClassTimeMap.get(e.getId() + "");
                     e.setCurrentClassTimes(aLong1 == null ? 0 : aLong1.intValue());
                     e.setEducationalTeacherName(idNameMap.get(e.getEducationalTeacherId()));
+                    e.setSubClassTimes(e.getTotalClassTimes() == null ? 0 : e.getTotalClassTimes() - (e.getCurrentClassTimes() == null ? 0 : e.getCurrentClassTimes()));
+                    if(e.getBuyMonths() == null || e.getBuyMonths() == 0){
+                        e.setPayStatus("免费");
+                    }else {
+                        if(e.getBeRenewGroupId() == null || e.getBeRenewGroupId() == 0l){
+                            e.setPayStatus("首充");
+                        }else {
+                            e.setPayStatus("续费");
+                        }
+                    }
                 }
             }
         }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -16,6 +16,7 @@ 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.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
 import com.ym.mec.biz.dal.enums.DealStatusEnum;

+ 12 - 8
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -16,9 +16,12 @@
 		<result column="pay_time_" property="payTime" />
 		<result column="start_payment_date_" property="startPaymentDate" />
 		<result column="deadline_payment_date_" property="deadlinePaymentDate" />
+		<result column="start_payment_date_mgpc_" property="startPaymentDateMgpc" />
+		<result column="deadline_payment_date_mgpc_" property="deadlinePaymentDateMgpc" />
 		<result column="update_time_" property="updateTime" />
 		<result column="create_time_" property="createTime" />
-		<result column="open_" property="open" />
+		<result column="open_" property="open"/>
+		<result column="open_" property="openFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<association property="sysUser" javaType="com.ym.mec.auth.api.entity.SysUser">
 			<result column="username_" property="username" />
 			<result column="phone_" property="phone" />
@@ -45,20 +48,20 @@
 		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO music_group_payment_calender_detail
 		(id_,music_group_payment_calender_id_,user_id_,expect_amount_,actual_amount_,payment_status_,
-		user_status_,pay_time_,update_time_,create_time_,open_,start_payment_date_,deadline_payment_date_)
+		user_status_,pay_time_,update_time_,create_time_,start_payment_date_,deadline_payment_date_)
 		VALUES(#{id},#{musicGroupPaymentCalenderId},#{userId},#{expectAmount},#{actualAmount},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-		#{userStatus},#{payTime},#{updateTime},#{createTime},#{open},#{startPaymentDate},#{deadlinePaymentDate})
+		#{userStatus},#{payTime},#{updateTime},#{createTime},#{startPaymentDate},#{deadlinePaymentDate})
 	</insert>
 
     <insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderDetail">
         INSERT INTO music_group_payment_calender_detail
 		(id_,music_group_payment_calender_id_,user_id_,expect_amount_,actual_amount_,
-		payment_status_,user_status_,pay_time_,update_time_,create_time_,open_,start_payment_date_,deadline_payment_date_)
+		payment_status_,user_status_,pay_time_,update_time_,create_time_,start_payment_date_,deadline_payment_date_)
 		VALUES
 		<foreach collection="list" item="item" separator=",">
             (#{item.id},#{item.musicGroupPaymentCalenderId},#{item.userId},#{item.expectAmount},
             #{item.actualAmount},#{item.paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{item.userStatus},#{item.payTime},
-            #{item.updateTime},#{item.createTime},#{item.open},#{item.startPaymentDate},#{item.deadlinePaymentDate})
+            #{item.updateTime},#{item.createTime},#{item.startPaymentDate},#{item.deadlinePaymentDate})
         </foreach>
     </insert>
 
@@ -169,9 +172,10 @@
 	</delete>
 
     <!-- 分页查询 -->
-	<select id="queryPage" resultMap="MusicGroupPaymentCalenderDetail"
-		parameterType="map">
-		SELECT mgpcd.*,su.username_,su.phone_,st.name_ subject_names_,sr.music_group_status_
+	<select id="queryPage" resultMap="MusicGroupPaymentCalenderDetail" parameterType="map">
+		SELECT mgpcd.*,su.username_,su.phone_,st.name_ subject_names_,sr.music_group_status_,
+		CASE WHEN mgpcd.start_payment_date_ IS NULL THEN mgpc.start_payment_date_ ELSE mgpcd.start_payment_date_ END start_payment_date_mgpc_,
+		CASE WHEN mgpcd.deadline_payment_date_ IS NULL THEN mgpc.deadline_payment_date_ ELSE mgpcd.deadline_payment_date_ END deadline_payment_date_mgpc_
 		FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN sys_user su ON su.id_ = mgpcd.user_id_
 		LEFT JOIN student_registration sr ON sr.user_id_ = mgpcd.user_id_

+ 0 - 3
mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml

@@ -282,9 +282,6 @@
             <if test="type != null and type == 0">
                 AND pg.be_renew_group_id_ IS NOT NULL AND pg.type_='CHARGE'
             </if>
-            <if test="type != null and type == 2">
-                AND pg.type_='FREE'
-            </if>
             <if test="practiceGroupType != null">
                 AND pg.type_=#{practiceGroupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>

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

@@ -50,11 +50,6 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.TeacherAttendance" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
         INSERT INTO teacher_attendance
         (id_,group_type_,teacher_id_,music_group_id_,class_group_id_,course_schedule_id_,sign_in_time_,sign_in_status_,remark_,create_time_,sign_out_time_,
         sign_out_status_,current_class_times_,sign_in_longitude_latitude_,sign_out_longitude_latitude_)

BIN
mec-thirdparty/libs/adapay-core-sdk-1.1.1.jar


BIN
mec-thirdparty/libs/adapay-core-sdk-1.1.3.jar


BIN
mec-thirdparty/libs/adapay-java-sdk-1.1.1.jar


BIN
mec-thirdparty/libs/adapay-java-sdk-1.1.3.jar


+ 4 - 4
mec-thirdparty/pom.xml

@@ -69,17 +69,17 @@
 		<dependency>
 			<groupId>adapay</groupId>
 			<artifactId>adapay-java-sdk</artifactId>
-			<version>1.1.1</version>
+			<version>1.1.3</version>
 			<scope>system</scope>
-			<systemPath>${project.basedir}/libs/adapay-java-sdk-1.1.1.jar
+			<systemPath>${project.basedir}/libs/adapay-java-sdk-1.1.3.jar
 			</systemPath>
 		</dependency>
 		<dependency>
 			<groupId>adapay.core</groupId>
 			<artifactId>adapay-core-sdk</artifactId>
-			<version>1.1.1</version>
+			<version>1.1.3</version>
 			<scope>system</scope>
-			<systemPath>${project.basedir}/libs/adapay-core-sdk-1.1.1.jar
+			<systemPath>${project.basedir}/libs/adapay-core-sdk-1.1.3.jar
 			</systemPath>
 		</dependency>
 		<dependency>

+ 1 - 46
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/MainDemo.java

@@ -35,7 +35,7 @@ public class MainDemo {
         memberParams.put("address", "武昌区水果湖汉街武汉中央文化旅游区K3地块第2幢34层2号");
         memberParams.put("zip_code", "430000");
         //memberParams.put("telphone", "41164452");
-       // memberParams.put("email", "ceshi@qq.com");
+        // memberParams.put("email", "ceshi@qq.com");
         memberParams.put("bank_code", "03020000");
         memberParams.put("bank_acct_type", "1");
         memberParams.put("card_no", "‘8111501011700649152");
@@ -54,49 +54,4 @@ public class MainDemo {
 
     }
 
-
-    public static void testMultiMerchant() throws Exception {
-
-        // //运行支付类接口
-        String pamentId = Payment.executePaymentTest("yifuyun");
-
-        // //运行退款类接口
-        // RefundDemo.executeRefundTest("yifuyun", "002112019101420422510029799145265012736");
-        // /**
-        //  * 分账使用配套接口 begin
-        //  */
-        // /**用户类接口*/
-         Map<String, Object> member = Member.executeMemberTest("app_7d87c043-aae3-4357-9b2c-269349a980d6");
-        // String memberId = (String) member.get("member_id");
-        // /** 结算户绑定*/
-        // SettleAccountDemo.executeSettleAccountTest("yidian", "app_67ba475b-26e0-4cfa-847c-0f115cae5029", memberId);
-        // /**企业开户*/
-        CorpMember.executeCorpMemberTest("yifuyun", "app_67ba475b-26e0-4cfa-847c-0f115cae5029");
-        // /**
-        //  * 分账使用配套接口 end
-        //  */
-        // //对账单下载
-        // BillDemo.executeBillTest("yifuyun");
-        // String appId = "app_67ba475b-26e0-4cfa-847c-0f115cae5029";
-
-        // /**
-        //  * 获取云闪付用户号
-        //  */
-        // AdapayToolsDemo.executeToolsTest(appId, "yifuyun");
-        // /**
-        //  * 余额查询
-        //  */
-        // SettleAccountDemo.executeQueryBalance("yifuyun", appId, "member_id", "settleCount_id");
-        // /**
-        //  *用户取现
-        //  */
-        // SettleAccountDemo.executeDrawCash("yifuyun", appId, "member_id");
-        // /**
-        //  * 钱包登录申请
-        //  */
-        // AdapayToolsDemo.executeLoginTest(appId,"yifuyun");
-
-    }
-
-
 }

+ 22 - 80
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Payment.java

@@ -9,75 +9,6 @@ import com.huifu.adapay.core.exception.BaseAdaPayException;
 import org.springframework.util.DigestUtils;
 
 public class Payment extends ConfigInit {
-
-
-    /**
-     * 运行支付类接口
-     *
-     * @return paymentId
-     * @throws Exception 异常
-     */
-    public static String executePaymentTest(String merchantKey) throws Exception {
-        //支付接口
-        Map<String, Object> paymentParams = new HashMap<>(10);
-        paymentParams.put("order_no", "jsdk_payment_" + System.currentTimeMillis());
-        paymentParams.put("pay_channel", "alipay_wap");
-        paymentParams.put("pay_amt", "0.01");
-
-        paymentParams.put("goods_title", "your goods title");
-        paymentParams.put("goods_desc", "your goods desc");
-        paymentParams.put("notify_url", "https://wxwechat.utools.club/studentOrder/adaNotify");
-
-
-        paymentParams.put("div_members", "");
-
-        Map<String, Object> deviceInfo = new HashMap<>(2);
-
-        deviceInfo.put("device_ip", "127.0.0.1");
-        deviceInfo.put("device_mac", "交易设备 MAC");
-        deviceInfo.put("device_type", "1");
-        deviceInfo.put("device_imei", "交易设备 IMEI");
-        deviceInfo.put("device_imsi", "交易设备 IMSI");
-        deviceInfo.put("device_iccId", "ICCID");
-        deviceInfo.put("device_wifi_mac", "WIFIMAC");
-
-        paymentParams.put("device_info", deviceInfo);
-
-//        Map<String, Object> goodsDetail = new HashMap<>();
-//
-//        goodsDetail.put("goods_id", "gooods_id_100002");
-//        goodsDetail.put("goods_name", "商品名称");
-//        goodsDetail.put("quantity", "1");
-//        goodsDetail.put("price", "100");
-//        goodsDetail.put("goods_category", "商品类目");
-//        goodsDetail.put("goods_body", "商品描述信息");
-//        goodsDetail.put("show_url", "商品的展示地址");
-//
-//        Map<String, Object> promotionDetail = new HashMap<>();
-//
-//        promotionDetail.put("cost_price", "100");
-//        promotionDetail.put("receipt_id", "商家小票 id");
-//        promotionDetail.put("goods_detail", goodsDetail);
-
-        Map<String, Object> expendParams = new HashMap<>(2);
-        String openId = "";//微信授权获取
-        expendParams.put("open_id", openId);
-        expendParams.put("is_raw", "1");
-        expendParams.put("callback_url", "绝对路径");
-        expendParams.put("limit_pay", "1");
-
-       // expendParams.put("promotion_detail", promotionDetail);
-        paymentParams.put("expend", expendParams);
-        Map<String, Object> payment = executePayment(paymentParams);
-        System.out.println("钱包支付地址:" + payment.get("pay_url"));
-        //支付查询接口
-       // queryPayment((String) payment.get("id"));
-        // //关单接口
-       // closePayment((String) payment.get("id"));
-
-        return (String) payment.get("id");
-    }
-
     /**
      * 执行一个支付交易
      *
@@ -89,18 +20,12 @@ public class Payment extends ConfigInit {
 
         //调用sdk方法,创建支付,得到支付对象
         Map<String, Object> payment = new HashMap<>();
-        try {
-            payment = com.huifu.adapay.model.Payment.create(paymentParams);
-        } catch (BaseAdaPayException e) {
-            e.printStackTrace();
-        }
+        payment = com.huifu.adapay.model.Payment.create(paymentParams);
 
-        String error_code = (String) payment.get("error_code");
-        if (null != error_code) {
-            System.out.println("创建支付返回参数:" + JSON.toJSONString(payment));
-
-            String error_msg = (String) payment.get("error_msg");
-            System.out.println("error_code:" + error_code + "............." + error_msg);
+        String errorCode = (String) payment.get("error_code");
+        if (null != errorCode) {
+            String errorMsg = (String) payment.get("error_msg");
+            throw new BaseAdaPayException(errorMsg);
         }
 
         return payment;
@@ -174,6 +99,23 @@ public class Payment extends ConfigInit {
     }
 
 
+    public static Map<String, Object> queryList(Integer pageIndex, Long createdGte, Long createdLte) throws Exception {
+        Map<java.lang.String, java.lang.Object> paymentParams = new HashMap<>();
+        paymentParams.put("app_id", ConfigInit.appId);
+        paymentParams.put("page_index", pageIndex);
+        paymentParams.put("page_size", "20");
+        paymentParams.put("created_gte", createdGte);
+        paymentParams.put("created_lte", createdLte);
+        Map<String, Object> payment = com.huifu.adapay.model.Payment.queryList(paymentParams);
+        String error_code = (String) payment.get("error_code");
+        if (null != error_code) {
+            String errorMsg = (String) payment.get("error_msg");
+            throw new BaseAdaPayException(errorMsg);
+        }
+        return payment;
+    }
+
+
     public static Map<String, Object> getPayMap(BigDecimal amount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, String sellerNo, List<Map<String, Object>> tempRoutingList) throws Exception {
         Map<String, Object> paymentParams = new LinkedHashMap<>();
         paymentParams.put("appId", appId);

+ 11 - 0
mec-util/src/main/java/com/ym/mec/util/date/DateUtil.java

@@ -1211,6 +1211,17 @@ public class DateUtil {
 		return tomorrowzeroSeconds;
 	}
 
+	public static String timeStamp2Date(String seconds,String format) {
+		if(seconds == null || seconds.isEmpty() || seconds.equals("null")){
+			return "";
+		}
+		if(format == null || format.isEmpty()){
+			format = "yyyy-MM-dd HH:mm:ss";
+		}
+		SimpleDateFormat sdf = new SimpleDateFormat(format);
+		return sdf.format(new Date(Long.valueOf(seconds+"000")));
+	}
+
 	public static void main(String[] args) throws ParseException {
 		// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 88 - 13
mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

@@ -1,31 +1,28 @@
 package com.ym.mec.web.controller;
 
+import com.alibaba.fastjson.JSONArray;
 import com.ym.mec.biz.dal.dto.HfMemberDto;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.thirdparty.adapay.ConfigInit;
 import com.ym.mec.thirdparty.adapay.CorpMember;
 import com.ym.mec.common.controller.BaseController;
-import com.ym.mec.util.upload.UploadUtil;
+import com.ym.mec.thirdparty.adapay.Payment;
+import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.util.excel.POIUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.core.io.Resource;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.util.*;
 
 @RequestMapping("adapay")
 @Api(tags = "汇付服务")
@@ -81,5 +78,83 @@ public class AdapayController extends BaseController {
         return succeed(new CorpMember().executeQueryMember(memberId));
     }
 
+    @ApiOperation("查询企业用户信息")
+    @GetMapping(value = "exportBill")
+    @PreAuthorize("@pcs.hasPermissions('adapay/exportBill')")
+    public void exportBill(Date startTime, Date endTime, HttpServletResponse response) throws Exception {
+
+        long createdGte = startTime.getTime();
+        long createdLte = DateUtil.getLastSecondWithDay(endTime).getTime();
+        int pageIndex = 1;
+        List<Map<String, Object>> data = new ArrayList<>();
+        while (true) {
+            Map<String, Object> paymentList = Payment.queryList(pageIndex, createdGte, createdLte);
+            JSONArray payments = (JSONArray) paymentList.get("payments");
+            if (!paymentList.get("status").equals("succeeded")) {
+                throw new BizException("查询失败,请重试");
+            }
+
+            if (payments != null && payments.size() > 0) {
+                for (Object payment : payments) {
+                    Map<String, Object> paymentMap = (Map<String, Object>) payment;
+                    paymentMap.put("created_time", DateUtil.timeStamp2Date(paymentMap.get("created_time").toString(), null));
+                    if (paymentMap.get("pay_channel").equals("alipay_qr")) {
+                        paymentMap.put("pay_channel", "支付宝正扫");
+                    } else if (paymentMap.get("pay_channel").equals("alipay_wap")) {
+                        paymentMap.put("pay_channel", "支付宝H5支付");
+                    } else {
+                        paymentMap.put("pay_channel", "微信公众号支付");
+                    }
+
+                    if (paymentMap.get("status").equals("pending")) {
+                        paymentMap.put("status", "交易处理中");
+                    } else if (paymentMap.get("status").equals("succeeded")) {
+                        paymentMap.put("status", "交易成功");
+                    } else {
+                        paymentMap.put("status", "交易失败");
+                    }
+                    JSONArray divMembers = (JSONArray) paymentMap.get("div_members");
+                    for (Object divMember : divMembers) {
+                        Map<String, Object> divMemberMap = (Map<String, Object>) divMember;
+                        divMemberMap.putAll(paymentMap);
+                        if (divMemberMap.get("member_id").equals("0")) {
+                            divMemberMap.put("member_id", ConfigInit.merNo);
+                        }
+                        if (divMemberMap.get("fee_flag").equals("N")) {
+                            divMemberMap.put("fee_amt", "0.00");
+                        }
+                        data.add(divMemberMap);
+                    }
+                }
+            }
+            if (paymentList.get("has_more").equals(false)) {
+                break;
+            }
+            pageIndex++;
+        }
+
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            String[] header = {"支付流水号", "订单号", "支付渠道", "交易金额", "商户号", "分润金额", "是否承担手续费", "手续费", "第三方订单号", "支付宝/微信订单号", "交易时间", "交易状态"};
+            String[] body = {"id", "order_no", "pay_channel", "pay_amt", "member_id", "amount", "fee_flag", "fee_amt", "party_order_id", "out_trans_id", "created_time", "status"};
 
+            HSSFWorkbook workbook = POIUtil.exportExcel(header, body, data);
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=bill-" + DateUtil.getDate(new Date()) + ".xls");
+            response.flushBuffer();
+            outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (outputStream != null) {
+                try {
+                    outputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
 }

+ 48 - 9
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -14,10 +14,8 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.excel.POIUtil;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +27,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
-
 import java.io.IOException;
 import java.io.OutputStream;
 import java.math.BigDecimal;
@@ -89,7 +86,6 @@ public class ExportController extends BaseController {
     private TeacherCourseRewardService teacherCourseRewardService;
     @Autowired
     private DegreeRegistrationService degreeRegistrationService;
-
     @Autowired
     private CooperationOrganService cooperationOrganService;
     @Autowired
@@ -98,10 +94,43 @@ public class ExportController extends BaseController {
     private StudentPaymentOrderDao studentPaymentOrderDao;
     @Autowired
     private StudentDao studentDao;
-
+    @Autowired
+    private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
     @Autowired
     private TeacherService teacherService;
 
+    @ApiOperation(value = "乐团管理--修改--缴费设置--缴费记录导出")
+    @PostMapping("export/musicGroupPaymentCalenderDetail")
+    @PreAuthorize("@pcs.hasPermissions('export/musicGroupPaymentCalenderDetail')")
+    public void exportTeacherAttendances(HttpServletResponse response, MusicCalenderDetailQueryInfo queryInfo) throws IOException {
+        queryInfo.setPage(1);
+        queryInfo.setRows(49999);
+        List<MusicGroupPaymentCalenderDetail> rows = musicGroupPaymentCalenderDetailService.queryPage(queryInfo).getRows();
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员编号", "学员姓名", "学员声部", "学员状态", "手机号", "预计缴费金额",
+                    "缴费开始日期","缴费截止日期","是否开启缴费","缴费状态","支付时间"}, new String[]{
+                    "userId", "sysUser.username", "studentRegistration.subjectName", "studentRegistration.musicGroupStatus.msg", "sysUser.phone", "expectAmount",
+                    "startPaymentDateMgpc", "deadlinePaymentDateMgpc", "openFlag.msg", "paymentStatus.desc", "payTime"}, rows);
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
+            response.flushBuffer();
+            outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (outputStream != null) {
+                try {
+                    outputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
     @ApiOperation(value = "导出教师考勤列表")
     @PostMapping("export/queryTeacherAttendances")
     @PreAuthorize("@pcs.hasPermissions('export/queryTeacherAttendances')")
@@ -445,13 +474,23 @@ public class ExportController extends BaseController {
         if (rows != null && rows.size() > 0) {
             rows.forEach(e -> {
                 e.setSubClassTimes(e.getTotalClassTimes() == null ? 0 : e.getTotalClassTimes() - (e.getCurrentClassTimes() == null ? 0 : e.getCurrentClassTimes()));
+                if(e.getBuyMonths() == null || e.getBuyMonths() == 0){
+                    e.setPayStatus("免费");
+                }else {
+                    if(e.getBeRenewGroupId() == null || e.getBeRenewGroupId() == 0l){
+                        e.setPayStatus("首充");
+                    }else {
+                        e.setPayStatus("续费");
+                    }
+                }
             });
         }
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "网管课编号", "课程名称", "指导老师", "教务老师", "班级人数", "先上课单价", "线下课单价",
-                    "当前课次", "总课次", "剩余课次", "开课时间", "结束时间"}, new String[]{
-                    "organName", "id", "name", "teacherName", "educationalTeacherName", "studentNum", "onlineClassesUnitPrice",
-                    "offlineClassesUnitPrice", "currentClassTimes", "totalClassTimes", "subClassTimes", "coursesStartDate", "coursesExpireDate"}, rows);
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{ "课程组编号","课程组名称", "课程组类型","分部", "教务老师", "指导老师", "班级人数",
+                    "当前课次", "总课次", "剩余课次", "开课时间", "结束时间", "课程组状态", "是否续费", "备注"}, new String[]{
+                    "id","name","type.msg","organName", "educationalTeacherName", "teacherName", "studentNum","currentClassTimes",
+                    "totalClassTimes", "subClassTimes", "coursesStartDate", "coursesExpireDate",
+                    "groupStatus.desc","payStatus","memo"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             response.flushBuffer();