Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

Joburgess 5 lat temu
rodzic
commit
af4ebe2cee

+ 16 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java

@@ -48,9 +48,9 @@ public class ExamRegistrationController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('examRegistration/list')")
     public HttpResponseResult<PageInfo<ExamRegistration>> list(ExamRegistrationQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(!sysUser.getIsSuperAdmin()&&Objects.isNull(queryInfo.getOrganId())){
+        if (!sysUser.getIsSuperAdmin() && Objects.isNull(queryInfo.getOrganId())) {
             Employee employee = employeeService.get(sysUser.getId());
-            if(Objects.nonNull(employee)){
+            if (Objects.nonNull(employee)) {
                 queryInfo.setOrganId(employee.getOrganId());
             }
         }
@@ -94,7 +94,7 @@ public class ExamRegistrationController extends BaseController {
     @ApiOperation(value = "获取招生统计信息")
     @GetMapping(value = "getExamRegistrationStaticsInfo")
     @PreAuthorize("@pcs.hasPermissions('examRegistration/getExamRegistrationStaticsInfo')")
-    public HttpResponseResult<ExamRegistrationStatisticsDto> getExamRegistrationStaticsInfo(Integer examId){
+    public HttpResponseResult<ExamRegistrationStatisticsDto> getExamRegistrationStaticsInfo(Integer examId) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         return succeed(examRegistrationService.getExamRegistrationStaticsInfo(sysUser.getId(), examId));
     }
@@ -102,9 +102,18 @@ public class ExamRegistrationController extends BaseController {
 
     @ApiOperation(value = "ocr")
     @PostMapping(value = "ocr")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "身份证图片", required = true, dataType = "file"),
-            @ApiImplicitParam(name = "idCardSide", value = "身份证(front-人像面 back-国徽面)", required = true, dataType = "String") })
-    public HttpResponseResult ocr(@RequestParam("file") MultipartFile file,String idCardSide) throws IOException {
-        return succeed(Ocr.idcard(file,idCardSide));
+    @ApiImplicitParams({@ApiImplicitParam(name = "file", value = "身份证图片", required = true, dataType = "file"),
+            @ApiImplicitParam(name = "idCardSide", value = "身份证(front-人像面 back-国徽面)", required = true, dataType = "String")})
+    public HttpResponseResult ocr(@RequestParam("file") MultipartFile file, String idCardSide) throws IOException {
+        return succeed(Ocr.idcard(file, idCardSide));
     }
+
+
+    @ApiOperation(value = "获取报名信息")
+    @GetMapping(value = "getExamRegistration")
+    @ApiImplicitParams({@ApiImplicitParam(name = "examRegistrationId", value = "报名id", required = true, dataType = "file")})
+    public HttpResponseResult<ExamRegistration> getExamRegistration(Integer examRegistrationId) {
+        return succeed(examRegistrationService.getExamRegistration(examRegistrationId));
+    }
+
 }

+ 7 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationDao.java

@@ -96,4 +96,11 @@ public interface ExamRegistrationDao extends BaseDAO<Long, ExamRegistration> {
      * @return
      */
     int countExamList(Map<String, Object> params);
+
+
+    /**
+     * 获取报名信息
+     * @return
+     */
+    ExamRegistrationDto getExamRegistration(Integer examRegistrationId);
 }

+ 12 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamRegistrationPaymentDao.java

@@ -4,6 +4,8 @@ import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.user.entity.ExamRegistrationPayment;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface ExamRegistrationPaymentDao extends BaseDAO<Long, ExamRegistrationPayment> {
 
     /**
@@ -17,8 +19,18 @@ public interface ExamRegistrationPaymentDao extends BaseDAO<Long, ExamRegistrati
 
     /**
      * 根据订单号获取订单
+     *
      * @param orderNo
      * @return
      */
     ExamRegistrationPayment getByOrderNo(@Param("orderNo") String orderNo);
+
+    /**
+     * 根据状态获取订单
+     *
+     * @param status
+     * @param payType
+     * @return
+     */
+    List<ExamRegistrationPayment> getOrdersByStatus(@Param("status") String status, @Param("payType") String payType);
 }

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamRegistrationDto.java

@@ -5,6 +5,9 @@ import io.swagger.annotations.ApiModelProperty;
 
 public class ExamRegistrationDto extends ExamRegistration {
 
+    @ApiModelProperty(value = "学员姓名")
+    private String studentName;
+
     @ApiModelProperty(value = "考试项目")
     private String examBaseName;
 
@@ -70,4 +73,12 @@ public class ExamRegistrationDto extends ExamRegistration {
     public void setExamEndTime(String examEndTime) {
         this.examEndTime = examEndTime;
     }
+
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
 }

+ 25 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/ExamRegistration.java

@@ -6,6 +6,8 @@ import com.keao.edu.user.enums.StudentRegistrationStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.math.BigDecimal;
+
 /**
  * 对应数据库表(exam_registration):
  */
@@ -33,12 +35,18 @@ public class ExamRegistration {
 
 	@ApiModelProperty(value = "专业信息")
 	private Subject subject;
-	
+
 	@ApiModelProperty(value = "报考级别")
 	private Integer level;
 
+	@ApiModelProperty(value = "考级费用")
+	private BigDecimal levelFee;
+
 	@ApiModelProperty(value = "乐理级别")
 	private Integer examMusicTheoryLevel;
+
+	@ApiModelProperty(value = "乐理考级费用")
+	private BigDecimal theoryLevelFee;
 	
 	@ApiModelProperty(value = "考试内容")
 	private String songJson;
@@ -259,6 +267,22 @@ public class ExamRegistration {
 		this.examMusicTheoryLevel = examMusicTheoryLevel;
 	}
 
+	public BigDecimal getLevelFee() {
+		return levelFee;
+	}
+
+	public void setLevelFee(BigDecimal levelFee) {
+		this.levelFee = levelFee;
+	}
+
+	public BigDecimal getTheoryLevelFee() {
+		return theoryLevelFee;
+	}
+
+	public void setTheoryLevelFee(BigDecimal theoryLevelFee) {
+		this.theoryLevelFee = theoryLevelFee;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 15 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRegistrationPaymentService.java

@@ -3,18 +3,22 @@ package com.keao.edu.user.service;
 import com.keao.edu.common.service.BaseService;
 import com.keao.edu.user.entity.ExamRegistrationPayment;
 
+import java.util.List;
+
 public interface ExamRegistrationPaymentService extends BaseService<Long, ExamRegistrationPayment> {
 
     /**
      * 获取用户未支付的订单
+     *
      * @param examinationBasicId
      * @param userId
      * @return
      */
-    ExamRegistrationPayment getExamIngOrder(Integer examinationBasicId,Integer userId);
+    ExamRegistrationPayment getExamIngOrder(Integer examinationBasicId, Integer userId);
 
     /**
      * 根据订单号获取订单
+     *
      * @param OrderNo
      * @return
      */
@@ -22,8 +26,18 @@ public interface ExamRegistrationPaymentService extends BaseService<Long, ExamRe
 
     /**
      * 更新订单信息
+     *
      * @param examRegistrationPayment
      * @return
      */
     ExamRegistrationPayment updateOrder(ExamRegistrationPayment examRegistrationPayment);
+
+
+    /**
+     * 查询订单订单状态
+     *
+     * @throws Exception
+     */
+    void queryOrderStatus() throws Exception;
+
 }

+ 8 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRegistrationService.java

@@ -47,4 +47,12 @@ public interface ExamRegistrationService extends BaseService<Long, ExamRegistrat
     * @return
     */
    PageInfo<ExamRecordDto> examList(ExamRecordQueryInfo queryInfo);
+
+
+   /**
+    * 获取报名信息
+    * @param examRegistrationId
+    * @return
+    */
+   ExamRegistrationDto getExamRegistration(Integer examRegistrationId);
 }

+ 9 - 11
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/EmployeeServiceImpl.java

@@ -12,7 +12,6 @@ import com.keao.edu.im.api.entity.ImUserModel;
 import com.keao.edu.user.dao.EmployeeDao;
 import com.keao.edu.user.dao.SysUserDao;
 import com.keao.edu.user.entity.Employee;
-import com.keao.edu.user.enums.YesOrNoEnum;
 import com.keao.edu.user.service.EmployeeService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -62,19 +61,18 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
 			}
 			return;
 		}
-		user = new SysUser();
-		user.setTenantId(tenantId);
-		user.setPassword(new BCryptPasswordEncoder().encode("123456"));
-		user.setUserType("SYSTEM");
-		sysUserDao.insert(user);
+		sysUser.setTenantId(tenantId);
+		sysUser.setPassword(new BCryptPasswordEncoder().encode("123456"));
+		sysUser.setUserType("SYSTEM");
+		sysUserDao.insert(sysUser);
 
-		employee.setUserId(user.getId());
+		employee.setUserId(sysUser.getId());
 		employeeDao.insert(employee);
 		//新增用户角色
-		sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
-		ImResult imResult = imFeignService.register(new ImUserModel(user.getId().toString(), user.getRealName(),null));
-		user.setImToken(imResult.getToken());
-		sysUserDao.update(user);
+		sysUserDao.batchAddEmployeeRole(sysUser.getId(),sysUser.getRoles());
+		ImResult imResult = imFeignService.register(new ImUserModel(sysUser.getId().toString(), sysUser.getRealName(),null));
+		sysUser.setImToken(imResult.getToken());
+		sysUserDao.update(sysUser);
 	}
 
 	@Override

+ 142 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationPaymentServiceImpl.java

@@ -1,8 +1,14 @@
 package com.keao.edu.user.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.exception.BizException;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
+import com.keao.edu.thirdparty.adapay.Payment;
+import com.keao.edu.thirdparty.yqpay.Msg;
+import com.keao.edu.thirdparty.yqpay.RsqMsg;
+import com.keao.edu.thirdparty.yqpay.YqPayFeignService;
+import com.keao.edu.thirdparty.yqpay.YqPayUtil;
 import com.keao.edu.user.dao.ExamRegistrationPaymentDao;
 import com.keao.edu.user.entity.ExamRegistration;
 import com.keao.edu.user.entity.ExamRegistrationPayment;
@@ -13,7 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, ExamRegistrationPayment> implements ExamRegistrationPaymentService {
@@ -22,6 +29,8 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
     private ExamRegistrationPaymentDao examRegistrationPaymentDao;
     @Autowired
     private ExamRegistrationService examRegistrationService;
+    @Autowired
+    private YqPayFeignService yqPayFeignService;
 
     @Override
     public BaseDAO<Long, ExamRegistrationPayment> getDAO() {
@@ -58,4 +67,136 @@ public class ExamRegistrationPaymentServiceImpl extends BaseServiceImpl<Long, Ex
         }
         return examRegistrationPayment;
     }
+
+    @Override
+    public void queryOrderStatus() throws Exception {
+        //yqPayQuery();
+        //adaPayQuery();
+    }
+//
+//
+//    private void yqPayQuery() throws Exception {
+//        List<ExamRegistrationPayment> orders = examRegistrationPaymentDao.getOrdersByStatus("ING", "YQPAY");
+//        if (orders.size() == 0) {
+//            return;
+//        }
+//        List<String> orderNoList = orders.stream().map(ExamRegistrationPayment::getOrderNo).collect(Collectors.toList());
+//        String merOrderNos = orders.stream().map(ExamRegistrationPayment::getOrderNo).collect(Collectors.joining(","));
+//
+//        String notifyUrl = ""; //回调地址
+//        Map<String, Object> resultMap = new LinkedHashMap<>();
+//        resultMap.put("merOrderNoList", merOrderNos);
+//        Map<String, Object> requestMap = YqPayUtil.getRequestMap(notifyUrl, resultMap);
+//
+//        RsqMsg rsqMsg = new RsqMsg(requestMap);
+//
+//        Msg queryRs = yqPayFeignService.orderQuery(rsqMsg);
+//
+//        if (queryRs.getCode().equals("88")) {
+//            //更新订单状态
+//            String[] statusArr = {"0", "1", "7"};
+//            String responseParameters = queryRs.getResponseParameters();
+//            List<Map<String, String>> responseList = JSON.parseObject(responseParameters, List.class);
+//            for (Map<String, String> response : responseList) {
+//                Map<String, String> rpMap = response;
+//                String channelType = rpMap.get("channelType").equals("1") ? "WXPay" : (rpMap.get("channelType").equals("2") ? "Alipay" : "quickPay");
+//                rpMap.put("channelType", channelType);
+//
+//                if (orderNoList.contains(rpMap.get("merOrderNo"))) {
+//                    orderNoList.remove(rpMap.get("merOrderNo"));
+//                }
+//
+//                if (Arrays.asList(statusArr).contains(rpMap.get("tradeState"))) {
+//                    try {
+//                        updateOrder(rpMap); //更新订单
+//                    } catch (Exception e) {
+//                        e.printStackTrace();
+//                    }
+//                    continue;
+//                }
+//            }
+//            closeOrders(orderNoList); //关闭订单
+//        }
+//    }
+//
+//    private void adaPayQuery() throws Exception {
+//        List<ExamRegistrationPayment> orders = examRegistrationPaymentDao.getOrdersByStatus("ING", "ADAPAY");
+//        if (orders.size() == 0) {
+//            return;
+//        }
+//
+//        List<String> orderNoList = new ArrayList<String>();
+//
+//        for (ExamRegistrationPayment order : orders) {
+//            if (order.getTransNo() == null) {
+//                orderNoList.add(order.getOrderNo());
+//                continue;
+//            }
+//            Map<String, Object> payment = Payment.queryPayment(order.getTransNo());
+//            Map<String, String> rpMap = new HashMap<>();
+//            rpMap.put("merOrderNo", order.getOrderNo());
+//            rpMap.put("orderNo", (String) payment.get("id"));
+//            rpMap.put("channelType", (String) payment.get("pay_channel"));
+//            String status = (String) payment.get("status");
+//            if (payment.containsKey("error_msg")) {
+//                rpMap.put("remarks", (String) payment.get("error_msg"));
+//            }
+//            if (status.equals("succeeded")) {
+//                rpMap.put("tradeState", "1");
+//            }
+//            if (status.equals("failed")) {
+//                rpMap.put("tradeState", "0");
+//            }
+//
+//            if (rpMap.containsKey("tradeState")) {
+//                try {
+//                    updateOrder(rpMap); //更新订单
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                    continue;
+//                }
+//            }
+//
+//            if (status.equals("pending")) {
+//                orderNoList.add(order.getOrderNo());
+//            }
+//        }
+//        closeOrders(orderNoList);
+//    }
+//
+//
+//    private void closeOrders(List<String> orderNoList) throws Exception {
+//        if (orderNoList.size() == 0) {
+//            return;
+//        }
+//
+//        Calendar beforeTime = Calendar.getInstance();
+//        beforeTime.add(Calendar.MINUTE, -30);// 30分钟之前的时间
+//        Date beforeDate = beforeTime.getTime();
+//
+//        List<StudentPaymentOrder> ordersOverTime = findOrdersOverTime(orderNoList, DealStatusEnum.ING, beforeDate);
+//        for (StudentPaymentOrder order : ordersOverTime) {
+//            try {
+//                order.setStatus(DealStatusEnum.FAILED);
+//                order.setMemo("超时未支付关闭");
+//                if (order.getType().equals(OrderTypeEnum.APPLY)) { //报名订单
+//                    studentRegistrationService.updateApplyOrder(order);
+//                } else if (order.getType().equals(OrderTypeEnum.SMALL_CLASS_TO_BUY)) {
+//                    vipGroupService.orderCallback(order);
+//                } else if (order.getType().equals(OrderTypeEnum.RENEW)) {
+//                    musicGroupService.renewForCallback(order);
+//                } else if (order.getType().equals(OrderTypeEnum.SPORADIC) || order.getType().equals(OrderTypeEnum.LUCK)) {
+//                    sporadicChargeInfoService.renewForCallback(order);
+//                } else if (order.getType().equals(OrderTypeEnum.PRACTICE_GROUP_BUY) || order.getType().equals(OrderTypeEnum.PRACTICE_GROUP_RENEW)) {
+//                    practiceGroupService.orderCallback(order);
+//                } else if (order.getType().equals(OrderTypeEnum.REPAIR)) {
+//                    studentRepairService.orderCallback(order);
+//                }
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//                continue;
+//            }
+//        }
+//
+//    }
 }

