Browse Source

Merge branch 'master' into online1

yonge 5 years ago
parent
commit
2ace66c304
23 changed files with 676 additions and 1328 deletions
  1. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/HfMemberDao.java
  2. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleEndDto.java
  4. 71 4
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/HfMember.java
  5. 36 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/HfMemberQueryInfo.java
  6. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/service/HfMemberService.java
  7. 48 3
      mec-biz/src/main/java/com/ym/mec/biz/service/NotifyCallback.java
  8. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  9. 139 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/HfMemberSserviceImpl.java
  10. 21 21
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  11. 164 0
      mec-biz/src/main/resources/config/mybatis/HfMemberMapper.xml
  12. 16 0
      mec-biz/src/main/resources/config/mybatis/PracticeGroupMapper.xml
  13. 0 134
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/AdapayTools.java
  14. 0 88
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Bill.java
  15. 0 8
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/ConfigInit.java
  16. 13 159
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/CorpMember.java
  17. 0 57
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/MainDemo.java
  18. 0 244
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Member.java
  19. 5 5
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Payment.java
  20. 0 153
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Refund.java
  21. 19 423
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/SettleAccount.java
  22. 9 0
      mec-web/src/main/java/com/ym/mec/web/WebApplication.java
  23. 63 29
      mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/HfMemberDao.java

@@ -0,0 +1,25 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.ym.mec.biz.dal.entity.HfMember;
+import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface HfMemberDao extends BaseDAO<Integer, HfMember> {
+
+    /**
+     * 根据商户号获取商户信息
+     *
+     * @param memberId
+     * @return
+     */
+    HfMember getByMemberId(@Param("memberId") String memberId);
+
+    /**
+     * 根据名字获取商户信息
+     * @param name
+     * @return
+     */
+    HfMember getByName(@Param("name") String name);
+}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/PracticeGroupDao.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.dal.entity.PracticeGroup;
 import com.ym.mec.biz.dal.enums.GroupStatusEnum;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.security.core.parameters.P;
 
 import java.util.Date;
 import java.util.List;
@@ -357,4 +358,15 @@ public interface PracticeGroupDao extends com.ym.mec.common.dal.BaseDAO<Long, Pr
                                         @Param("remindStatus") Integer remindStatus);
 
     List<PracticeCourseDto> getPracticeGroupByIds(@Param("practiceIds") List<Long> practiceIds);
+
+    List<PracticeGroup> getWithIds(@Param("practiceIds") List<Long> practiceIds);
+
+    /**
+     * @describe 获取网管课类型
+     * @author Joburgess
+     * @date 2020.08.20
+     * @param practiceIds:
+     * @return java.util.List<java.util.Map<java.lang.Long,java.lang.String>>
+     */
+    List<Map<Long, String>> getPracticeGroupType(@Param("practiceIds") List<Long> practiceIds);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleEndDto.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.PracticeGroup;
 import com.ym.mec.biz.dal.enums.SignInStatusEnum;
 import com.ym.mec.biz.dal.enums.SignOutStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
