Bladeren bron

feat(system): 优化课程价格类型逻辑和用户生成逻辑

- 在 AppCoureseServiceImpl 中添加课程价格类型判断逻辑
- 在 UserServiceImpl 中改进微信用户用户名生成方式- 新增 generateRandomString 方法用于生成随机字符串
SheepHy 1 week geleden
bovenliggende
commit
9fd6369fba

+ 18 - 1
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/UserServiceImpl.java

@@ -92,7 +92,7 @@ public class UserServiceImpl implements IUserService {
                         .setSalt(oConvertUtils.randomGen(8))
                         .setCreateBy("admin")
                         .setRealname("微信用户")
-                        .setUsername("微信用户_" + UUID.randomUUID());
+                        .setUsername("微信用户_" + generateRandomString(10,5));
                 boolean result = sysUserMapper.insert(user) > 0;
                 if (!result) {
                     throw new JeecgBootException("登录失败", SC_INTERNAL_SERVER_ERROR_500);
@@ -140,7 +140,24 @@ public class UserServiceImpl implements IUserService {
             WxMaConfigHolder.remove(); // 清理ThreadLocal
         }
     }
+    private String generateRandomString(int letterCount, int digitCount) {
+        StringBuilder sb = new StringBuilder();
+        String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+        String digits = "0123456789";
+        java.util.Random random = new java.util.Random();
 
+        // 生成指定数量的大写字母
+        for (int i = 0; i < letterCount; i++) {
+            sb.append(letters.charAt(random.nextInt(letters.length())));
+        }
+
+        // 生成指定数量的数字
+        for (int i = 0; i < digitCount; i++) {
+            sb.append(digits.charAt(random.nextInt(digits.length())));
+        }
+
+        return sb.toString();
+    }
     @Override
     public List<MsgVO> getMsg() {
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();

+ 6 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppCoureseServiceImpl.java

@@ -153,6 +153,12 @@ public class AppCoureseServiceImpl extends ServiceImpl<AppCoursesMapper, AppCour
         appCourses.setStartTime(minStartTime.orElse(null));
         appCourses.setEndTime(maxEndTime.orElse(null));
         appCourses.setClassNum(coursesRuleDTOS.size());
+        if (appCoursesDTO.getCourses().getSellingPrice() == null ||
+                appCoursesDTO.getCourses().getSellingPrice().compareTo(BigDecimal.ZERO) == 0) {
+            appCourses.setPriceType(1);
+        }else {
+            appCourses.setPriceType(0);
+        }
         int updateResult = baseMapper.updateById(appCourses);
         if (updateResult < 1) {
             throw new JeecgBootException("课程信息保存失败");