+ 7 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -86,6 +86,8 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         }
 
         examRegistration.setStatus(StudentRegistrationStatusEnum.PAY_WAIT);
+        examRegistration.setLevelFee(examSubjectSong.getRegistrationFee());
+        examRegistration.setTheoryLevelFee(examMusicTheory.getFee());
         examRegistrationDao.insert(examRegistration);
 
         ExamRegistrationPayment examRegistrationPayment = new ExamRegistrationPayment();
@@ -209,4 +211,9 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public ExamRegistrationDto getExamRegistration(Integer examRegistrationId) {
+        return examRegistrationDao.getExamRegistration(examRegistrationId);
+    }
 }

+ 1 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -101,7 +101,7 @@
 	</update>
 	<sql id="employeeQueryPage">
 		<where>
-				e.del_flag_ = 1 AND e.tenant_id_ = #{tenantId}
+				e.del_flag_ = 0 AND e.tenant_id_ = #{tenantId}
 			<if test="search != null and search != ''">
 				AND (e.user_id_ = #{search} OR su.phone_ LIKE CONCAT('%',#{search},'%') OR su.real_name_ LIKE CONCAT('%',#{search},'%'))
 			</if>

+ 22 - 10
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -5,7 +5,7 @@
 不要修改此文件。所有改动将在下次重新自动生成时丢失。
 -->
 <mapper namespace="com.keao.edu.user.dao.ExamRegistrationDao">
-	
+
 	<resultMap type="com.keao.edu.user.entity.ExamRegistration" id="ExamRegistration">
 		<result column="id_" property="id" />
 		<result column="examination_basic_id_" property="examinationBasicId" />
@@ -13,9 +13,12 @@
 		<result column="organ_id_" property="organId" />
 		<result column="subject_id_" property="subjectId" />
 		<result column="level_" property="level" />
+		<result column="level_fee_" property="levelFee" />
 		<result column="song_json_" property="songJson" />
 		<result column="last_exam_level_" property="lastExamLevel" />
 		<result column="last_exam_certificate_url_" property="lastExamCertificateUrl" />
+		<result column="exam_music_theory_level_" property="examMusicTheoryLevel" />
+		<result column="theory_level_fee_" property="theoryLevelFee" />
 		<result column="adviser_name_" property="adviserName" />
 		<result column="adviser_phone_" property="adviserPhone" />
 		<result column="card_no_" property="cardNo" />
@@ -27,23 +30,23 @@
 		<association property="sysUser" columnPrefix="sys_user_" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
 		<association property="subject" columnPrefix="subject_" resultMap="com.keao.edu.user.dao.SubjectDao.Subject"/>
 	</resultMap>
-	
+
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="ExamRegistration" >
-		SELECT * FROM exam_registration WHERE id_ = #{id} 
+		SELECT * FROM exam_registration WHERE id_ = #{id}
 	</select>
-	
+
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="ExamRegistration">
 		SELECT * FROM exam_registration ORDER BY id_
 	</select>
-	
+
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.ExamRegistration" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO exam_registration (id_,examination_basic_id_,student_id_,organ_id_,subject_id_,level_,song_json_,last_exam_level_,last_exam_certificate_url_,adviser_name_,adviser_phone_,card_no_,status_,memo_,create_time_,update_time_,tenant_id_)
 		VALUES(#{id},#{examinationBasicId},#{studentId},#{organId},#{subjectId},#{level},#{songJson},#{lastExamLevel},#{lastExamCertificateUrl},#{adviserName},#{adviserPhone},#{cardNo},#{status,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{memo},NOW(), NOW(),#{tenantId})
 	</insert>
-	
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.keao.edu.user.entity.ExamRegistration">
 		UPDATE exam_registration
@@ -96,10 +99,10 @@
 				update_time_ = NOW()
 		</set> WHERE id_ = #{id}
 	</update>
-	
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
-		DELETE FROM exam_registration WHERE id_ = #{id} 
+		DELETE FROM exam_registration WHERE id_ = #{id}
 	</delete>
 
 	<sql id="queryCondition">
@@ -127,7 +130,7 @@
 			</if>
 		</where>
 	</sql>
-	
+
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="ExamRegistration" parameterType="map">
 		SELECT
@@ -148,7 +151,7 @@
 		ORDER BY er.id_
 		<include refid="global.limit"/>
 	</select>
-	
+
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM exam_registration er
@@ -234,6 +237,7 @@
 		</foreach>
 	</select>
 	<resultMap id="ExamRegistrationDtoMap" type="com.keao.edu.user.dto.ExamRegistrationDto" extends="ExamRegistration">
+		<result property="studentName" column="studentName"/>
 		<result property="subjectName" column="subjectName"/>
 		<result property="examBaseName" column="examBaseName"/>
 		<result property="examStartTime" column="expect_exam_start_time_"/>
@@ -285,4 +289,12 @@
 		LEFT JOIN student_exam_result ser ON er.id_ = ser.exam_registration_id_
 		WHERE ser.id_ IS NOT NULL AND er.student_id_ = #{studentId}
 	</select>
+
+	<!-- 获取报名信息 -->
+	<select id="getExamRegistration" resultMap="ExamRegistrationDtoMap">
+		SELECT er.*,s.name_ subjectName,su.real_name_ studentName,eb.expect_exam_start_time_,eb.expect_exam_end_time_ FROM exam_registration er
+		LEFT JOIN sys_user su ON su.id_ = er.subject_id_
+		LEFT JOIN examination_basic eb ON er.examination_basic_id_ = eb.id_
+		LEFT JOIN subject s on er.subject_id_ = s.id_
+	</select>
 </mapper>

+ 5 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml

@@ -130,4 +130,9 @@
         FROM exam_registration_payment
         WHERE order_no_ = #{orderNo} FOR UPDATE
     </select>
+
+    <!-- 根据状态获取订单 -->
+    <select id="getOrdersByStatus" resultMap="ExamRegistrationPayment">
+        SELECT * FROM exam_registration_payment WHERE pay_type_ = #{payType} AND trans_status_ = #{status}
+    </select>
 </mapper>