@@ -41,6 +42,16 @@ public class CourseScheduleEndDto extends CourseSchedule {
 
     private String settlementTime;
 
+    private PracticeGroup practiceGroup;
+
+    public PracticeGroup getPracticeGroup() {
+        return practiceGroup;
+    }
+
+    public void setPracticeGroup(PracticeGroup practiceGroup) {
+        this.practiceGroup = practiceGroup;
+    }
+
     public String getSettlementTime() {
         return settlementTime;
     }

+ 71 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HfMemberDto.java → mec-biz/src/main/java/com/ym/mec/biz/dal/entity/HfMember.java

@@ -1,16 +1,21 @@
-package com.ym.mec.biz.dal.dto;
+package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.web.multipart.MultipartFile;
 
-public class HfMemberDto {
+import java.util.Date;
+
+public class HfMember {
+    @ApiModelProperty(value = "id",required = true)
+    private Integer Id;
+
     @ApiModelProperty(value = "商户号",required = true)
     private String memberId;
 
     @ApiModelProperty(value = "公司名称",required = true)
     private String name;
 
-    @ApiModelProperty(value = "省份编号",required = true)
+    @ApiModelProperty(value = "省份编号(https://cdn.cloudpnr.com/adapayresource/documents/Adapay%E7%9C%81%E5%B8%82%E7%BC%96%E7%A0%81%EF%BC%88%E5%9B%9B%E4%BD%8D%EF%BC%89.json)",required = true)
     private String provCode;
 
     @ApiModelProperty(value = "城市编号",required = true)
@@ -46,12 +51,34 @@ public class HfMemberDto {
     @ApiModelProperty(value = "银行卡号",required = true)
     private String cardNo;
 
-    @ApiModelProperty(value = "银行编码",required = true)
+    @ApiModelProperty(value = "银行编码(https://docs.adapay.tech/api/appendix.html#bank-code)",required = true)
     private String bankCode;
 
     @ApiModelProperty(value = "证照文件",required = true)
     private MultipartFile multipartFile;
 
+    @ApiModelProperty(value = "状态(pending:处理中,succeeded:成功,failed:失败)",required = true)
+    private String status;
+
+    @ApiModelProperty(value = "创建时间",required = true)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间",required = true)
+    private Date updateTime;
+
+    private String settleAccountId;
+
+    @ApiModelProperty(value = "备注",required = true)
+    private String memo;
+
+    public Integer getId() {
+        return Id;
+    }
+
+    public void setId(Integer id) {
+        Id = id;
+    }
+
     public String getMemberId() {
         return memberId;
     }
@@ -179,4 +206,44 @@ public class HfMemberDto {
     public void setMultipartFile(MultipartFile multipartFile) {
         this.multipartFile = multipartFile;
     }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getSettleAccountId() {
+        return settleAccountId;
+    }
+
+    public void setSettleAccountId(String settleAccountId) {
+        this.settleAccountId = settleAccountId;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
 }

+ 36 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/HfMemberQueryInfo.java

@@ -0,0 +1,36 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+public class HfMemberQueryInfo extends QueryInfo {
+
+    private String name;
+
+    private String memberId;
+
+    private String status;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getMemberId() {
+        return memberId;
+    }
+
+    public void setMemberId(String memberId) {
+        this.memberId = memberId;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+}

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/HfMemberService.java

@@ -0,0 +1,16 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.HfMember;
+import com.ym.mec.common.service.BaseService;
+
+import java.io.File;
+import java.util.Map;
+
+public interface HfMemberService extends BaseService<Integer, HfMember> {
+
+    Map<String,Object> createMember(HfMember member, File file) throws Exception;
+
+    Map<String,Object> updateMember(HfMember member, File file) throws Exception;
+
+    Map<String,Object> createSettleAccount(String memberId, String cardNo, String bankCode) throws Exception;
+}

+ 48 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/NotifyCallback.java

@@ -4,12 +4,15 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.huifu.adapay.Adapay;
 import com.huifu.adapay.notify.MQTTCallbackHandler;
+import com.ym.mec.biz.dal.dao.HfMemberDao;
 import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.entity.HfMember;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.thirdparty.adapay.ConfigInit;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -26,15 +29,27 @@ public class NotifyCallback implements MQTTCallbackHandler {
     @Autowired
     private TenantPaymentOrderService tenantPaymentOrderService;
     @Autowired
-    private SysConfigDao sysConfigDao;
+    private HfMemberDao hfMemberDao;
 
     private static NotifyCallback notifyCallback;
 
+    @Value("${spring.profiles.active:dev}")
+    private String profiles;
+
+    @Value("${spring.application.name}")
+    private String appName;
+
     @PostConstruct
     public void init() {
         notifyCallback = this;
-        String baseUrl = notifyCallback.sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
-        Adapay.setDeviceID(baseUrl);
+        if (!profiles.equals("prod") && !appName.equals("student-server")) {
+            Adapay.debug = true;
+            /**
+             * prodMode 模式,默认为生产模式,false可以使用mock模式
+             */
+            Adapay.prodMode = false;
+        }
+        Adapay.setDeviceID(appName);
     }
 
     /**
@@ -45,6 +60,8 @@ public class NotifyCallback implements MQTTCallbackHandler {
      */
     @Override
     public void paymentSuccessMessageArrived(String payment) throws Exception {
+        boolean prodMode = Adapay.prodMode;
+        System.out.println(String.format("receive paymentSuccess  msg=%s", prodMode));
         System.out.println(String.format("receive paymentSuccess  msg=%s", payment));
         JSONObject dataObj = JSON.parseObject(payment);
         if (!dataObj.getString("app_id").equals(ConfigInit.appId)) {
@@ -189,11 +206,39 @@ public class NotifyCallback implements MQTTCallbackHandler {
     @Override
     public void corpMemberSuccessMessageArrived(String corpMember) throws Exception {
         System.out.println(String.format("receive corpMember   msg=%s", corpMember));
+        JSONObject corpMemberObj = JSON.parseObject(corpMember);
+        if (!corpMemberObj.getString("app_id").equals(ConfigInit.appId)) {
+            return;
+        }
+        String memberId = corpMemberObj.getString("member_id");
+        HfMember hfMember = notifyCallback.hfMemberDao.getByMemberId(memberId);
+        if (hfMember == null || !hfMember.getStatus().equals("pending")) {
+            return;
+        }
+        hfMember.setStatus("succeeded");
+        hfMember.setMemo(corpMemberObj.getString("audit_desc"));
+        if (corpMemberObj.containsKey("audit_state") && corpMemberObj.getString("audit_state").equals("E")) {
+            JSONObject accounts = JSON.parseObject(corpMemberObj.get("settle_accounts").toString());
+            hfMember.setSettleAccountId(accounts.getString("id"));
+        }
+        notifyCallback.hfMemberDao.update(hfMember);
     }
 
     @Override
     public void corpMemberFailedMessageArrived(String corpMember) throws Exception {
         System.out.println(String.format("receive corpMember  msg=%s", corpMember));
+        JSONObject corpMemberObj = JSON.parseObject(corpMember);
+        if (!corpMemberObj.getString("app_id").equals(ConfigInit.appId)) {
+            return;
+        }
+        String memberId = corpMemberObj.getString("member_id");
+        HfMember hfMember = notifyCallback.hfMemberDao.getByMemberId(memberId);
+        if (hfMember == null || !hfMember.getStatus().equals("pending")) {
+            return;
+        }
+        hfMember.setStatus("failed");
+        hfMember.setMemo(corpMemberObj.getString("audit_desc"));
+        notifyCallback.hfMemberDao.update(hfMember);
     }
 
     @Override

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3743,6 +3743,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			List<Map<Long, String>> coursesSettlementTimeMaps = courseScheduleTeacherSalaryDao.getCoursesSettlementTime(courseScheduleIds);
 			Map<Long, String> coursesSettlementTimeMap = MapUtil.convertIntegerMap(coursesSettlementTimeMaps);
 
+			List<Long> practiceIds = results.stream().filter(e -> PRACTICE.equals(e.getGroupType())).map(e -> Long.valueOf(e.getMusicGroupId())).collect(Collectors.toList());
+			Map<Long, PracticeGroup> idPracticeMap=new HashMap<>();
+			if(!CollectionUtils.isEmpty(practiceIds)){
+				List<PracticeGroup> practiceGroups = practiceGroupDao.getWithIds(practiceIds);
+                idPracticeMap = practiceGroups.stream().collect(Collectors.toMap(PracticeGroup::getId, e->e));
+			}
+
 			//获取班级声部名称
             List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
             Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
@@ -3751,6 +3758,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
 				result.setSubjectName(classGroupSubjectNameMap.get(result.getId()));
 				result.setStudentId(studentIdMap.get(result.getId()));
+				result.setPracticeGroup(idPracticeMap.get(Long.valueOf(result.getMusicGroupId())));
 //				List<TeacherAttendance> courseTeacherAttendances = courseTeacherAttendanceMap.get(result.getId());
 				/*if(!CollectionUtils.isEmpty(courseTeacherAttendances)){
 					TeacherAttendance teacherAttendance=courseTeacherAttendances.get(0);

+ 139 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/HfMemberSserviceImpl.java

@@ -0,0 +1,139 @@
+package com.ym.mec.biz.service.impl;
+
+import com.ym.mec.biz.dal.dao.HfMemberDao;
+import com.ym.mec.biz.dal.entity.HfMember;
+import com.ym.mec.biz.service.HfMemberService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.thirdparty.adapay.CorpMember;
+import com.ym.mec.thirdparty.adapay.SettleAccount;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.File;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Service
+public class HfMemberSserviceImpl extends BaseServiceImpl<Integer, HfMember> implements HfMemberService {
+    @Autowired
+    private HfMemberDao hfMemberDao;
+
+    @Override
+    public BaseDAO<Integer, HfMember> getDAO() {
+        return hfMemberDao;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Object> createMember(HfMember member, File file) throws Exception {
+        HfMember hasMember = hfMemberDao.getByMemberId(member.getMemberId());
+        if (hasMember != null) {
+            throw new BizException("商户号不能与已有商户相同,请核查");
+        }
+        hasMember = hfMemberDao.getByName(member.getName());
+        if (hasMember != null) {
+            throw new BizException("公司名与已有公司名相同,请核查");
+        }
+
+        Date nowDate = new Date();
+        member.setCreateTime(nowDate);
+        member.setUpdateTime(nowDate);
+        member.setStatus("pending");
+        insert(member);
+
+        HashMap<String, Object> memberParams = new HashMap<>();
+        memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
+        memberParams.put("member_id", member.getMemberId());
+        memberParams.put("name", member.getName());
+        memberParams.put("prov_code", member.getProvCode());
+        memberParams.put("area_code", member.getAreaCode());
+        memberParams.put("social_credit_code", member.getSocialCreditCode());
+        memberParams.put("social_credit_code_expires", member.getSocialCreditCodeExpires());
+        memberParams.put("business_scope", member.getBusinessScope());
+        memberParams.put("legal_person", member.getLegalPerson());
+        memberParams.put("legal_cert_id", member.getLegalCertId());
+        memberParams.put("legal_cert_id_expires", member.getLegalCertIdExpires());
+        memberParams.put("legal_mp", member.getLegalMp());
+        memberParams.put("address", member.getAddress());
+        memberParams.put("zip_code", member.getZipCode());
+        memberParams.put("bank_code", member.getBankCode());
+        memberParams.put("bank_acct_type", "1");
+        memberParams.put("card_no", member.getCardNo());
+        memberParams.put("card_name", member.getName());
+        return CorpMember.executeCreateMember(memberParams, file);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Object> updateMember(HfMember member, File file) throws Exception {
+        HfMember hfMember = hfMemberDao.get(member.getId());
+        if (hfMember == null) {
+            throw new BizException("商户不存在请核对");
+        }
+
+        if (!hfMember.getStatus().equals("failed")) {
+            throw new BizException("商户不是审核失败状态不能修改");
+        }
+
+        Date nowDate = new Date();
+        member.setUpdateTime(nowDate);
+        member.setStatus("pending");
+        if (update(member) <= 0) {
+            throw new BizException("更新商户信息失败,请重试");
+        }
+        HashMap<String, Object> memberParams = new HashMap<>();
+        memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
+        memberParams.put("member_id", member.getMemberId());
+        memberParams.put("name", member.getName());
+        memberParams.put("prov_code", member.getProvCode());
+        memberParams.put("area_code", member.getAreaCode());
+        memberParams.put("social_credit_code", member.getSocialCreditCode());
+        memberParams.put("social_credit_code_expires", member.getSocialCreditCodeExpires());
+        memberParams.put("business_scope", member.getBusinessScope());
+        memberParams.put("legal_person", member.getLegalPerson());
+        memberParams.put("legal_cert_id", member.getLegalCertId());
+        memberParams.put("legal_cert_id_expires", member.getLegalCertIdExpires());
+        memberParams.put("legal_mp", member.getLegalMp());
+        memberParams.put("address", member.getAddress());
+        memberParams.put("zip_code", member.getZipCode());
+        memberParams.put("bank_code", member.getBankCode());
+        memberParams.put("bank_acct_type", "1");
+        memberParams.put("card_no", member.getCardNo());
+        memberParams.put("card_name", member.getName());
+        return CorpMember.executeCreateMember(memberParams, file);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Object> createSettleAccount(String memberId, String cardNo, String bankCode) throws Exception {
+        HfMember hfMember = hfMemberDao.getByMemberId(memberId);
+        if (!hfMember.getStatus().equals("succeeded")) {
+            throw new BizException("商户审核通过,才能绑定结算卡");
+        }
+        hfMember.setCardNo(cardNo);
+        hfMember.setBankCode(bankCode);
+        if (hfMemberDao.update(hfMember) <= 0) {
+            throw new BizException("绑卡失败,请重试");
+        }
+
+        //删除结算账户
+        SettleAccount.executeDeleteSettleAccount(hfMember.getSettleAccountId(), memberId);
+
+        Map<String, Object> accountInfo = new HashMap<String, Object>();
+        accountInfo.put("card_id", cardNo);
+        accountInfo.put("card_name", hfMember.getName());
+        accountInfo.put("tel_no", hfMember.getLegalMp());
+        accountInfo.put("bank_code", bankCode);
+        accountInfo.put("bank_acct_type", "1");
+        accountInfo.put("prov_code", hfMember.getProvCode());
+        accountInfo.put("area_code", hfMember.getAreaCode());
+
+        //创建结算账户
+        Map<String, Object> objectMap = SettleAccount.executeCreateSettleAccount(memberId, accountInfo);
+        return objectMap;
+    }
+}

+ 21 - 21
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2281,28 +2281,28 @@
 
     <select id="endFindCourseSchedules" resultMap="CourseScheduleEndDto">
         SELECT
-        cs.id_,
-        cs.group_type_,
-        cs.music_group_id_,
-        cs.class_group_id_,
-        cs.status_,
-        cs.name_,
-        cs.class_date_,
-        CONCAT(cs.class_date_,' ',cs.start_class_time_) course_start_time_,
-        CONCAT(cs.class_date_,' ',cs.end_class_time_) course_end_time_,
-        cs.actual_teacher_id_,
-        cs.teach_mode_,
-        cs.type_,
-        cs.schoole_id_,
-        s.name_ schoole_name_,
-        o.name_ organ_name_,
-        CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames
+            cs.id_,
+            cs.group_type_,
+            cs.music_group_id_,
+            cs.class_group_id_,
+            cs.status_,
+            cs.name_,
+            cs.class_date_,
+            CONCAT(cs.class_date_,' ',cs.start_class_time_) course_start_time_,
+            CONCAT(cs.class_date_,' ',cs.end_class_time_) course_end_time_,
+            cs.actual_teacher_id_,
+            cs.teach_mode_,
+            cs.type_,
+            cs.schoole_id_,
+            s.name_ schoole_name_,
+            o.name_ organ_name_,
+            CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames
         FROM
-        course_schedule cs
-        LEFT JOIN school s ON cs.schoole_id_=s.id_
-        LEFT JOIN organization o ON cs.organ_id_=o.id_
-        LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
-        <include refid="endFindCourseSchedulesCondition"/>
+            course_schedule cs
+            LEFT JOIN school s ON cs.schoole_id_=s.id_
+            LEFT JOIN organization o ON cs.organ_id_=o.id_
+            LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+            <include refid="endFindCourseSchedulesCondition"/>
         GROUP BY cs.id_
         ORDER BY course_start_time_,cs.id_
         <include refid="global.limit"/>

+ 164 - 0
mec-biz/src/main/resources/config/mybatis/HfMemberMapper.xml

@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ym.mec.biz.dal.dao.HfMemberDao">
+    <resultMap id="hfMember" type="com.ym.mec.biz.dal.entity.HfMember">
+        <id column="id_" property="id"/>
+        <result column="name_" property="name"/>
+        <result column="member_id_" property="memberId"/>
+        <result column="prov_code_" property="provCode"/>
+        <result column="area_code_" property="areaCode"/>
+        <result column="social_credit_code_" property="socialCreditCode"/>
+        <result column="social_credit_code_expires_" property="socialCreditCodeExpires"/>
+        <result column="business_scope_" property="businessScope"/>
+        <result column="legal_person_" property="legalPerson"/>
+        <result column="legal_cert_id_" property="legalCertId"/>
+        <result column="legal_cert_id_expires_" property="legalCertIdExpires"/>
+        <result column="legal_mp_" property="legalMp"/>
+        <result column="address_" property="address"/>
+        <result column="zip_code_" property="zipCode"/>
+        <result column="card_no_" property="cardNo"/>
+        <result column="bank_code_" property="bankCode"/>
+        <result column="settle_account_id_" property="settleAccountId"/>
+        <result column="status_" property="status"/>
+        <result column="memo_" property="memo"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        <!--@mbg.generated-->
+        id_, name_, member_id_, prov_code_, area_code_, social_credit_code_, social_credit_code_expires_,
+        business_scope_, legal_person_, legal_cert_id_, legal_cert_id_expires_, legal_mp_,
+        address_, zip_code_, card_no_, bank_code_,settle_account_id_,status_, create_time_, update_time_
+    </sql>
+    <select id="get" parameterType="java.lang.Integer" resultMap="hfMember">
+        <!--@mbg.generated-->
+        select
+        <include refid="Base_Column_List"/>
+        from hf_member
+        where id_ = #{id,jdbcType=INTEGER}
+    </select>
+    <delete id="delete" parameterType="java.lang.Integer">
+        <!--@mbg.generated-->
+        delete from hf_member
+        where id_ = #{id,jdbcType=INTEGER}
+    </delete>
+    <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.HfMember"
+            useGeneratedKeys="true">
+        <!--@mbg.generated-->
+        insert into hf_member (name_, member_id_, prov_code_,
+        area_code_, social_credit_code_, social_credit_code_expires_,
+        business_scope_, legal_person_, legal_cert_id_,
+        legal_cert_id_expires_, legal_mp_, address_,
+        zip_code_, card_no_, bank_code_,status_,
+        create_time_, update_time_)
+        values (#{name}, #{memberId}, #{provCode},
+        #{areaCode}, #{socialCreditCode}, #{socialCreditCodeExpires},
+        #{businessScope}, #{legalPerson}, #{legalCertId},
+        #{legalCertIdExpires}, #{legalMp}, #{address},
+        #{zipCode}, #{cardNo}, #{bankCode},#{status},
+        #{createTime}, #{updateTime})
+    </insert>
+    <update id="update" parameterType="com.ym.mec.biz.dal.entity.HfMember">
+        <!--@mbg.generated-->
+        update hf_member
+        <set>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
+            <if test="memberId != null">
+                member_id_ = #{memberId},
+            </if>
+            <if test="provCode != null">
+                prov_code_ = #{provCode},
+            </if>
+            <if test="areaCode != null">
+                area_code_ = #{areaCode},
+            </if>
+            <if test="socialCreditCode != null">
+                social_credit_code_ = #{socialCreditCode},
+            </if>
+            <if test="socialCreditCodeExpires != null">
+                social_credit_code_expires_ = #{socialCreditCodeExpires},
+            </if>
+            <if test="businessScope != null">
+                business_scope_ = #{businessScope},
+            </if>
+            <if test="legalPerson != null">
+                legal_person_ = #{legalPerson},
+            </if>
+            <if test="legalCertId != null">
+                legal_cert_id_ = #{legalCertId},
+            </if>
+            <if test="legalCertIdExpires != null">
+                legal_cert_id_expires_ = #{legalCertIdExpires},
+            </if>
+            <if test="legalMp != null">
+                legal_mp_ = #{legalMp},
+            </if>
+            <if test="address != null">
+                address_ = #{address},
+            </if>
+            <if test="zipCode != null">
+                zip_code_ = #{zipCode},
+            </if>
+            <if test="cardNo != null">
+                card_no_ = #{cardNo},
+            </if>
+            <if test="bankCode != null">
+                bank_code_ = #{bankCode},
+            </if>
+            <if test="settleAccountId != null">
+                settle_account_id_ = #{settleAccountId},
+            </if>
+            <if test="memo != null">
+                memo_ = #{memo},
+            </if>
+            <if test="status != null">
+                status_ = #{status},
+            </if>
+            <if test="createTime != null">
+                create_time_ = #{createTime},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = #{updateTime},
+            </if>
+        </set>
+        where id_ = #{id,jdbcType=INTEGER}
+    </update>
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="hfMember" parameterType="map">
+        SELECT * FROM hf_member
+        <include refid="queryPageSql"/>
+        ORDER BY id_
+        <include refid="global.limit"/>
+    </select>
+
+    <sql id="queryPageSql">
+        <where>
+            <if test="name != null">
+                AND name_ = #{name}
+            </if>
+            <if test="memberId != null">
+                AND member_id_ = #{memberId}
+            </if>
+            <if test="status != null">
+                AND status_ = #{status}
+            </if>
+        </where>
+    </sql>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+        SELECT COUNT(*) FROM hf_member
+        <include refid="queryPageSql"/>
+    </select>
+
+    <select id="getByMemberId" resultMap="hfMember">
+        SELECT * FROM hf_member WHERE member_id_ = #{memberId} LIMIT 1
+    </select>
+
+    <select id="getByName" resultMap="hfMember">
+        SELECT * FROM hf_member WHERE name_ = #{name} LIMIT 1
+    </select>
+</mapper>

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

@@ -707,4 +707,20 @@
             #{id}
         </foreach>
     </select>
+
+    <select id="getWithIds" resultMap="PracticeGroup">
+        SELECT * FROM practice_group
+        WHERE id_ IN
+        <foreach collection="practiceIds" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
+
+    <select id="getPracticeGroupType" resultType="map">
+        SELECT id_ AS 'key', type_ AS 'value' FROM practice_group
+        WHERE id_ IN
+        <foreach collection="practiceIds" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
 </mapper>

+ 0 - 134
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/AdapayTools.java

@@ -1,134 +0,0 @@
-package com.ym.mec.thirdparty.adapay;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.alibaba.fastjson.JSON;
-import com.huifu.adapay.model.Bill;
-import com.huifu.adapay.model.Login;
-
-/**
- * @author yingyong.wang
- */
-public class AdapayTools extends ConfigInit {
-
-    /**
-     * 获取银联用户号
-     *
-     * @throws Exception 异常
-     */
-    public static void executeToolsTest(String appId, String merchantKey) throws Exception {
-        Map<String, Object> unionParam = new HashMap<String, Object>(2);
-        unionParam.put("order_no", "20190912");
-        unionParam.put("app_id", appId);
-        unionParam.put("user_auth_code", "20190912");
-        unionParam.put("app_up_identifier", "20190912");
-        Map<String, Object> result = com.huifu.adapay.model.AdapayTools.unionUserId(unionParam, merchantKey);
-
-        String errorCode = (String) result.get("error_code");
-
-        if (null != errorCode) {
-
-            System.out.println("对账单下载,请求参数:" + JSON.toJSONString(unionParam));
-            System.out.println("对账单下载,返回参数:" + JSON.toJSONString(result));
-
-        } else {
-            System.out.println("对账单下载,成功");
-        }
-
-    }
-
-    /**
-     * 获取银联用户号
-     *
-     * @throws Exception 异常
-     */
-    public static void executeToolsTest(String appId) throws Exception {
-
-        Map<String, Object> unionParam = new HashMap<String, Object>(2);
-        unionParam.put("order_no", "jsdk_payment_" + System.currentTimeMillis());
-        unionParam.put("app_id", appId);
-        unionParam.put("user_auth_code", "5yRGbi+IRda5khIQoQf1Hw==");
-        unionParam.put("app_up_identifier", "CloudPay");
-        Map<String, Object> result = com.huifu.adapay.model.AdapayTools.unionUserId(unionParam);
-        System.out.println("获取银联云闪付用户标识:" + JSON.toJSONString(result));
-        String errorCode = (String) result.get("error_code");
-
-        if (null != errorCode) {
-
-            System.out.println("获取银联云闪付用户标识,请求参数:" + JSON.toJSONString(unionParam));
-            System.out.println("获取银联云闪付用户标识,返回参数:" + JSON.toJSONString(result));
-
-        } else {
-            System.out.println("获取银联云闪付用户标识,成功");
-        }
-
-    }
-
-
-    /**
-     * 钱包登录申请
-     *
-     * @throws Exception 异常
-     */
-    public static void executeLoginTest(String appId, String merchantKey) throws Exception {
-        Map<String, Object> queryParams = new HashMap<String, Object>(5);
-        queryParams.put("ip", "127.0.0.1");
-        queryParams.put("member_id", "0");
-        //queryParams.put("member_id", "iris1234_14151");
-        queryParams.put("app_id", appId);
-        Map<String, Object> login = Login.login(queryParams, merchantKey);
-        if (login != null && "succeeded".equals(login.get("status"))) {
-            String formString = login.get("redirect_url").toString();
-            System.out.println("跳转地址:" + formString);
-        }
-
-    }
-
-    /**
-     * 钱包登录申请
-     *
-     * @throws Exception 异常
-     */
-    public static void executeLoginTest(String appId) throws Exception {
-        Map<String, Object> queryParams = new HashMap<String, Object>(5);
-        queryParams.put("ip", "127.0.0.1");
-        queryParams.put("member_id", "0");
-        //queryParams.put("member_id", "iris1234_14151");
-        queryParams.put("app_id", appId);
-        Map<String, Object> login = Login.login(queryParams);
-        if (login != null && "succeeded".equals(login.get("status"))) {
-            String formString = login.get("redirect_url").toString();
-            System.out.println("跳转地址:" + formString);
-        }
-
-    }
-
-    /**
-     * 执行一个下载对账文件操作
-     *
-     * @return 下载链接
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeBillDownLoad() throws Exception {
-
-
-        Map<String, Object> downloadParam = new HashMap<String, Object>(2);
-        downloadParam.put("bill_date", "20190912");
-
-        Map<String, Object> download = Bill.download(downloadParam);
-
-        String errorCode = (String) download.get("error_code");
-
-        if (null != errorCode) {
-
-            System.out.println("对账单下载,请求参数:" + JSON.toJSONString(downloadParam));
-            System.out.println("对账单下载,返回参数:" + JSON.toJSONString(download));
-
-        } else {
-            System.out.println("对账单下载,成功");
-        }
-        return download;
-    }
-
-}

+ 0 - 88
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Bill.java

@@ -1,88 +0,0 @@
-package com.ym.mec.thirdparty.adapay;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.alibaba.fastjson.JSON;
-
-/**
- * @author yingyong.wang
- */
-public class Bill extends ConfigInit {
-
-    /**
-     * 运行账单下载接口
-     * @throws Exception 异常
-     */
-    public static void executeBillTest(String merchantKey) throws Exception{
-        Bill demo = new Bill();
-        
-        Map<String, Object> download = demo.executeBillDownLoad(merchantKey);
-       
-    }
-
-    /**
-     * 运行账单下载接口
-     * @throws Exception 异常
-     */
-    public static void executeBillTest() throws Exception{
-        Bill demo = new Bill();
-        
-        Map<String, Object> download = demo.executeBillDownLoad();
-       
-    }
-
-    /**
-     * 执行一个下载对账文件操作
-     * @return 下载链接
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeBillDownLoad(String merchantKey) throws Exception {
-        System.out.println("=======execute download begin=======");
-
-        Map<String, Object> downloadParam = new  HashMap<String, Object>(2);
-        downloadParam.put("bill_date", "20190912");
-        Map<String, Object> download = com.huifu.adapay.model.Bill.download(downloadParam, merchantKey);
-        
-        String errorCode = (String)download.get("error_code");
-        
-        if(null != errorCode){
-
-            System.out.println("对账单下载,请求参数:" + JSON.toJSONString(downloadParam));
-            System.out.println("对账单下载,返回参数:" + JSON.toJSONString(download));
-
-        }else{
-            System.out.println("对账单下载,成功");
-        }
-        
-
-        return download;
-    }
-
-    /**
-     * 执行一个下载对账文件操作
-     * @return 下载链接
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeBillDownLoad() throws Exception {
-        
-
-        Map<String, Object> downloadParam = new  HashMap<String, Object>(2);
-        downloadParam.put("bill_date", "20190912");
-        
-        Map<String, Object> download = com.huifu.adapay.model.Bill.download(downloadParam);
-        
-        String errorCode = (String)download.get("error_code");
-        
-        if(null != errorCode){
-
-            System.out.println("对账单下载,请求参数:" + JSON.toJSONString(downloadParam));
-            System.out.println("对账单下载,返回参数:" + JSON.toJSONString(download));
-
-        }else{
-            System.out.println("对账单下载,成功");
-        }
-        return download;
-    }
-    
-}

+ 0 - 8
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/ConfigInit.java

@@ -32,14 +32,6 @@ public class ConfigInit {
         } else {
             return instance;
         }
-
-        Adapay.debug = true;
-
-        /**
-         * prodMode 模式,默认为生产模式,false可以使用mock模式
-         */
-        Adapay.prodMode = true;
-
         /**
          *添加商户配置,一个商户只需要 添加一次,添加以后在内存中。
          */

+ 13 - 159
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/CorpMember.java

@@ -4,69 +4,12 @@ import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
 
-import com.alibaba.fastjson.JSON;
+import com.huifu.adapay.core.exception.BaseAdaPayException;
 
 /**
- * @author 
+ * @author
  */
-public class CorpMember extends ConfigInit {
-
-    /**
-     * 运行 CorpMember 类接口
-     *
-     * @throws Exception 异常
-     */
-    public static void executeCorpMemberTest(String merchantKey, String app_id) throws Exception {
-        CorpMember demo = new CorpMember();
-        Map<String, Object> member = demo.executeCreateMember(merchantKey, app_id);
-        demo.executeQueryMember(merchantKey, (String) member.get("member_id"), app_id);
-
-    }
-
-
-    /**
-     * 创建 CorpMember
-     *
-     * @return 创建的CorpMember 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeCreateMember(String merchantKey, String app_id) throws Exception {
-        System.out.println("=======execute Create CorpMember begin=======");
-        Map<String, Object> memberParams = new HashMap<String, Object>(2);
-        memberParams.put("member_id", "jsdk_member_" + System.currentTimeMillis());
-        memberParams.put("app_id", app_id);
-        memberParams.put("order_no", "jsdk_order_" + System.currentTimeMillis());
-        memberParams.put("social_credit_code_expires", "1111");
-        memberParams.put("business_scope", "123");
-
-        memberParams.put("name", "中国测试有限公司");
-        memberParams.put("prov_code", "0011");
-        memberParams.put("area_code", "1100");
-        memberParams.put("social_credit_code", "201932658452655");
-        memberParams.put("legal_person", "张测试");
-        memberParams.put("legal_cert_id", "321485199014234852");
-        memberParams.put("legal_cert_id_expires", "20220112");
-        memberParams.put("legal_mp", "13958465215");
-        memberParams.put("address", "中国上海");
-        memberParams.put("zip_code", "225485");
-        memberParams.put("telphone", "41164452");
-        memberParams.put("email", "ceshi@qq.com");
-        memberParams.put("bank_code", "652142");
-        memberParams.put("bank_acct_type", "1");
-        memberParams.put("card_no", "622546895642156");
-        memberParams.put("card_name", "中国测试有限公司");
-        File file = new File("/Users/will/Project/Adapay/AdapayJava/AdapayDemo/src/main/java/com/huifu/adapay/demo/归档.zip");
-        
-        System.out.println("创建企业用户,请求参数:" + JSON.toJSONString(memberParams) );
-        Map<String, Object> member = com.huifu.adapay.model.CorpMember.create(memberParams, file, merchantKey);
-        System.out.println("创建企业用户,返回参数:" + JSON.toJSONString(member) );
-
-
-        System.out.println("=======execute Create CorpMember end=======");
-
-        return member;
-
-    }
+public class CorpMember {
 
     /**
      * 查询 CorpMember
@@ -75,102 +18,11 @@ public class CorpMember extends ConfigInit {
      * @return 查询的 CorpMember 对象
      * @throws Exception 异常
      */
-    public Map<String, Object> executeQueryMember(String merchantKey, String member_id,String app_id) throws Exception {
-        System.out.println("=======execute query CorpMember begin=======");
+    public static Map<String, Object> executeQueryMember(String member_id) throws Exception {
         Map<String, Object> memberParams = new HashMap<String, Object>(2);
         memberParams.put("member_id", member_id);
-        memberParams.put("app_id", app_id);
-        System.out.println("查询企业用户,请求参数:"+JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.CorpMember.query(memberParams, merchantKey);
-        System.out.println("查询企业用户,返回参数:"+JSON.toJSONString(member));
-
-        System.out.println("=======execute query CorpMember end=======");
-
-        return member;
-    }
-
-    /**
-     * 运行 CorpMember 类接口
-     *
-     * @throws Exception 异常
-     */
-    public static void executeCorpMemberTest( String app_id) throws Exception {
-        CorpMember demo = new CorpMember();
-        //Map<String, Object> member = demo.executeCreateMember();
-        //demo.executeQueryMember( (String) member.get("member_id"), app_id);
-
-    }
-
-
-    /**
-     * 创建 CorpMember
-     *
-     * @return 创建的CorpMember 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeCreateMember( Map<String,Object> info) throws Exception {
-        System.out.println("=======execute Create CorpMember begin=======");
-        Map<String, Object> memberParams = new HashMap<String, Object>();
-        memberParams.put("app_id", appId);
-        memberParams.putAll(info);
-
-        String path= "C:/Users/river/Desktop/mec/mec-thirdparty/libs/test.zip";
-
-        File file = new File(path);
-        System.out.println("创建企业用户,请求参数:" + JSON.toJSONString(memberParams) );
-        Map<String, Object> member = com.huifu.adapay.model.CorpMember.create(memberParams, file);
-        System.out.println("创建企业用户,返回参数:" + JSON.toJSONString(member) );
-
-
-        System.out.println("=======execute Create CorpMember end=======");
-
-        return member;
-
-    }
-
-    /**
-     * 创建 CorpMember
-     *
-     * @return 创建的CorpMember 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeCreateMember( Map<String,Object> info,String path) throws Exception {
-        System.out.println("=======execute Create CorpMember begin=======");
-        Map<String, Object> memberParams = new HashMap<String, Object>();
-        memberParams.put("app_id", appId);
-        memberParams.putAll(info);
-
-        File file = new File(path);
-        System.out.println("创建企业用户,请求参数:" + JSON.toJSONString(memberParams) );
-        Map<String, Object> member = com.huifu.adapay.model.CorpMember.create(memberParams, file);
-        System.out.println("创建企业用户,返回参数:" + JSON.toJSONString(member) );
-
-
-        System.out.println("=======execute Create CorpMember end=======");
-
-        return member;
-
-    }
-
-    /**
-     * 查询 CorpMember
-     *
-     * @param member_id 待查询的member_id
-     * @return 查询的 CorpMember 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQueryMember( String member_id) throws Exception {
-        System.out.println("=======execute query CorpMember begin=======");
-        Map<String, Object> memberParams = new HashMap<String, Object>(2);
-        memberParams.put("member_id", member_id);
-        memberParams.put("app_id", appId);
-        System.out.println("查询企业用户,请求参数1:"+JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.CorpMember.query(memberParams);
-        System.out.println("查询企业用户,返回参数:"+JSON.toJSONString(member));
-
-        System.out.println("=======execute query CorpMember end=======");
-
-        return member;
+        memberParams.put("app_id", ConfigInit.appId);
+        return com.huifu.adapay.model.CorpMember.query(memberParams);
     }
 
     /**
@@ -179,15 +31,17 @@ public class CorpMember extends ConfigInit {
      * @return 创建的CorpMember 对象
      * @throws Exception 异常
      */
-    public Map<String, Object> executeCreateMember(Map<String,Object> info,File file) throws Exception {
-        System.out.println("=======execute Create CorpMember begin=======");
+    public static Map<String, Object> executeCreateMember(Map<String, Object> info, File file) throws Exception {
         Map<String, Object> memberParams = new HashMap<String, Object>();
-        memberParams.put("app_id", appId);
+        memberParams.put("app_id", ConfigInit.appId);
         memberParams.putAll(info);
 
-        System.out.println("创建企业用户,请求参数:" + JSON.toJSONString(memberParams) );
         Map<String, Object> member = com.huifu.adapay.model.CorpMember.create(memberParams, file);
-        System.out.println("创建企业用户,返回参数:" + JSON.toJSONString(member) );
+        String error_code = (String) member.get("error_code");
+        if (null != error_code) {
+            String errorMsg = (String) member.get("error_msg");
+            throw new BaseAdaPayException(errorMsg);
+        }
         return member;
     }
 

+ 0 - 57
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/MainDemo.java

@@ -1,57 +0,0 @@
-package com.ym.mec.thirdparty.adapay;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-public class MainDemo {
-
-
-    public static void main(String[] args) throws Exception {
-        //多商户测试
-        //testMultiMerchant();
-
-        testMerchant();
-
-    }
-
-
-    public static void testMerchant() throws Exception {
-
-        HashMap<String, Object> memberParams = new HashMap<>();
-        memberParams.put("member_id", "W004201");
-        memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
-
-        memberParams.put("social_credit_code", "91420106303461541T");
-        memberParams.put("social_credit_code_expires", "20440730");
-        memberParams.put("business_scope", "教育资讯、投资资讯");
-        memberParams.put("name", "武汉大雅乐盟教育咨询有限公司");
-        memberParams.put("prov_code", "0042");
-        memberParams.put("area_code", "4201");
-        memberParams.put("legal_person", "李松");
-        memberParams.put("legal_cert_id", "420106196811210837");
-        memberParams.put("legal_cert_id_expires", "20990730");
-        memberParams.put("legal_mp", "13958465215");//法人手机号
-        memberParams.put("address", "武昌区水果湖汉街武汉中央文化旅游区K3地块第2幢34层2号");
-        memberParams.put("zip_code", "430000");
-        //memberParams.put("telphone", "41164452");
-        // memberParams.put("email", "ceshi@qq.com");
-        memberParams.put("bank_code", "03020000");
-        memberParams.put("bank_acct_type", "1");
-        memberParams.put("card_no", "‘8111501011700649152");
-        memberParams.put("card_name", "武汉大雅");
-        //new CorpMember().executeCreateMember(memberParams);
-
-//        new CorpMember().executeQueryMember("W004201");
-
-
-        //Payment.closePayment("002112020062916385810123596334923411456");
-        //Map<String, Object> payment = Payment.queryPayment("002112020062914502410123569011751485440");
-
-
-        // 运行支付类接口
-        //String pamentId = Payment.executePaymentTest("default");
-
-    }
-
-}

+ 0 - 244
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Member.java

@@ -1,244 +0,0 @@
-package com.ym.mec.thirdparty.adapay;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.alibaba.fastjson.JSON;
-
-
-/**
- * @author yingyong.wang
- */
-public class Member extends ConfigInit {
-
-
-    /**
-     * 运行 member 类接口
-     * @throws Exception 异常
-     */
-    public static Map<String, Object> executeMemberTest(String merchantKey, String app_id) throws Exception{
-        Member demo = new Member();
-        Map<String, Object> member = demo.executeCreateMember(merchantKey, app_id);
-        demo.executeQueryMember(merchantKey, (String)member.get("member_id"),app_id);
-        demo.executeUpdateMember(merchantKey, (String)member.get("member_id"),app_id);
-        demo.executeQueryMember(merchantKey, (String)member.get("member_id"),app_id);
-        demo.executeListMember(merchantKey, app_id);
-        return member;
-    }
-
-
-    /**
-     * 创建 member
-     * @return 创建的member 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeCreateMember(String merchantKey, String app_id) throws Exception {
-        System.out.println("=======execute CreateMember begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("member_id", "jsdk_member_"+System.currentTimeMillis());
-        memberParams.put("app_id",app_id);
-        memberParams.put("location", "上海市徐汇区宜山路");
-        memberParams.put("email", "123@163.com");
-        memberParams.put("gender", "MALE");
-        memberParams.put("tel_no", "13153333333");
-        memberParams.put("nickname", "nick_name");
-        System.out.println("创建用户,请求参数:" + JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.create(memberParams, merchantKey);
-        System.out.println("创建用户,返回参数:" + JSON.toJSONString(member));
-        System.out.println("=======execute CreateMember end=======");
-        
-        return member;
-    
-    }
-
-    /**
-     * 查询 member
-     * @param member_id 待查询的member_id
-     * @return 创建的member 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQueryMember(String merchantKey, String member_id,String app_id) throws Exception {
-        System.out.println("=======execute queryMember begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("member_id", member_id);
-        memberParams.put("app_id", app_id);
-        System.out.println("查询用户,请求参数:" + JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.query(memberParams, merchantKey);
-        System.out.println("查询用户,返回参数:" + JSON.toJSONString(member));
-
-
-        System.out.println("=======execute queryMember end=======");
-        
-        return member;
-    
-    }
-
-
-    /**
-     * 更新 member
-     * @param member_id 待更新的member_id
-     * @return 更新的member 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeUpdateMember(String merchantKey, String member_id,String app_id) throws Exception {
-        System.out.println("=======execute update Member begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("member_id", member_id);
-        memberParams.put("app_id", app_id);
-        memberParams.put("location", "上海市徐汇区宜山路1");
-        memberParams.put("email", "1234@163.com");
-        memberParams.put("gender", "MALE");
-        memberParams.put("tel_no", "13153333333");
-        memberParams.put("nickname", "nick_name2");
-
-        System.out.println("更新用户,请求参数:"+JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.update(memberParams, merchantKey);
-        System.out.println("更新用户,返回参数:"+JSON.toJSONString(member));
-
-        System.out.println("=======execute update Member end=======");
-        
-        return member;
-    
-    }
-
-    /**
-     * 查询 member list
-     * @param app_id app_id
-     * @return 查询的member list
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeListMember(String merchantKey, String app_id) throws Exception {
-        System.out.println("=======execute list Member begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("page_index", "1");
-        memberParams.put("app_id", app_id);
-        memberParams.put("page_size", "20");
-        memberParams.put("created_gte", String.valueOf(System.currentTimeMillis() - 5 * 60 * 1000));
-        memberParams.put("created_lte", String.valueOf(System.currentTimeMillis()));
-        System.out.println("查询用户列表,请求参数:"+JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.queryList(memberParams, merchantKey);
-        System.out.println("查询用户列表,返回参数:"+JSON.toJSONString(member));
-
-
-        System.out.println("=======execute list Member end=======");
-        
-        return member;
-    
-    }
-
-     /**
-     * 运行 member 类接口
-     * @throws Exception 异常
-     */
-    public static Map<String, Object> executeMemberTest( String app_id) throws Exception{
-        Member demo = new Member();
-        Map<String, Object> member = demo.executeCreateMember( app_id);
-        demo.executeQueryMember( (String)member.get("member_id"),app_id);
-        demo.executeUpdateMember( (String)member.get("member_id"),app_id);
-        demo.executeQueryMember( (String)member.get("member_id"),app_id);
-        demo.executeListMember( app_id);
-        return member;
-    }
-
-
-    /**
-     * 创建 member
-     * @return 创建的member 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeCreateMember( String app_id) throws Exception {
-        System.out.println("=======execute CreateMember begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("member_id", "0021677");
-        memberParams.put("app_id",app_id);
-        memberParams.put("location", "上海市徐汇区宜山路");
-        memberParams.put("email", "123@163.com");
-        memberParams.put("gender", "MALE");
-        memberParams.put("tel_no", "13153333333");
-        memberParams.put("nickname", "nick_name");
-        System.out.println("创建用户,请求参数:" + JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.create(memberParams);
-        System.out.println("创建用户,返回参数:" + JSON.toJSONString(member));
-        System.out.println("=======execute CreateMember end=======");
-        
-        return member;
-    
-    }
-
-    /**
-     * 查询 member
-     * @param member_id 待查询的member_id
-     * @return 创建的member 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQueryMember( String member_id,String app_id) throws Exception {
-        System.out.println("=======execute queryMember begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("member_id", member_id);
-        memberParams.put("app_id", app_id);
-        System.out.println("查询用户,请求参数:" + JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.query(memberParams);
-        System.out.println("查询用户,返回参数:" + JSON.toJSONString(member));
-
-
-        System.out.println("=======execute queryMember end=======");
-        
-        return member;
-    
-    }
-
-
-    /**
-     * 更新 member
-     * @param member_id 待更新的member_id
-     * @return 更新的member 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeUpdateMember( String member_id,String app_id) throws Exception {
-        System.out.println("=======execute update Member begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("member_id", member_id);
-        memberParams.put("app_id", app_id);
-        memberParams.put("location", "上海市徐汇区宜山路1");
-        memberParams.put("email", "1234@163.com");
-        memberParams.put("gender", "MALE");
-        memberParams.put("tel_no", "13153333333");
-        memberParams.put("nickname", "nick_name2");
-
-        System.out.println("更新用户,请求参数:"+JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.update(memberParams);
-        System.out.println("更新用户,返回参数:"+JSON.toJSONString(member));
-
-        System.out.println("=======execute update Member end=======");
-        
-        return member;
-    
-    }
-
-    /**
-     * 查询 member list
-     * @param app_id app_id
-     * @return 查询的member list
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeListMember( String app_id) throws Exception {
-        System.out.println("=======execute list Member begin=======");
-        Map<String, Object> memberParams = new  HashMap<String, Object>(2);
-        memberParams.put("page_index", "1");
-        memberParams.put("app_id", app_id);
-        memberParams.put("page_size", "20");
-        memberParams.put("created_gte", String.valueOf(System.currentTimeMillis() - 5 * 60 * 1000));
-        memberParams.put("created_lte", String.valueOf(System.currentTimeMillis()));
-        System.out.println("查询用户列表,请求参数:"+JSON.toJSONString(memberParams));
-        Map<String, Object> member = com.huifu.adapay.model.Member.queryList(memberParams);
-        System.out.println("查询用户列表,返回参数:"+JSON.toJSONString(member));
-
-
-        System.out.println("=======execute list Member end=======");
-        
-        return member;
-    
-    }
-
-
-}

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

@@ -8,7 +8,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
 import org.springframework.util.DigestUtils;
 
-public class Payment extends ConfigInit {
+public class Payment {
     /**
      * 执行一个支付交易
      *
@@ -16,7 +16,7 @@ public class Payment extends ConfigInit {
      * @throws Exception 异常
      */
     public static Map<String, Object> executePayment(Map<String, Object> paymentParams) throws Exception {
-        paymentParams.put("app_id", appId);
+        paymentParams.put("app_id", ConfigInit.appId);
 
         //调用sdk方法,创建支付,得到支付对象
         Map<String, Object> payment = new HashMap<>();
@@ -118,20 +118,20 @@ public class Payment extends ConfigInit {
 
     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);
+        paymentParams.put("appId", ConfigInit.appId);
         paymentParams.put("amount", amount.setScale(2, BigDecimal.ROUND_HALF_UP));
         paymentParams.put("orderNo", orderNo);
 //        paymentParams.put("notifyUrl", notifyUrl);
 //        paymentParams.put("returnUrl", returnUrl);
         paymentParams.put("orderSubject", orderSubject);
         paymentParams.put("orderBody", orderBody);
-        paymentParams.put("wxAppId", wxAppId);
+        paymentParams.put("wxAppId", ConfigInit.wxAppId);
 
         String originalStr = JSONObject.toJSONString(paymentParams);
         String sign = DigestUtils.md5DigestAsHex(originalStr.getBytes());
 
         paymentParams.put("sign", sign);
-        paymentParams.remove(appId);
+        paymentParams.remove("appId");
         return paymentParams;
     }
 }

+ 0 - 153
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/Refund.java

@@ -1,153 +0,0 @@
-package com.ym.mec.thirdparty.adapay;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.alibaba.fastjson.JSON;
-
-public class Refund extends ConfigInit {
-
-    /**
-     * 运行退款类接口
-     *
-     * @throws Exception 异常
-     */
-    public static void executeRefundTest(String merchantKey, String paymentId) throws Exception {
-        Refund demo = new Refund();
-        //退款接口
-        Map<String, Object> refund = demo.executeRefund(merchantKey, paymentId);
-        //退款查询接口(通过pamentId查询)
-        demo.queryByPaymentId(merchantKey, paymentId);
-        //退款查询接口(通过refundId查询)
-        demo.queryByRefundId(merchantKey, (String) refund.get("id"));
-    }
-
-    /**
-     * 执行一个退款交易
-     *
-     * @param paymentId 要退款的原支付paymentId
-     * @return 创建的退款对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeRefund(String merchantKey, String paymentId) throws Exception {
-        System.out.println("=======execute refund begin=======");
-        Map<String, Object> refundParams = new HashMap<String, Object>(2);
-        refundParams.put("refund_amt", "0.01");
-        refundParams.put("app_id", "your appid");
-        refundParams.put("refund_order_no", "jsdk_refund_"+System.currentTimeMillis());
-        System.out.println("退款请求参数:" + JSON.toJSONString(refundParams));
-        Map<String, Object> refund = com.huifu.adapay.model.Refund.create(paymentId, refundParams, merchantKey);
-        System.out.println("退款返回参数:" + JSON.toJSONString(refund));
-        System.out.println("=======execute refund end=======");
-        
-        return refund;
-    }
-
-    /**
-     * 根据原支付id查询一个退款交易
-     *
-     * @param paymentId 要查询退款的原支付paymentId
-     * @return 查询的退款对象,可能含多个退款明细RefundDetail
-     * @throws Exception 异常
-     */
-    public Map<String, Object> queryByPaymentId(String merchantKey, String paymentId) throws Exception {
-        System.out.println("=======query refund by paymentId begin=======");
-        Map<String, Object> refundParams = new  HashMap<String, Object>(1);
-        refundParams.put("payment_id", paymentId);
-        System.out.println("通过原支付ID查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
-        Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams, merchantKey);
-        System.out.println("通过原支付ID查询退款交易,返回参数:" + JSON.toJSONString(refund));
-        System.out.println("=======query refund by paymentId end=======");
-        return refund;
-    }
-
-    /**
-     * 根据退款refundId查询一个退款交易
-     *
-     * @param refundId 要查询的退款refundId
-     * @return 查询的退款对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> queryByRefundId(String merchantKey, String refundId) throws Exception {
-        System.out.println("=======query refund by refundid begin=======");
-        Map<String, Object> refundParams = new  HashMap<String, Object>(1);
-        refundParams.put("refund_id", refundId);
-        System.out.println("通过refundId查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
-        Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams, merchantKey);
-        System.out.println("通过refundId查询退款交易,返回参数:" + JSON.toJSONString(refund));
-        System.out.println("=======query refund by refundid end=======");
-        return refund;
-    }
-
-    /**
-     * 运行退款类接口
-     *
-     * @throws Exception 异常
-     */
-    public static void executeRefundTest( String paymentId) throws Exception {
-        Refund demo = new Refund();
-        //退款接口
-        Map<String, Object> refund = demo.executeRefund( paymentId);
-        //退款查询接口(通过pamentId查询)
-        demo.queryByPaymentId( paymentId);
-        //退款查询接口(通过refundId查询)
-        demo.queryByRefundId( (String) refund.get("id"));
-    }
-
-    /**
-     * 执行一个退款交易
-     *
-     * @param paymentId 要退款的原支付paymentId
-     * @return 创建的退款对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeRefund( String paymentId) throws Exception {
-        System.out.println("=======execute refund begin=======");
-        Map<String, Object> refundParams = new HashMap<String, Object>(2);
-        refundParams.put("refund_amt", "0.01");
-        refundParams.put("app_id", "your appid");
-        refundParams.put("refund_order_no", "jsdk_refund_"+System.currentTimeMillis());
-        System.out.println("退款请求参数:" + JSON.toJSONString(refundParams));
-        Map<String, Object> refund = com.huifu.adapay.model.Refund.create(paymentId, refundParams);
-        System.out.println("退款返回参数:" + JSON.toJSONString(refund));
-        System.out.println("=======execute refund end=======");
-        
-        return refund;
-    }
-
-    /**
-     * 根据原支付id查询一个退款交易
-     *
-     * @param paymentId 要查询退款的原支付paymentId
-     * @return 查询的退款对象,可能含多个退款明细RefundDetail
-     * @throws Exception 异常
-     */
-    public Map<String, Object> queryByPaymentId( String paymentId) throws Exception {
-        System.out.println("=======query refund by paymentId begin=======");
-        Map<String, Object> refundParams = new  HashMap<String, Object>(1);
-        refundParams.put("payment_id", paymentId);
-        System.out.println("通过原支付ID查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
-        Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams);
-        System.out.println("通过原支付ID查询退款交易,返回参数:" + JSON.toJSONString(refund));
-        System.out.println("=======query refund by paymentId end=======");
-        return refund;
-    }
-
-    /**
-     * 根据退款refundId查询一个退款交易
-     *
-     * @param refundId 要查询的退款refundId
-     * @return 查询的退款对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> queryByRefundId( String refundId) throws Exception {
-        System.out.println("=======query refund by refundid begin=======");
-        Map<String, Object> refundParams = new  HashMap<String, Object>(1);
-        refundParams.put("refund_id", refundId);
-        System.out.println("通过refundId查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
-        Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams);
-        System.out.println("通过refundId查询退款交易,返回参数:" + JSON.toJSONString(refund));
-        System.out.println("=======query refund by refundid end=======");
-        return refund;
-    }
-}

+ 19 - 423
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/SettleAccount.java

@@ -3,454 +3,50 @@ package com.ym.mec.thirdparty.adapay;
 import java.util.HashMap;
 import java.util.Map;
 
-import com.alibaba.fastjson.JSON;
+import com.huifu.adapay.core.exception.BaseAdaPayException;
 
-/**
- * @author yingyong.wang
- */
-public class SettleAccount extends ConfigInit {
-
-    /**
-     * 运行结算账户类接口
-     *
-     * @throws Exception 异常
-     */
-    public static void executeSettleAccountTest(String merchantKey, String app_id, String member_id) throws Exception {
-        SettleAccount demo = new SettleAccount();
-        // 创建结算账户
-        Map<String, Object> settlecount = demo.executeCreateSettleAccount(merchantKey, app_id, member_id);
-        String settleCount_id = (String) settlecount.get("id");
-
-
-        // 查询结算账户
-        demo.executeQuerySettleAccount(merchantKey, settleCount_id, app_id, member_id);
-
-        // 查询结算账户明细列表
-        demo.executeQuerySettleDetails(merchantKey, app_id, member_id, settleCount_id);
-        // 删除结算账户
-        demo.executeDeleteSettleAccount(merchantKey, settleCount_id, app_id, member_id);
-
-        member_id = "user_test_10001";
-        settleCount_id = "0023056905335360";
-
-        demo.executeModifySettleAccount(merchantKey, settleCount_id, app_id, member_id);
-
-        demo.executeDrawCash(merchantKey, app_id, member_id);
-
-        demo.executeQueryBalance(merchantKey, app_id, member_id, settleCount_id);
-    }
-
-    /**
-     * 运行查询结算明细列表接口
-     *
-     * @throws Exception 异常
-     */
-//    public static void executeQuerySettleDetailTest(String merchantKey, String appId, String memberId, String settleAccountId, String beginDate, String endDate) throws Exception {
-//        SettleAccountDemo demo = new SettleAccountDemo();
-//        demo.executeQuerySettleDetails(merchantKey, appId, memberId, settleAccountId, beginDate, endDate);
-//    }
-
-
-    /**
-     * 创建 settleCount
-     *
-     * @return 创建的settleCount 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeCreateSettleAccount(String merchantKey, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute Create SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        Map<String, Object> accountInfo = new HashMap<String, Object>(2);
-        accountInfo.put("card_id", "6222021703001692221");
-        accountInfo.put("card_name", "袁电茜");
-        accountInfo.put("cert_id", "310109200006062491");
-        accountInfo.put("cert_type", "00");
-        accountInfo.put("tel_no", "18888888881");
-        accountInfo.put("bank_code", "03060000");
-        accountInfo.put("bank_acct_type", "1");
-        accountInfo.put("prov_code", "0031");
-        accountInfo.put("area_code", "3100");
-        settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-        settleCountParams.put("channel", "bank_account");
-        settleCountParams.put("account_info", accountInfo);
-        System.out.println("创建结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.create(settleCountParams, merchantKey);
-        System.out.println("创建结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute Create SettleAccount end=======");
-
-        return settleCount;
-
-    }
-
-    /**
-     * 查询 SettleAccount
-     *
-     * @param settleCount_id 待查询的settleCount_id
-     * @param app_id         app_id
-     * @return 查询的settleCount 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQuerySettleAccount(String merchantKey, String settleCount_id, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute query SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        settleCountParams.put("settle_account_id", settleCount_id);
-        settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-        System.out.println("查询结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.query(settleCountParams, merchantKey);
-        System.out.println("查询结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute query SettleAccount end=======");
-
-        return settleCount;
-    }
+public class SettleAccount {
 
     /**
      * 删除 SettleAccount
      *
      * @param settleCount_id 待删除的settleCount_id
-     * @param app_id         app_id
      * @return delete的settleCount 对象
      * @throws Exception 异常
      */
-    public Map<String, Object> executeDeleteSettleAccount(String merchantKey, String settleCount_id, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute delete SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
+    public static Map<String, Object> executeDeleteSettleAccount(String settleCount_id, String member_id) throws Exception {
+        Map<String, Object> settleCountParams = new HashMap<String, Object>(3);
         settleCountParams.put("settle_account_id", settleCount_id);
         settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-        System.out.println("删除结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.delete(settleCountParams, merchantKey);
-        System.out.println("删除结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute delete SettleAccount end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 查询结算明细列表
-     *
-     * @param merchantKey
-     * @param app_id          app_id
-     * @param member_id       待查询的member_id
-     * @param settleAccountId 待查询的settleAccountId
-     * @return
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQuerySettleDetails(String merchantKey, String app_id, String member_id,
-                                                         String settleAccountId) throws Exception {
-        System.out.println("=======execute query settle details begin=======");
-        Map<String, Object> querySettleDetailParams = new HashMap<String, Object>(2);
-        querySettleDetailParams.put("app_id", app_id);
-        querySettleDetailParams.put("member_id", member_id);
-        querySettleDetailParams.put("settle_account_id", settleAccountId);
-        querySettleDetailParams.put("begin_date", "20191008");
-        querySettleDetailParams.put("end_date", "20191010");
-        System.out.println("查询结算明细列表,请求参数:" + JSON.toJSONString(querySettleDetailParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.querySettleDetails(querySettleDetailParams, merchantKey);
-        System.out.println("查询结算明细列表,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute query settle details end=======");
-
+        settleCountParams.put("app_id", ConfigInit.appId);
+        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.delete(settleCountParams);
+        String error_code = (String) settleCount.get("error_code");
+        if (null != error_code) {
+            String errorMsg = (String) settleCount.get("error_msg");
+            throw new BaseAdaPayException(errorMsg);
+        }
         return settleCount;
     }
 
 
     /**
-     * 运行结算账户类接口
-     *
-     * @throws Exception 异常
-     */
-    public static void executeSettleAccountTest(String app_id, String member_id) throws Exception {
-        SettleAccount demo = new SettleAccount();
-        // 创建结算账户
-        Map<String, Object> settlecount = demo.executeCreateSettleAccount(app_id, member_id);
-        String settleCount_id = (String) settlecount.get("id");
-        // 查询结算账户
-        demo.executeQuerySettleAccount(settleCount_id, app_id, member_id);
-
-        // 查询结算账户明细列表
-        demo.executeQuerySettleDetails(app_id, member_id, settleCount_id);
-        // 删除结算账户
-        demo.executeDeleteSettleAccount(settleCount_id, app_id, member_id);
-        member_id = "user_test_10001";
-        settleCount_id = "0023056905335360";
-
-        demo.executeModifySettleAccount(settleCount_id, app_id, member_id);
-
-    }
-
-    /**
-     * 运行查询结算明细列表接口
-     *
-     * @throws Exception 异常
-     */
-//    public static void executeQuerySettleDetailTest( String appId, String memberId, String settleAccountId, String beginDate, String endDate) throws Exception {
-//        SettleAccountDemo demo = new SettleAccountDemo();
-//        demo.executeQuerySettleDetails( appId, memberId, settleAccountId, beginDate, endDate);
-//    }
-
-
-    /**
      * 创建 settleCount
      *
      * @return 创建的settleCount 对象
      * @throws Exception 异常
      */
-    public Map<String, Object> executeCreateSettleAccount(String app_id, String member_id) throws Exception {
-        System.out.println("=======execute Create SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        Map<String, Object> accountInfo = new HashMap<String, Object>(2);
-        accountInfo.put("card_id", "6222021703001692221");
-        accountInfo.put("card_name", "袁电茜");
-        accountInfo.put("cert_id", "310109200006062491");
-        accountInfo.put("cert_type", "00");
-        accountInfo.put("tel_no", "18888888881");
-        accountInfo.put("bank_code", "03060000");
-        accountInfo.put("bank_acct_type", "1");
-        accountInfo.put("prov_code", "0031");
-        accountInfo.put("area_code", "3100");
+    public static Map<String, Object> executeCreateSettleAccount(String member_id, Map<String, Object> accountInfo) throws Exception {
+        Map<String, Object> settleCountParams = new HashMap<String, Object>(4);
         settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
+        settleCountParams.put("app_id", ConfigInit.appId);
         settleCountParams.put("channel", "bank_account");
         settleCountParams.put("account_info", accountInfo);
-        System.out.println("创建结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
         Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.create(settleCountParams);
-        System.out.println("创建结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute Create SettleAccount end=======");
-
-        return settleCount;
-
-    }
-
-    /**
-     * 查询 SettleAccount
-     *
-     * @param settleCount_id 待查询的settleCount_id
-     * @param app_id         app_id
-     * @return 查询的settleCount 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQuerySettleAccount(String settleCount_id, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute query SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        settleCountParams.put("settle_account_id", settleCount_id);
-        settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-        System.out.println("查询结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.query(settleCountParams);
-        System.out.println("查询结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute query SettleAccount end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 修改 SettleAccount
-     *
-     * @param settleCount_id 待修改的settleCount_id
-     * @param app_id         app_id
-     * @return 修改的settleCount 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeModifySettleAccount(String settleCount_id, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute modify SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        settleCountParams.put("settle_account_id", settleCount_id);
-        settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-
-        settleCountParams.put("min_amt", "0.10");
-        settleCountParams.put("remained_amt", "0.10");
-        System.out.println("修改结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.modify(settleCountParams);
-        System.out.println("修改结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute modify SettleAccount end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 修改 SettleAccount
-     *
-     * @param settleCount_id 待修改的settleCount_id
-     * @param app_id         app_id
-     * @return 修改的settleCount 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeModifySettleAccount(String merchantKey, String settleCount_id, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute modify SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        settleCountParams.put("settle_account_id", settleCount_id);
-        settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-        settleCountParams.put("min_amt", "");
-        settleCountParams.put("remained_amt", "");
-
-        System.out.println("修改结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.modify(settleCountParams, merchantKey);
-        System.out.println("修改结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute modify SettleAccount end=======");
-
-        return settleCount;
-    }
-
-
-    /**
-     * 删除 SettleAccount
-     *
-     * @param settleCount_id 待删除的settleCount_id
-     * @param app_id         app_id
-     * @return delete的settleCount 对象
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeDeleteSettleAccount(String settleCount_id, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute delete SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>(2);
-        settleCountParams.put("settle_account_id", settleCount_id);
-        settleCountParams.put("member_id", member_id);
-        settleCountParams.put("app_id", app_id);
-        System.out.println("删除结算账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.delete(settleCountParams);
-        System.out.println("删除结算账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute delete SettleAccount end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 查询结算明细列表
-     *
-     * @param app_id          app_id
-     * @param member_id       待查询的member_id
-     * @param settleAccountId 待查询的settleAccountId
-     * @return
-     * @throws Exception 异常
-     */
-    public Map<String, Object> executeQuerySettleDetails(String app_id, String member_id,
-                                                         String settleAccountId) throws Exception {
-        System.out.println("=======execute query settle details begin=======");
-        Map<String, Object> querySettleDetailParams = new HashMap<String, Object>(2);
-        querySettleDetailParams.put("app_id", app_id);
-        querySettleDetailParams.put("member_id", member_id);
-        querySettleDetailParams.put("settle_account_id", settleAccountId);
-        querySettleDetailParams.put("begin_date", "20191008");
-        querySettleDetailParams.put("end_date", "20191010");
-        System.out.println("查询结算明细列表,请求参数:" + JSON.toJSONString(querySettleDetailParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.querySettleDetails(querySettleDetailParams);
-        System.out.println("查询结算明细列表,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute query settle details end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 取现
-     *
-     * @param merchantKey
-     * @param app_id
-     * @param member_id
-     * @return
-     * @throws Exception
-     */
-    public static Map<String, Object> executeDrawCash(String merchantKey, String app_id, String member_id) throws Exception {
-        System.out.println("=======execute modify SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>();
-
-        settleCountParams.put("order_no", "jsdk_payment_" + System.currentTimeMillis());
-        settleCountParams.put("cash_amt", "0.01");
-        settleCountParams.put("member_id", "user_00008");
-        settleCountParams.put("app_id", app_id);
-        // settleCountParams.put("settle_account_id", "0008919797515968");
-        settleCountParams.put("cash_type", "T1");
-        settleCountParams.put("notify_url", "");
-
-        System.out.println("取现接口,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.drawCash(settleCountParams,merchantKey);
-        System.out.println("取现接口返回参数" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute modify SettleAccount end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 查询余额
-     *
-     * @param merchantKey
-     * @param app_id
-     * @param member_id
-     * @param settleCount_id
-     * @return
-     * @throws Exception
-     */
-    public static Map<String, Object> executeQueryBalance(String merchantKey, String app_id, String member_id, String settleCount_id) throws Exception {
-        System.out.println("=======execute modify SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>();
-
-        settleCountParams.put("app_id", app_id);
-        settleCountParams.put("member_id", "user_00008");
-        settleCountParams.put("settle_account_id", "0035172521665088");
-
-
-        System.out.println("查询余额账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.queryBalance(settleCountParams,merchantKey);
-        System.out.println("查询余额账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute modify SettleAccount end=======");
-
-        return settleCount;
-    }
-    /**
-     * 取现
-     *
-
-     * @param app_id
-     * @param member_id
-     * @return
-     * @throws Exception
-     */
-    public static Map<String, Object> executeDrawCash(String app_id, String member_id) throws Exception {
-        System.out.println("=======execute modify SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>();
-
-        settleCountParams.put("order_no", "jsdk_payment_" + System.currentTimeMillis());
-        settleCountParams.put("cash_amt", "0.01");
-        settleCountParams.put("member_id", "user_00008");
-        settleCountParams.put("app_id", app_id);
-        // settleCountParams.put("settle_account_id", "0008919797515968");
-        settleCountParams.put("cash_type", "T1");
-        settleCountParams.put("notify_url", "");
-
-        System.out.println("取现接口,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.drawCash(settleCountParams);
-        System.out.println("取现接口返回参数" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute modify SettleAccount end=======");
-
-        return settleCount;
-    }
-
-    /**
-     * 查询余额
-     *
-
-     * @param app_id
-     * @param member_id
-     * @param settleCount_id
-     * @return
-     * @throws Exception
-     */
-    public static Map<String, Object> executeQueryBalance( String app_id, String member_id, String settleCount_id) throws Exception {
-        System.out.println("=======execute modify SettleAccount begin=======");
-        Map<String, Object> settleCountParams = new HashMap<String, Object>();
-
-        settleCountParams.put("app_id", app_id);
-        settleCountParams.put("member_id", "user_00008");
-        settleCountParams.put("settle_account_id", "0035172521665088");
-
-
-        System.out.println("查询余额账户,请求参数:" + JSON.toJSONString(settleCountParams));
-        Map<String, Object> settleCount = com.huifu.adapay.model.SettleAccount.queryBalance(settleCountParams);
-        System.out.println("查询余额账户,返回参数:" + JSON.toJSONString(settleCount));
-        System.out.println("=======execute modify SettleAccount end=======");
-
+        String error_code = (String) settleCount.get("error_code");
+        if (null != error_code) {
+            String errorMsg = (String) settleCount.get("error_msg");
+            throw new BaseAdaPayException(errorMsg);
+        }
         return settleCount;
     }
 

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/WebApplication.java

@@ -2,6 +2,9 @@ package com.ym.mec.web;
 
 import javax.servlet.Filter;
 
+import com.huifu.adapay.model.MerConfig;
+import com.ym.mec.biz.service.NotifyCallback;
+import com.ym.mec.thirdparty.adapay.ConfigInit;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -55,4 +58,10 @@ public class WebApplication {
 		registration.setOrder(1);
 		return registration;
 	}
+
+	@Bean
+	public static void startMqtt() {
+		MerConfig merConfig = ConfigInit.merConfig;
+		new NotifyCallback();
+	}
 }

+ 63 - 29
mec-web/src/main/java/com/ym/mec/web/controller/AdapayController.java

@@ -1,9 +1,13 @@
 package com.ym.mec.web.controller;
 
 import com.alibaba.fastjson.JSONArray;
-import com.ym.mec.biz.dal.dto.HfMemberDto;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.entity.HfMember;
+import com.ym.mec.biz.dal.page.HfMemberQueryInfo;
+import com.ym.mec.biz.service.HfMemberService;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.thirdparty.adapay.ConfigInit;
 import com.ym.mec.thirdparty.adapay.CorpMember;
 import com.ym.mec.common.controller.BaseController;
@@ -14,6 +18,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.io.IOUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -29,11 +34,25 @@ import java.util.*;
 @RestController
 public class AdapayController extends BaseController {
 
+    @Autowired
+    private HfMemberService hfMemberService;
+    @Autowired
+    private SysConfigDao sysConfigDao;
+
+    @ApiOperation(value = "企业用户列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('adapay/queryPage')")
+    public HttpResponseResult<PageInfo<HfMember>> queryPage(HfMemberQueryInfo queryInfo) {
+        return succeed(hfMemberService.queryPage(queryInfo));
+    }
 
     @ApiOperation("新建企业用户")
     @PostMapping(value = "createMember")
-    public HttpResponseResult createMember(HfMemberDto member) throws Exception {
-
+    @PreAuthorize("@pcs.hasPermissions('adapay/createMember')")
+    public HttpResponseResult<Map<String, Object>> createMember(HfMember member) throws Exception {
+        if (member.getMultipartFile().isEmpty()) {
+            return failed("证件压缩文件必传");
+        }
         File file = new File("/var/tmp/" + member.getMultipartFile().getOriginalFilename());
         InputStream inputStream = member.getMultipartFile().getInputStream();
 
@@ -43,42 +62,57 @@ public class AdapayController extends BaseController {
             }
             FileOutputStream fos = new FileOutputStream(file);
             IOUtils.copy(inputStream, fos);
+            return succeed(hfMemberService.createMember(member, file));
+        } catch (Exception e) {
+            return failed(e.getMessage());
+        } finally {
+            IOUtils.closeQuietly(inputStream);
+            boolean delete = file.delete();
+        }
+    }
+
+    @ApiOperation("修改企业用户(状态是failed才能修改)")
+    @PostMapping(value = "updateMember")
+    @PreAuthorize("@pcs.hasPermissions('adapay/updateMember')")
+    public HttpResponseResult<Map<String, Object>> updateMember(HfMember member) throws Exception {
+        if (member.getMultipartFile().isEmpty()) {
+            return failed("证件压缩文件必传");
+        }
+        File file = new File("/var/tmp/" + member.getMultipartFile().getOriginalFilename());
+        InputStream inputStream = member.getMultipartFile().getInputStream();
 
-            HashMap<String, Object> memberParams = new HashMap<>();
-            memberParams.put("order_no", "corp_mem_" + System.currentTimeMillis());
-            memberParams.put("member_id", member.getMemberId());
-            memberParams.put("name", member.getName());
-            memberParams.put("prov_code", member.getProvCode());
-            memberParams.put("area_code", member.getAreaCode());
-            memberParams.put("social_credit_code", member.getSocialCreditCode());
-            memberParams.put("social_credit_code_expires", member.getSocialCreditCodeExpires());
-            memberParams.put("business_scope", member.getBusinessScope());
-            memberParams.put("legal_person", member.getLegalPerson());
-            memberParams.put("legal_cert_id", member.getLegalCertId());
-            memberParams.put("legal_cert_id_expires", member.getLegalCertIdExpires());
-            memberParams.put("legal_mp", member.getLegalMp());
-            memberParams.put("address", member.getAddress());
-            memberParams.put("zip_code", member.getZipCode());
-            memberParams.put("bank_code", member.getBankCode());
-            memberParams.put("bank_acct_type", "1");
-            memberParams.put("card_no", member.getCardNo());
-            memberParams.put("card_name", member.getName());
-            return succeed(new CorpMember().executeCreateMember(memberParams, file));
-        } catch (IOException e) {
-            throw new BizException("文件上传失败,请重试");
+        try {
+            if (!file.getParentFile().exists()) {
+                file.getParentFile().mkdirs();
+            }
+            FileOutputStream fos = new FileOutputStream(file);
+            IOUtils.copy(inputStream, fos);
+            return succeed(hfMemberService.updateMember(member, file));
+        } catch (Exception e) {
+            return failed(e.getMessage());
         } finally {
             IOUtils.closeQuietly(inputStream);
-            file.deleteOnExit();
+            boolean delete = file.delete();
         }
     }
 
+
+    @ApiOperation("绑定结算账户(succeeded 状态才能使用)")
+    @PostMapping(value = "createSettleAccount")
+    @PreAuthorize("@pcs.hasPermissions('adapay/createSettleAccount')")
+    public HttpResponseResult<Map<String, Object>> createSettleAccount(String memberId, String cardNo, String bankCode) throws Exception {
+        return succeed(hfMemberService.createSettleAccount(memberId, cardNo, bankCode));
+    }
+
     @ApiOperation("查询企业用户信息")
     @GetMapping(value = "getMemberInfo")
-    public HttpResponseResult getMemberInfo(String memberId) throws Exception {
-        return succeed(new CorpMember().executeQueryMember(memberId));
+    @PreAuthorize("@pcs.hasPermissions('adapay/getMemberInfo')")
+    public HttpResponseResult<Map<String, Object>> getMemberInfo(String memberId) throws Exception {
+        return succeed(CorpMember.executeQueryMember(memberId));
     }
 
-    @ApiOperation("查询企业用户信息")
+
+    @ApiOperation("导出对账单")
     @GetMapping(value = "exportBill")
     @PreAuthorize("@pcs.hasPermissions('adapay/exportBill')")
     public void exportBill(Date startTime, Date endTime, HttpServletResponse response) throws Exception {