Browse Source

优惠券 发送

ct 2 weeks ago
parent
commit
39578c935a

+ 5 - 0
fs-company/src/main/java/com/fs/company/controller/store/FsUserCouponController.java

@@ -105,6 +105,11 @@ public class FsUserCouponController extends BaseController
     @PostMapping("/sendCoupon")
     public AjaxResult sendCoupon(@RequestBody FsUserCouponSendParam fsUserCoupon)
     {
+        if (fsUserCoupon.getSetSendUserId() == null){
+            LoginUser loginUser = SecurityUtils.getLoginUser();
+            Long userId = loginUser.getUser().getUserId();
+            fsUserCoupon.setSetSendUserId(userId);
+        }
         return toAjax(fsUserCouponService.sendFsUserCoupon(fsUserCoupon));
     }
 

+ 28 - 26
fs-service/src/main/java/com/fs/course/service/impl/FsCourseQuestionBankServiceImpl.java

@@ -187,35 +187,37 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
         int remainCount = config.getAnswerErrorCount()-errorCount-1;
 
         // 一次性获取所有问题的正确答案
-        Map<Long, FsCourseQuestionBank> correctAnswersMap = fsCourseQuestionBankMapper.selectFsCourseQuestionBankByIds(
-                param.getQuestions().stream().map(FsCourseQuestionBank::getId).collect(Collectors.toList())
-        ).stream().collect(Collectors.toMap(FsCourseQuestionBank::getId, question -> question));
-
-        for (FsCourseQuestionBank questionBank : param.getQuestions()) {
-            FsCourseQuestionBank correctAnswer = correctAnswersMap.get(questionBank.getId());
-            if (correctAnswer.getType() == 1) {
-                if (questionBank.getAnswer().equals(correctAnswer.getAnswer())) {
-                    thisRightCount++;
-                } else {
-                    correctAnswer.setAnswer(null);
-                    incorrectQuestions.add(correctAnswer);
-                }
-            } else if (correctAnswer.getType() == 2) {
-                String[] userAnswers = convertStringToArray(questionBank.getAnswer());
-                String[] correctAnswers = convertStringToArray(correctAnswer.getAnswer());
+        List<FsCourseQuestionBank> questions = param.getQuestions();
+        if (questions != null && !questions.isEmpty()) {
+            Map<Long, FsCourseQuestionBank> correctAnswersMap = fsCourseQuestionBankMapper.selectFsCourseQuestionBankByIds(
+                    questions.stream().map(FsCourseQuestionBank::getId).collect(Collectors.toList())
+            ).stream().collect(Collectors.toMap(FsCourseQuestionBank::getId, question -> question));
+
+            for (FsCourseQuestionBank questionBank : questions) {
+                FsCourseQuestionBank correctAnswer = correctAnswersMap.get(questionBank.getId());
+                if (correctAnswer.getType() == 1) {
+                    if (questionBank.getAnswer().equals(correctAnswer.getAnswer())) {
+                        thisRightCount++;
+                    } else {
+                        correctAnswer.setAnswer(null);
+                        incorrectQuestions.add(correctAnswer);
+                    }
+                } else if (correctAnswer.getType() == 2) {
+                    String[] userAnswers = convertStringToArray(questionBank.getAnswer());
+                    String[] correctAnswers = convertStringToArray(correctAnswer.getAnswer());
 
-                Arrays.sort(userAnswers);
-                Arrays.sort(correctAnswers);
+                    Arrays.sort(userAnswers);
+                    Arrays.sort(correctAnswers);
 
-                if (Arrays.equals(userAnswers, correctAnswers)) {
-                    thisRightCount++;
-                } else {
-                    correctAnswer.setAnswer(null);
-                    incorrectQuestions.add(correctAnswer);
+                    if (Arrays.equals(userAnswers, correctAnswers)) {
+                        thisRightCount++;
+                    } else {
+                        correctAnswer.setAnswer(null);
+                        incorrectQuestions.add(correctAnswer);
+                    }
                 }
             }
         }
-
         FsCourseAnswerLogs logs = new FsCourseAnswerLogs();
         logs.setWatchLogId(logId);
         logs.setUserId(param.getUserId());
@@ -224,11 +226,11 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
         logs.setCompanyId(param.getCompanyId());
         logs.setCompanyUserId(param.getCompanyUserId());
         logs.setQwUserId(param.getQwUserId() != null ? param.getQwUserId() : null );
-        logs.setQuestionJson(JSONObject.toJSONString(param.getQuestions()));
+        logs.setQuestionJson(JSONObject.toJSONString(questions));
         logs.setCreateTime(new Date());
         logs.setPeriodId(param.getPeriodId());
 
-        if (thisRightCount == param.getQuestions().size()) {
+        if (thisRightCount == questions.size()) {
             logs.setIsRight(1);
             courseAnswerLogsMapper.insertFsCourseAnswerLogs(logs);
             return R.ok("答题成功");

+ 0 - 2
fs-service/src/main/java/com/fs/his/service/impl/FsUserCouponServiceImpl.java

@@ -122,8 +122,6 @@ public class FsUserCouponServiceImpl implements IFsUserCouponService
     @Transactional
     @Override
     public int sendFsUserCoupon(FsUserCouponSendParam param) {
-
-
         if (param.getUserId()==null){
             throw new CustomException("用户不能为空");
         }

+ 18 - 7
fs-service/src/main/java/com/fs/his/service/impl/FsUserIntegralLogsServiceImpl.java

@@ -231,15 +231,26 @@ public class FsUserIntegralLogsServiceImpl implements IFsUserIntegralLogsService
             System.out.println("User ID: " + param.getUserId());
 
             //判断是否在限额类型内
-            if (Arrays.asList(integralTypeByOneDay).contains(param.getLogType())){
-                Integer todayTotalIntegral= fsUserIntegralLogsMapper.selectTodayTotalIntegral(integralTypeByOneDay,param.getUserId());
-                if (todayTotalIntegral==null){
-                    todayTotalIntegral=0;
-                }
-                if (todayTotalIntegral>=config.getIntegralByOneDay()){
-                    return R.error("当天积分已达限额");
+            if (integralTypeByOneDay != null) {
+                if (Arrays.asList(integralTypeByOneDay).contains(param.getLogType())){
+                    Integer todayTotalIntegral= fsUserIntegralLogsMapper.selectTodayTotalIntegral(integralTypeByOneDay,param.getUserId());
+                    if (todayTotalIntegral==null){
+                        todayTotalIntegral=0;
+                    }
+                    if (todayTotalIntegral>=config.getIntegralByOneDay()){
+                        return R.error("当天积分已达限额");
+                    }
                 }
             }
+//            if (Arrays.asList(integralTypeByOneDay).contains(param.getLogType())){
+//                Integer todayTotalIntegral= fsUserIntegralLogsMapper.selectTodayTotalIntegral(integralTypeByOneDay,param.getUserId());
+//                if (todayTotalIntegral==null){
+//                    todayTotalIntegral=0;
+//                }
+//                if (todayTotalIntegral>=config.getIntegralByOneDay()){
+//                    return R.error("当天积分已达限额");
+//                }
+//            }
             Integer integralNum = null;
             FsUserIntegralLogTypeEnum logsType = null;
             List<FsUserIntegralLogs> integralLogs;