From e4cafd89d1edb45e60df2d683f59ffeffd191d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B3=95=E6=8B=8951246?= <719602854@qq.com> Date: Sat, 14 Jun 2025 18:17:19 +0800 Subject: [PATCH] 1 --- .../hezhi/api/kaoshi/ApiLoginController.java | 19 ++++++- .../src/main/resources/application.yml | 2 +- .../hezhi/domain/dto/MemberUserLoginDTO.java | 3 + .../mapper/TbExamRegistrationMapper.java | 2 + .../hezhi/service/ITbStudentService.java | 1 + .../impl/TbExamRegistrationServiceImpl.java | 8 +-- .../service/impl/TbStudentServiceImpl.java | 55 +++++++++++++++++++ .../mapper/hezhi/TbExamRegistrationMapper.xml | 9 +++ .../mapper/hezhi/TbMemberScoreMapper.xml | 2 +- ruoyi-ui/src/components/ExamCourse/index.vue | 6 +- ruoyi-ui/src/views/hezhi/config/index.vue | 4 ++ ruoyi-ui/src/views/hezhi/course/index.vue | 50 ++++++++--------- ruoyi-ui/src/views/hezhi/exam/index.vue | 4 +- .../src/views/hezhi/liveBroadcast/index.vue | 4 +- .../src/views/hezhi/studyCenter/index.vue | 6 +- .../hezhi/subjectWarehouseClass/index.vue | 2 +- 16 files changed, 134 insertions(+), 43 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/hezhi/api/kaoshi/ApiLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/hezhi/api/kaoshi/ApiLoginController.java index 9a31889..5326b68 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/hezhi/api/kaoshi/ApiLoginController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/hezhi/api/kaoshi/ApiLoginController.java @@ -349,6 +349,24 @@ public class ApiLoginController { return AjaxResult.success(jsonObject); } + /** + * 给邀请人发送积分 + * + * @param higherUserId 参数 + * @return 结果 + */ + @RepeatSubmit + @GetMapping("/giveScore") + public AjaxResult giveScore(Long higherUserId) { + // 参数校验 + if (higherUserId==null) { + return AjaxResult.error(); + } + + JSONObject jsonObject = tbStudentService.giveScore(higherUserId); + return AjaxResult.success(jsonObject); + } + /** * 小程序注册 * @@ -372,7 +390,6 @@ public class ApiLoginController { * @param memberUserId 用户id * @return 结果 */ - @RepeatSubmit @GetMapping("/getQrCode") public AjaxResult getQrCode(String memberUserId){ try { diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 5a8ffe0..3b0479b 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -214,7 +214,7 @@ wx: # appSecret: 4778276c6b80b6e6745f37e04f11d991 appSecret: af6b5009cdaebc647c5d6327ad25e848 # 小程序码跳转页面 - wxPath: pages/homePage/index?higherUserId= + wxPath: pages/registerIndex/registerIndex?higherUserId= # 二维码跳转 qrCodeLink: https://server.xuexin.com/miniprogram/ # 小程序发货 diff --git a/ruoyi-system/src/main/java/com/ruoyi/hezhi/domain/dto/MemberUserLoginDTO.java b/ruoyi-system/src/main/java/com/ruoyi/hezhi/domain/dto/MemberUserLoginDTO.java index c356fd5..9a92774 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/hezhi/domain/dto/MemberUserLoginDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/hezhi/domain/dto/MemberUserLoginDTO.java @@ -30,6 +30,9 @@ public class MemberUserLoginDTO implements Serializable { @NotBlank(message = "手机号code不能为空", groups = {MemberUserLogin.class,MemberUserRegister.class}) private String phoneCode; + /** 邀请人id */ + private Long higherUserId; + /** 头像 */ // @NotBlank(message = "头像不能为空", groups = {MemberUserRegister.class}) private String avatarUrl; diff --git a/ruoyi-system/src/main/java/com/ruoyi/hezhi/mapper/TbExamRegistrationMapper.java b/ruoyi-system/src/main/java/com/ruoyi/hezhi/mapper/TbExamRegistrationMapper.java index 0797893..f470009 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/hezhi/mapper/TbExamRegistrationMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/hezhi/mapper/TbExamRegistrationMapper.java @@ -150,6 +150,8 @@ public interface TbExamRegistrationMapper TbExamRegistration selectTbExamRegistrationByCode(TbExamRegistration tbExamRegistration); + TbExamRegistration selectTbExamRegistrationByBatchIndex(TbExamRegistration tbExamRegistration); + int importDataList(@Param("list") List listTbExamRegistration); int updateTbExamRegistrationByOrderNos(@Param("orderNos") List orderNos); diff --git a/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/ITbStudentService.java b/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/ITbStudentService.java index 133d819..1262677 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/ITbStudentService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/ITbStudentService.java @@ -128,6 +128,7 @@ public interface ITbStudentService * @return JSONObject */ JSONObject memberUserLogin(MemberUserLoginDTO memberUserLoginDTO); + JSONObject giveScore(Long higherUserId); /** * 小程序注册 diff --git a/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamRegistrationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamRegistrationServiceImpl.java index ce9f706..1399515 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamRegistrationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamRegistrationServiceImpl.java @@ -239,8 +239,8 @@ public class TbExamRegistrationServiceImpl implements ITbExamRegistrationService tbExamRegistration.setMemberUserId(userId); } //校验当前数据是否在库中已存在 - TbExamRegistration tbExamRegistrations = tbExamRegistrationMapper.selectTbExamRegistrationByCode(tbExamRegistration); - if(ObjectUtils.isNotEmpty(tbExamRegistrations) && tbExamRegistrations.getIsPay() == 1){ + TbExamRegistration tbExamRegistrations = tbExamRegistrationMapper.selectTbExamRegistrationByBatchIndex(tbExamRegistration); + if(ObjectUtils.isNotEmpty(tbExamRegistrations)){ // 数据已存在,记录失败原因 throw new ServiceException("已报名"); } @@ -1449,8 +1449,8 @@ public class TbExamRegistrationServiceImpl implements ITbExamRegistrationService } //校验当前数据是否在库中已存在 - TbExamRegistration tbExamRegistrations = tbExamRegistrationMapper.selectTbExamRegistrationByCode(tbExamRegistration); - if(ObjectUtils.isNotEmpty(tbExamRegistrations) && tbExamRegistrations.getIsPay() == 1){ + TbExamRegistration tbExamRegistrations = tbExamRegistrationMapper.selectTbExamRegistrationByBatchIndex(tbExamRegistration); + if(ObjectUtils.isNotEmpty(tbExamRegistrations)){//根据批次batchIndex和MemberUserId和考试Id查出数据,同批次不能重复报名 // 数据已存在,记录失败原因 erreList.put(item.getContactInformation(), "已报名"); continue; diff --git a/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbStudentServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbStudentServiceImpl.java index f869157..a8a40b7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbStudentServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbStudentServiceImpl.java @@ -15,10 +15,14 @@ import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.common.weixin.config.WeiXinConfig; import com.ruoyi.common.weixin.config.WeiXinXcxMemberConfig; import com.ruoyi.common.weixin.utils.WeiXinXcxMemberUtils; +import com.ruoyi.hezhi.domain.TbConfig; +import com.ruoyi.hezhi.domain.TbMemberScore; import com.ruoyi.hezhi.domain.TbStudent; import com.ruoyi.hezhi.domain.dto.ImportStudentDTO; import com.ruoyi.hezhi.domain.dto.MemberUserLoginDTO; import com.ruoyi.hezhi.domain.dto.StudentDTO; +import com.ruoyi.hezhi.mapper.TbConfigMapper; +import com.ruoyi.hezhi.mapper.TbMemberScoreMapper; import com.ruoyi.hezhi.mapper.TbStudentMapper; import com.ruoyi.hezhi.service.ITbSmsCodeService; import com.ruoyi.hezhi.service.ITbStudentService; @@ -34,6 +38,7 @@ import javax.annotation.Resource; import java.awt.*; import java.io.BufferedInputStream; import java.io.PrintWriter; +import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; import java.util.*; @@ -65,6 +70,10 @@ public class TbStudentServiceImpl implements ITbStudentService { private SqlSessionFactory sqlSessionFactory; @Resource private WeiXinConfig weiXinConfig; + @Resource + private TbConfigMapper tbConfigMapper; + @Resource + private TbMemberScoreMapper tbMemberScoreMapper; /** * 查询学员 @@ -621,6 +630,7 @@ public class TbStudentServiceImpl implements ITbStudentService { String loginCode = memberUserLoginDTO.getLoginCode(); String phoneCode = memberUserLoginDTO.getPhoneCode(); + Long higherUserId = memberUserLoginDTO.getHigherUserId(); // 微信授权获取openId // String openId = loginCode; @@ -683,12 +693,57 @@ public class TbStudentServiceImpl implements ITbStudentService { student.setDelFlag(0); tbStudentMapper.insertTbStudent(student); +// + TbConfig aboutIntegral = tbConfigMapper.selectTbConfigByIdentifying("aboutIntegral"); + + // 邀请人送积分数 + String scoreString = aboutIntegral.getConfigString4(); + //转换为Decimal + BigDecimal score = new BigDecimal(scoreString); + if (score.compareTo(BigDecimal.ZERO) > 0 && higherUserId != null) {//不是0积分并且邀请人id不为空 + // 给邀请人赠送积分 + TbMemberScore memberScore = new TbMemberScore(); + memberScore.setMemberUserId(higherUserId); + memberScore.setName("邀请用户赠送积分"); + memberScore.setScore(score); + memberScore.setType(2); + memberScore.setIncomeExpenses(1); + memberScore.setCreateTime(DateUtils.getNowDate()); + tbMemberScoreMapper.insertTbMemberScore(memberScore); + } + // 登录成功 result.put("AuthToken", student.getStudentId()); } return result; } + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject giveScore(Long higherUserId) { + JSONObject result = new JSONObject(); + + TbConfig aboutIntegral = tbConfigMapper.selectTbConfigByIdentifying("aboutIntegral"); + + // 邀请人送积分数 + String scoreString = aboutIntegral.getConfigString4(); + //转换为Decimal + BigDecimal score = new BigDecimal(scoreString); + if (score.compareTo(BigDecimal.ZERO) > 0 && higherUserId != null) {//不是0积分并且邀请人id不为空 + // 给邀请人赠送积分 + TbMemberScore memberScore = new TbMemberScore(); + memberScore.setMemberUserId(higherUserId); + memberScore.setName("邀请用户赠送积分"); + memberScore.setScore(score); + memberScore.setType(2); + memberScore.setIncomeExpenses(1); + memberScore.setCreateTime(DateUtils.getNowDate()); + tbMemberScoreMapper.insertTbMemberScore(memberScore); + } + + return result; + } + @Override public JSONObject memberUserRegister(MemberUserLoginDTO memberUserLoginDTO) { JSONObject result = new JSONObject(); diff --git a/ruoyi-system/src/main/resources/mapper/hezhi/TbExamRegistrationMapper.xml b/ruoyi-system/src/main/resources/mapper/hezhi/TbExamRegistrationMapper.xml index e5b031e..2ce8ec7 100644 --- a/ruoyi-system/src/main/resources/mapper/hezhi/TbExamRegistrationMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/hezhi/TbExamRegistrationMapper.xml @@ -1262,6 +1262,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" exam_registration_id desc limit 1 +