123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package com.ym.mec.student.controller;
- import com.ym.mec.auth.api.client.SysUserFeignService;
- import com.ym.mec.auth.api.entity.SysUser;
- import com.ym.mec.biz.dal.dao.DegreeRegistrationDao;
- import com.ym.mec.biz.dal.dao.OrganizationDao;
- import com.ym.mec.biz.dal.dao.SporadicChargeInfoDao;
- import com.ym.mec.biz.dal.dao.StudentDao;
- import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
- import com.ym.mec.biz.dal.dto.SporadicPayDto;
- import com.ym.mec.biz.dal.entity.DegreeRegistration;
- import com.ym.mec.biz.dal.entity.Employee;
- import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
- import com.ym.mec.biz.dal.entity.Student;
- import com.ym.mec.biz.dal.enums.DealStatusEnum;
- import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
- import com.ym.mec.biz.dal.page.SporadicChargeInfoQueryInfo;
- import com.ym.mec.biz.service.DegreeRegistrationService;
- import com.ym.mec.biz.service.SporadicChargeInfoService;
- import com.ym.mec.biz.service.StudentPaymentOrderService;
- import com.ym.mec.common.controller.BaseController;
- import com.ym.mec.common.entity.HttpResponseResult;
- import com.ym.mec.common.exception.BizException;
- import com.ym.mec.util.idcard.IdcardValidator;
- import com.ym.mec.util.validator.CommonValidator;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import java.util.*;
- @RequestMapping("degree")
- @Api(tags = "考级报名服务")
- @RestController
- public class DegreeController extends BaseController {
- @Autowired
- private StudentPaymentOrderService studentPaymentOrderService;
- @Autowired
- private DegreeRegistrationDao degreeRegistrationDao;
- @Autowired
- private DegreeRegistrationService degreeRegistrationService;
- @Autowired
- private SporadicChargeInfoDao sporadicChargeInfoDao;
- @Autowired
- private SporadicChargeInfoService sporadicChargeInfoService;
- @Autowired
- private SysUserFeignService sysUserFeignService;
- @Autowired
- private StudentDao studentDao;
- @Autowired
- private OrganizationDao organizationDao;
- @ApiOperation(value = "考级报名支付")
- @PostMapping("/pay")
- public HttpResponseResult pay(@RequestBody DegreeRegistrationActivityDto degreeRegistration) throws Exception {
- SysUser user = sysUserFeignService.queryUserInfo();
- if(Objects.isNull(user)){
- return failed(HttpStatus.FORBIDDEN,"请登录");
- }
- degreeRegistration.setUserId(user.getId());
- if(StringUtils.isNotBlank(degreeRegistration.getIdcard())){
- IdcardValidator idcardValidator = new IdcardValidator();
- if (!idcardValidator.isValidatedAllIdcard(degreeRegistration.getIdcard())) {
- throw new BizException("身份证号不正确,请核对");
- }
- }
- if(Objects.isNull(degreeRegistration.getOrganId())){
- return failed("该分部暂未参与此活动");
- }
- if(Objects.nonNull(degreeRegistration.getSporadicId())){
- SporadicChargeInfo info = sporadicChargeInfoDao.get(degreeRegistration.getSporadicId());
- if (info == null || info.getDelFlag().equals(1)) {
- return failed("报名信息不存在");
- }
- if (info.getOrganId() != 42 || !info.getChargeType().equals(SporadicChargeTypeEnum.LEVEL)) {
- return failed("报名信息不存在");
- }
- }
- DegreeRegistration degree = degreeRegistrationDao.getWithUserIdAndActivityTag(user.getId(), DegreeRegistrationService.ACTIVITY_TAG);
- if (!degreeRegistration.getIsRepay() && degree != null && degree.getStatus().equals(1)) {
- Integer ingOrder = studentPaymentOrderService.findOrderByGroupType(degree.getId(), degreeRegistration.getSporadicId(), "SPORADIC", DealStatusEnum.ING);
- if (ingOrder != null && ingOrder > 0) {
- return failed(HttpStatus.CONTINUE, "您有待支付的订单");
- }
- }
- Map payMap = degreeRegistrationService.pay(degreeRegistration);
- if (payMap.containsKey("tradeState")) {
- return failed(HttpStatus.CREATED, "恭喜您,支付成功!");
- }
- return succeed(payMap);
- }
- @ApiOperation(value = "查询收费列表")
- @GetMapping("/queryList")
- public HttpResponseResult queryPage(SporadicChargeInfoQueryInfo queryInfo) {
- queryInfo.setOrganId("42");
- queryInfo.setChargeType(SporadicChargeTypeEnum.LEVEL);
- queryInfo.setRows(99);
- queryInfo.setOpenFlag(0);
- queryInfo.setSort("amount_");
- queryInfo.setOrder("ASC");
- return succeed(sporadicChargeInfoService.queryDetailPage(queryInfo));
- }
- @ApiOperation(value = "获取活动参数")
- @GetMapping("/getParams")
- public HttpResponseResult getParams(){
- SysUser user = sysUserFeignService.queryUserInfo();
- if(Objects.isNull(user)){
- return failed(HttpStatus.FORBIDDEN,"请登录");
- }
- SporadicChargeInfoQueryInfo queryInfo = new SporadicChargeInfoQueryInfo();
- queryInfo.setOrganId("42");
- queryInfo.setChargeType(SporadicChargeTypeEnum.LEVEL);
- queryInfo.setRows(99);
- queryInfo.setOpenFlag(0);
- queryInfo.setSort("amount_");
- queryInfo.setOrder("ASC");
- Map<String, Object> result = new HashMap<>();
- DegreeRegistration degreeRegistration = degreeRegistrationDao.getWithUserIdAndActivityTag(user.getId(), DegreeRegistrationService.ACTIVITY_TAG);
- Student student = studentDao.get(user.getId());
- result.put("userInfo", user);
- result.put("isNewUser", student.getIsNewUser());
- result.put("organs", organizationDao.getActivityOrgans());
- result.put("sporadicChargeInfo", sporadicChargeInfoService.queryDetailPage(queryInfo));
- if(Objects.isNull(degreeRegistration)||degreeRegistration.getStatus()==0){
- result.put("isApplied", 0);
- }else if(degreeRegistration.getStatus()==1){
- result.put("isApplied", 1);
- }else if(degreeRegistration.getStatus()==2){
- result.put("isApplied", 2);
- }
- return succeed(result);
- }
- }
|