yonge 4 年之前
父节点
当前提交
e8b18ea405

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

@@ -17,4 +17,6 @@ public interface MemberPrivilegesItemDao extends BaseDAO<Integer, MemberPrivileg
     List<MemberPrivilegesItem> findList(@Param("parentId") Integer parentId);
 
     void batchDel(@Param("collect") List<Integer> collect);
+    
+    List<MemberPrivilegesItem> findById(List<Integer> idList);
 }

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -32,7 +33,7 @@ public class MemberPrivilegesItem {
 	/**  */
 	private java.util.Date updateTime;
 
-	private List<MemberPrivilegesItem> memberPrivilegesItems;
+	private List<MemberPrivilegesItem> memberPrivilegesItems = new ArrayList<MemberPrivilegesItem>();
 
 	public String getPath() {
 		return path;

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MemberRankSetting.java

@@ -26,6 +26,8 @@ public class MemberRankSetting {
 	/**  */
 	private List<Integer> memberPrivilegesItemIdList;
 	
+	private List<MemberPrivilegesItem> memberPrivilegesItemList;
+	
 	/**  */
 	private java.util.Date createTime;
 	
@@ -92,6 +94,14 @@ public class MemberRankSetting {
 		this.memberPrivilegesItemIdList = memberPrivilegesItemIdList;
 	}
 
+	public List<MemberPrivilegesItem> getMemberPrivilegesItemList() {
+		return memberPrivilegesItemList;
+	}
+
+	public void setMemberPrivilegesItemList(List<MemberPrivilegesItem> memberPrivilegesItemList) {
+		this.memberPrivilegesItemList = memberPrivilegesItemList;
+	}
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

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

@@ -1,8 +1,17 @@
 package com.ym.mec.biz.service;
 
+import java.util.List;
+
+import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
 import com.ym.mec.biz.dal.entity.MemberRankPrivileges;
 import com.ym.mec.common.service.BaseService;
 
-public interface MemberRankPrivilegesService extends BaseService<Integer,MemberRankPrivileges>{
+public interface MemberRankPrivilegesService extends BaseService<Integer, MemberRankPrivileges> {
 
+	/**
+	 * 获取指定会员等级的特权项目(树状结构)
+	 * @param memberRankId 会员等级编号
+	 * @return
+	 */
+	List<MemberPrivilegesItem> queryByMemberRankId(Integer memberRankId);
 }

+ 63 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankPrivilegesServiceImpl.java

@@ -1,22 +1,82 @@
 package com.ym.mec.biz.service.impl;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.biz.dal.dao.MemberPrivilegesItemDao;
 import com.ym.mec.biz.dal.dao.MemberRankPrivilegesDao;
+import com.ym.mec.biz.dal.entity.MemberPrivilegesItem;
 import com.ym.mec.biz.dal.entity.MemberRankPrivileges;
 import com.ym.mec.biz.service.MemberRankPrivilegesService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
 @Service
-public class MemberRankPrivilegesServiceImpl extends BaseServiceImpl<Integer, MemberRankPrivileges>  implements MemberRankPrivilegesService {
+public class MemberRankPrivilegesServiceImpl extends BaseServiceImpl<Integer, MemberRankPrivileges> implements MemberRankPrivilegesService {
 
 	@Autowired
 	private MemberRankPrivilegesDao memberRankPrivilegesDao;
 
+	@Autowired
+	private MemberPrivilegesItemDao memberPrivilegesItemDao;
+
 	@Override
 	public BaseDAO<Integer, MemberRankPrivileges> getDAO() {
 		return memberRankPrivilegesDao;
 	}
 
+	@Override
+	public List<MemberPrivilegesItem> queryByMemberRankId(Integer memberRankId) {
+		List<Integer> memberPrivilegesIdList = memberRankPrivilegesDao.findByRankSettingId(memberRankId).stream().map(e -> e.getMemberPrivilegesId())
+				.collect(Collectors.toList());
+
+		List<MemberPrivilegesItem> memberPrivilegesItemList = memberPrivilegesItemDao.findById(memberPrivilegesIdList);
+
+		Map<Integer, MemberPrivilegesItem> map = new HashMap<Integer, MemberPrivilegesItem>();
+
+		for (MemberPrivilegesItem item : memberPrivilegesItemList) {
+
+			MemberPrivilegesItem memberPrivilegesItem = queryParentBysubId(item);
+
+			if (map.containsKey(memberPrivilegesItem.getId())) {
+
+				memberPrivilegesItem = addSubItemToParent(map.get(memberPrivilegesItem.getId()), memberPrivilegesItem);
+			}
+			map.put(memberPrivilegesItem.getId(), memberPrivilegesItem);
+		}
+
+		return map.values().stream().collect(Collectors.toList());
+	}
+
+	private MemberPrivilegesItem queryParentBysubId(MemberPrivilegesItem memberPrivilegesItem) {
+
+		if (memberPrivilegesItem != null && (memberPrivilegesItem.getParentId() != 0 && memberPrivilegesItem.getParentId() != null)) {
+			Integer parentId = memberPrivilegesItem.getParentId();
+			MemberPrivilegesItem parentItem = memberPrivilegesItemDao.get(parentId);
+			if (parentItem != null) {
+				parentItem.getMemberPrivilegesItems().add(memberPrivilegesItem);
+				return queryParentBysubId(parentItem);
+			}
+		}
+
+		return memberPrivilegesItem;
+	}
+
+	private MemberPrivilegesItem addSubItemToParent(MemberPrivilegesItem parentItem, MemberPrivilegesItem subItem) {
+		if (subItem.getParentId().equals(parentItem.getId())) {
+			parentItem.getMemberPrivilegesItems().add(subItem);
+		} else {
+			for (MemberPrivilegesItem item : parentItem.getMemberPrivilegesItems()) {
+				addSubItemToParent(item, subItem);
+			}
+		}
+
+		return parentItem;
+	}
+
 }

+ 104 - 76
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -2,7 +2,6 @@ package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -11,6 +10,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.ym.mec.biz.dal.dao.MemberRankPrivilegesDao;
@@ -24,7 +24,6 @@ import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
@@ -38,7 +37,7 @@ import com.ym.mec.biz.service.SysUserCashAccountService;
 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.message.MessageSenderPluginContext;
+import com.ym.mec.util.date.DateUtil;
 
 @Service
 public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, MemberRankSetting> implements MemberRankSettingService {
@@ -59,14 +58,14 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 
 	@Autowired
 	private SysUserCashAccountService sysUserCashAccountService;
-	
-    @Autowired
-    private SysUserCashAccountDetailService sysUserCashAccountDetailService;
 
-    @Autowired
-    private ContractService contractService;
+	@Autowired
+	private SysUserCashAccountDetailService sysUserCashAccountDetailService;
+
+	@Autowired
+	private ContractService contractService;
 
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+	private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
 	@Override
 	public BaseDAO<Integer, MemberRankSetting> getDAO() {
@@ -112,6 +111,7 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 	}
 
 	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	public Map buy(Integer userId, Integer memberRankId, PeriodEnum periodEnum, BigDecimal amount, boolean isUseBalance) throws Exception {
 		Student student = studentService.get(userId);
 		if (student == null) {
@@ -123,6 +123,11 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 			throw new BizException("学生没有分部编号");
 		}
 
+		MemberRankSetting memberRankSetting = memberRankSettingDao.get(memberRankId);
+		if (memberRankSetting == null) {
+			throw new BizException("会员等级错误");
+		}
+
 		MemberFeeSetting memberFeeSetting = memberFeeSettingService.findByRankIdAndOrganId(organId, memberRankId);
 
 		if (memberFeeSetting == null) {
@@ -171,8 +176,9 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 		studentPaymentOrder.setGroupType(GroupType.MEMBER);
 		studentPaymentOrder.setRemitFee(BigDecimal.ZERO);
 		studentPaymentOrder.setCourseRemitFee(BigDecimal.ZERO);
-		studentPaymentOrder.setMemo("会员购买");
+		studentPaymentOrder.setMemo(memberRankSetting.getName());
 		studentPaymentOrder.setPaymentChannel("BALANCE");
+		studentPaymentOrder.setMusicGroupId(memberRankId + "");
 
 		if (isUseBalance) {
 			SysUserCashAccount userCashAccount = sysUserCashAccountService.getLocked(userId);
@@ -185,9 +191,11 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 				studentPaymentOrder.setBalancePaymentAmount(amount);
 				studentPaymentOrder.setStatus(DealStatusEnum.SUCCESS);
 				sysUserCashAccountService.updateBalance(userId, amount.negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "购买会员");
+
+				orderCallback(studentPaymentOrder);
 			} else {
 				if (userCashAccount.getBalance().doubleValue() > 0) {
-					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团续费");
+					sysUserCashAccountService.updateBalance(userId, userCashAccount.getBalance().negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "购买会员");
 					studentPaymentOrder.setBalancePaymentAmount(userCashAccount.getBalance());
 					studentPaymentOrder.setActualAmount(studentPaymentOrder.getExpectAmount().subtract(userCashAccount.getBalance()));
 				}
@@ -198,72 +206,92 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
 	}
 
 	@Override
+	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	public boolean orderCallback(StudentPaymentOrder studentPaymentOrder) {
 		Date nowDate = new Date();
-        //更新订单信息
-        studentPaymentOrder.setUpdateTime(nowDate);
-        int updateCount = studentPaymentOrderService.update(studentPaymentOrder);
-        if (updateCount <= 0) {
-            throw new BizException("订单更新失败");
-        }
-
-        Integer userId = studentPaymentOrder.getUserId();
-        
-        if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
-
-            if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
-                sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "购买会员支付失败");
-            }
-            
-            return true;
-        }
-
-        //支付成功
-        if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
-        	
-        	//添加会员有效时长
-
-            //插入交易明细
-            BigDecimal amount = studentPaymentOrder.getActualAmount();
-            if (amount.compareTo(BigDecimal.ZERO) > 0) {
-                SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
-                //充值
-                SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
-                rechargeDetail.setAmount(amount);
-                rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
-                rechargeDetail.setComment("缴费前充值");
-                rechargeDetail.setCreateTime(nowDate);
-                rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
-                rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
-                rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
-                rechargeDetail.setUpdateTime(nowDate);
-                rechargeDetail.setUserId(userId);
-                rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-                rechargeDetail.setComAmount(studentPaymentOrder.getComAmount());
-                rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
-                sysUserCashAccountDetailService.insert(rechargeDetail);
-
-                //缴费
-                SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
-                paymentDetail.setAmount(amount.negate());
-                paymentDetail.setBalance(cashAccount.getBalance());
-                paymentDetail.setComment("购买会员");
-                paymentDetail.setCreateTime(nowDate);
-                paymentDetail.setStatus(DealStatusEnum.SUCCESS);
-                paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
-                paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
-                paymentDetail.setUpdateTime(nowDate);
-                paymentDetail.setUserId(userId);
-                rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
-                sysUserCashAccountDetailService.insert(paymentDetail);
-            }
-
-            try {
-                contractService.transferProduceContract(userId, null);
-            } catch (Exception e) {
-                logger.error("产品协议生成失败", e);
-            }
-        }
-        return true;
+		// 更新订单信息
+		studentPaymentOrder.setUpdateTime(nowDate);
+		int updateCount = studentPaymentOrderService.update(studentPaymentOrder);
+		if (updateCount <= 0) {
+			throw new BizException("订单更新失败");
+		}
+
+		Integer userId = studentPaymentOrder.getUserId();
+
+		if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
+
+			if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
+				sysUserCashAccountService.updateBalance(studentPaymentOrder.getUserId(), studentPaymentOrder.getBalancePaymentAmount(),
+						PlatformCashAccountDetailTypeEnum.REFUNDS, "购买会员支付失败");
+			}
+
+			return true;
+		}
+
+		// 支付成功
+		if (studentPaymentOrder.getStatus() == DealStatusEnum.SUCCESS) {
+
+			// 添加会员有效时长
+			Student student = studentService.get(userId);
+			if (student == null) {
+				throw new BizException("学员信息不存在");
+			}
+
+			student.setMemberRankSettingId(Integer.parseInt(studentPaymentOrder.getMusicGroupId()));
+			if (student.getMemberRankSettingId() == null) {
+				student.setMembershipEndTime(DateUtil.addMonths(nowDate, 6));
+				student.setMembershipStartTime(nowDate);
+			} else {
+				if (nowDate.after(student.getMembershipEndTime())) {
+					student.setMembershipEndTime(DateUtil.addMonths(nowDate, 6));
+				} else {
+					student.setMembershipEndTime(DateUtil.addMonths(student.getMembershipEndTime(), 6));
+				}
+			}
+			student.setUpdateTime(nowDate);
+			studentService.update(student);
+
+			// 插入交易明细
+			BigDecimal amount = studentPaymentOrder.getActualAmount();
+			if (amount.compareTo(BigDecimal.ZERO) > 0) {
+				SysUserCashAccount cashAccount = sysUserCashAccountService.get(userId);
+				// 充值
+				SysUserCashAccountDetail rechargeDetail = new SysUserCashAccountDetail();
+				rechargeDetail.setAmount(amount);
+				rechargeDetail.setBalance(cashAccount.getBalance().add(amount));
+				rechargeDetail.setComment("缴费前充值");
+				rechargeDetail.setCreateTime(nowDate);
+				rechargeDetail.setStatus(DealStatusEnum.SUCCESS);
+				rechargeDetail.setTransNo(studentPaymentOrder.getTransNo());
+				rechargeDetail.setType(PlatformCashAccountDetailTypeEnum.RECHARGE);
+				rechargeDetail.setUpdateTime(nowDate);
+				rechargeDetail.setUserId(userId);
+				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+				rechargeDetail.setComAmount(studentPaymentOrder.getComAmount());
+				rechargeDetail.setPerAmount(studentPaymentOrder.getPerAmount());
+				sysUserCashAccountDetailService.insert(rechargeDetail);
+
+				// 缴费
+				SysUserCashAccountDetail paymentDetail = new SysUserCashAccountDetail();
+				paymentDetail.setAmount(amount.negate());
+				paymentDetail.setBalance(cashAccount.getBalance());
+				paymentDetail.setComment("购买会员");
+				paymentDetail.setCreateTime(nowDate);
+				paymentDetail.setStatus(DealStatusEnum.SUCCESS);
+				paymentDetail.setTransNo(studentPaymentOrder.getTransNo());
+				paymentDetail.setType(PlatformCashAccountDetailTypeEnum.PAY_FEE);
+				paymentDetail.setUpdateTime(nowDate);
+				paymentDetail.setUserId(userId);
+				rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
+				sysUserCashAccountDetailService.insert(paymentDetail);
+			}
+
+			try {
+				contractService.transferProduceContract(userId, null);
+			} catch (Exception e) {
+				logger.error("产品协议生成失败", e);
+			}
+		}
+		return true;
 	}
 }

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/MemberPrivilegesItemMapper.xml

@@ -102,4 +102,13 @@
 		</where>
 		ORDER BY id_ DESC
 	</select>
+	
+	<select id="findById" resultMap="MemberPrivilegesItem" parameterType="java.util.List">
+		SELECT * FROM member_privileges_item
+		where id_ IN
+		<foreach collection="list" separator="," item="item" open="(" close=")">
+			#{item}
+		</foreach>
+		ORDER BY id_ DESC
+	</select>
 </mapper>

+ 5 - 0
mec-student/src/main/java/com/ym/mec/student/controller/MemberRankController.java

@@ -18,6 +18,7 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.enums.PeriodEnum;
 import com.ym.mec.biz.service.MemberFeeSettingService;
+import com.ym.mec.biz.service.MemberRankPrivilegesService;
 import com.ym.mec.biz.service.MemberRankSettingService;
 import com.ym.mec.common.controller.BaseController;
 
@@ -33,6 +34,9 @@ public class MemberRankController extends BaseController {
 	private MemberRankSettingService memberRankSettingService;
 
 	@Autowired
+	private MemberRankPrivilegesService memberRankPrivilegesService;
+
+	@Autowired
 	private SysUserFeignService sysUserFeignService;
 
 	@ApiOperation(value = "获取所有的收费标准")
@@ -47,6 +51,7 @@ public class MemberRankController extends BaseController {
 
 		for (MemberRankSetting mrs : result) {
 			mrs.setMemberFeeSetting(memberFeeSettingService.findByRankIdAndOrganId(sysUser.getOrganId(), mrs.getId()));
+			mrs.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(mrs.getId()));
 		}
 		return succeed(result);
 	}

+ 36 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
@@ -22,12 +24,15 @@ import org.springframework.web.multipart.MultipartFile;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
+import com.ym.mec.biz.dal.entity.AppVersionInfo;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.service.AppVersionInfoService;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ImGroupNoticeService;
+import com.ym.mec.biz.service.MemberRankPrivilegesService;
 import com.ym.mec.biz.service.MemberRankSettingService;
 import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.StudentManageService;
@@ -71,9 +76,15 @@ public class StudentManageController extends BaseController {
     private OrganizationService organizationService;
     @Autowired
     private StudentService studentService;
+
+	@Autowired
+	private AppVersionInfoService appVersionInfoService;
     
     @Autowired
     private MemberRankSettingService memberRankSettingService;
+    
+    @Autowired
+    private MemberRankPrivilegesService memberRankPrivilegesService;
 
     private final static Logger LOGGER = LoggerFactory.getLogger(StudentManageController.class);
 
@@ -112,7 +123,7 @@ public class StudentManageController extends BaseController {
 
     @ApiOperation(value = "获取学员基本信息")
     @GetMapping("student/queryUserInfo")
-	public Object queryUserInfo() {
+	public Object queryUserInfo(String platform) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (user == null) {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
@@ -131,7 +142,30 @@ public class StudentManageController extends BaseController {
 				student.setMemberRankImg(memberRankSetting.getIcon());
 			}
 		}
-		return succeed(student);
+
+		Map<String, Object> datas = new HashMap<String, Object>();
+		datas.put("student", student);
+
+		if (StringUtils.isNotBlank(platform)) {
+			AppVersionInfo appVersionInfo = null;
+			List<AppVersionInfo> list = appVersionInfoService.queryNewestByPlatform(platform);
+			if (list.size() > 0) {
+				appVersionInfo = list.get(0);
+			}
+			datas.put("appVersionInfo", appVersionInfo);
+		}
+
+		// 查询权限
+		if (student.getMemberRankSettingId() == null || student.getMemberRankSettingId() == 0) {
+			List<MemberRankSetting> memberRankSettingList = memberRankSettingService.queryListByIsDefault(true);
+			if (memberRankSettingList != null && memberRankSettingList.size() > 0) {
+				datas.put("userPrivileges", memberRankPrivilegesService.queryByMemberRankId(memberRankSettingList.get(0).getId()));
+			}
+		} else {
+			datas.put("userPrivileges", memberRankPrivilegesService.queryByMemberRankId(student.getMemberRankSettingId()));
+		}
+
+		return succeed(datas);
 	}
 
     @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")

+ 92 - 29
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -1,49 +1,100 @@
 package com.ym.mec.student.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpStatus;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.DigestUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.dao.ChildrenDayDegreeDetailDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleEvaluateDao;
+import com.ym.mec.biz.dal.dao.DegreeRegistrationDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
+import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
+import com.ym.mec.biz.dal.dao.OrganizationDao;
+import com.ym.mec.biz.dal.dao.ReplacementInstrumentActivityDao;
+import com.ym.mec.biz.dal.dao.StudentGoodsSellDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentRouteOrderDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dto.LuckStatisDto;
+import com.ym.mec.biz.dal.dto.OrderStatisDto;
+import com.ym.mec.biz.dal.dto.Practice4OrganDto;
+import com.ym.mec.biz.dal.dto.PracticeGroupStatisDto;
+import com.ym.mec.biz.dal.dto.PracticeGroupsDto;
+import com.ym.mec.biz.dal.dto.StudentPaymentOrderDto;
+import com.ym.mec.biz.dal.dto.StudentPaymentOrderExportDto;
+import com.ym.mec.biz.dal.dto.VipBuyResultDto;
+import com.ym.mec.biz.dal.entity.DegreeRegistration;
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.entity.LuckDrawCount;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
+import com.ym.mec.biz.dal.entity.Organization;
+import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
+import com.ym.mec.biz.dal.entity.TenantPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
+import com.ym.mec.biz.service.LuckDrawCountService;
+import com.ym.mec.biz.service.MusicGroupService;
+import com.ym.mec.biz.service.SporadicChargeInfoService;
+import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
+import com.ym.mec.biz.service.StudentPaymentOrderService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.TenantPaymentOrderService;
+import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.thirdparty.adapay.ConfigInit;
 import com.ym.mec.thirdparty.adapay.Payment;
 import com.ym.mec.thirdparty.yqpay.Msg;
-import com.ym.mec.thirdparty.yqpay.RsqMsg;
 import com.ym.mec.thirdparty.yqpay.YqPayFeignService;
-import com.ym.mec.thirdparty.yqpay.YqPayUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpStatus;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.DigestUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 @RequestMapping("studentOrder")
 @Api(tags = "订单回调")
@@ -95,6 +146,18 @@ public class StudentOrderController extends BaseController {
 
     @Value("${spring.profiles.active:dev}")
     private String profiles;
+    
+    @ApiOperation(value = "查询订单列表")
+    @GetMapping("/queryPage")
+    public Object findGroupUsers(StudentPaymentOrderQueryInfo queryInfo) {
+    	SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		queryInfo.setStudentId(user.getId());
+    	PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
+        return succeed(studentPaymentOrderPageInfo);
+    }
 
     @PostMapping("/notify")
     public Msg notify(@ModelAttribute Msg msg) throws Exception {