Explorar el Código

修改了商学院-晨会列表接口,新增了商学院-晨会列表-增加学习人数接口

Pota1ovO hace 2 años
padre
commit
315f1f50e0

+ 25 - 8
kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/constant/enums/ErrorTypeEnum.java

@@ -13,17 +13,34 @@ import lombok.RequiredArgsConstructor;
 @RequiredArgsConstructor
 public enum ErrorTypeEnum {
 
-	DECRYPT_ERROR(-1, "解密异常"), TOKEN_EXPIRED(-1, "令牌已过期"), TOKEN_EMPTY(-1, "令牌不存在"),
-	CLIENT_NULL(-1, "客户端查询异常,请检查数据库链接"), ACCESS_DENIED(-1, "不允许范访问"), BAD_CREDENTIALS(-1, "用户名或密码错误"),
-	CREDENTIALS_EXPIRED(-1, "用户凭证已过期"), USER_DISABLED(-1, "用户已失效"), ACCOUNT_DISABLED(-1, "用户帐号已过期"),
-	ACCOUNT_LOCKED(-1, "用户帐号已被锁定"), USER_NOT_FOUND(-1, "未找到用户"), PHONE_NOT_FOUND(-1, "手机号不存在"),
-	VERIFICATION_CODE_IS_ILLEGAL(-1, "验证码不合法"), VERIFICATION_CODE_IS_EMPTY(-1, "验证码不能为空"),
+	DECRYPT_ERROR(-1, "解密异常"),
+	TOKEN_EXPIRED(-1, "令牌已过期"),
+	TOKEN_EMPTY(-1, "令牌不存在"),
+	CLIENT_NULL(-1, "客户端查询异常,请检查数据库链接"),
+	ACCESS_DENIED(-1, "不允许范访问"),
+	BAD_CREDENTIALS(-1, "用户名或密码错误"),
+	CREDENTIALS_EXPIRED(-1, "用户凭证已过期"),
+	USER_DISABLED(-1, "用户已失效"),
+	ACCOUNT_DISABLED(-1, "用户帐号已过期"),
+	ACCOUNT_LOCKED(-1, "用户帐号已被锁定"),
+	USER_NOT_FOUND(-1, "未找到用户"),
+	PHONE_NOT_FOUND(-1, "手机号不存在"),
+	VERIFICATION_CODE_IS_ILLEGAL(-1, "验证码不合法"),
+	VERIFICATION_CODE_IS_EMPTY(-1, "验证码不能为空"),
 	UNAUTHORIZED_CLIENT(-1, "客户端不允许登陆"),
 
-	SYS_PARAM_DELETE_SYSTEM(-1, "系统内置参数不能删除"), SYS_DICT_DELETE_SYSTEM(-1, "系统内置字典不允许删除"),
-	SYS_MENU_DELETE_EXISTING(-1, "菜单存在下级节点 删除失败"), SYS_USER_USERNAME_EXISTING(-1, "用户名已存在"),
+	SYS_PARAM_DELETE_SYSTEM(-1, "系统内置参数不能删除"),
+	SYS_DICT_DELETE_SYSTEM(-1, "系统内置字典不允许删除"),
+	SYS_MENU_DELETE_EXISTING(-1, "菜单存在下级节点 删除失败"),
+	SYS_USER_USERNAME_EXISTING(-1, "用户名已存在"),
 	REMOTE_DATA_ERROR(-1, "远程数据调用错误"),
-	SYS_USER_UPDATE_PASSWORD_ERROR(-1, "用户原密码错误"), SYS_DICT_UPDATE_SYSTEM(-1, "系统内置字典不能修改");
+	SYS_USER_UPDATE_PASSWORD_ERROR(-1, "用户原密码错误"),
+	SYS_DICT_UPDATE_SYSTEM(-1, "系统内置字典不能修改"),
+	SYS_MORNING_IS_NULL(-1, "该晨会不存在"),
+	SYS_SCHOOL_IS_NULL(-1, "该学堂不存在"),
+	SYS_TYPE_ERROR(-1, "类型异常"),
+
+	;
 
 	private final int code;
 

+ 12 - 0
kxs-common/kxs-common-core/src/main/java/com/kxs/common/core/util/AssertUtil.java

@@ -21,6 +21,8 @@ public class AssertUtil {
      //手机的正则表达式
      private static final Pattern CHINA_PATTERN_PHONE = Pattern.compile("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$");
 
+    private static final Pattern YYYY_MM = Pattern.compile("^\\d{4}-(0[1-9]|1[0-2])$");
+
     public static final String CHINA_PATTERN_PHONE_STR =  "^((13[0-9])|(14[014-9])|(15[0-35-9])|(16[2567])|(17[0-8])|(18[0-9])|(19[0-35-9]))\\d{8}$";
 
      /**--------------------------------------------------------
@@ -34,7 +36,17 @@ public class AssertUtil {
             throw new GlobalCustomerException("手机号格式错误");
         }
     }
+    /**--------------------------------------------------------
+     时间格式断言
+     --------------------------------------------------------**/
+    public static void isYyyyMM(String month){
 
+        //格式校验
+        Matcher m = YYYY_MM.matcher(month);
+        if(!m.matches()){
+            throw new GlobalCustomerException("时间格式错误yyyy-MM");
+        }
+    }
 
 
 

+ 12 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/dto/kxsapp/AddStudyPersonDTO.java

@@ -0,0 +1,12 @@
+package com.kxs.system.api.dto.kxsapp;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Data
+public class AddStudyPersonDTO {
+    @NotNull(message = "id不能为空")
+    private long id;
+    @NotNull(message = "类型不能为空")
+    private int type;
+}

+ 31 - 6
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/controller/kxsapp/MorningController.java

@@ -1,15 +1,18 @@
 package com.kxs.system.biz.controller.kxsapp;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kxs.common.core.util.AssertUtil;
 import com.kxs.common.core.util.R;
+import com.kxs.system.api.dto.kxsapp.AddStudyPersonDTO;
 import com.kxs.system.api.model.KxsMorning;
 import com.kxs.system.biz.service.KxsMorningService;
+import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.springdoc.core.annotations.ParameterObject;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.data.annotation.CreatedBy;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 首页(Morning)控制层
@@ -34,12 +37,34 @@ public class MorningController {
      * @return 商学院-晨会列表
      */
     @GetMapping("/page")
-    public R page(@ParameterObject Page<KxsMorning> page) {
-
+    public R page(@ParameterObject Page<KxsMorning> page,@RequestParam("month") String month) {
+        AssertUtil.isYyyyMM(month);
+        String skbYear = month.substring(0, 4);
+        String subMonth = month.substring(5, 7);
+        //拼接
         return R.ok(kxsMorningService.page(page,
-                Wrappers.<KxsMorning>lambdaQuery().orderByDesc(KxsMorning::getCreateTime)));
+                new QueryWrapper<KxsMorning>()
+                        .apply("YEAR(create_time) = {0} AND MONTH(create_time) = {1}", skbYear, subMonth)
+                        .orderByDesc("create_time")));
+    }
+
+
+
+    /**
+     * 商学院-晨会列表-增加学习人数
+     *
+     * @param addStudyPersonDTO 参数对象
+     * @return 商学院-晨会列表
+     */
+    @GetMapping("/addStudyPerson")
+    public R addStudyPerson(@Valid @RequestBody AddStudyPersonDTO addStudyPersonDTO) {
+
+        //拼接
+        return kxsMorningService.addStudyPerson(addStudyPersonDTO.getId(),addStudyPersonDTO.getType());
     }
 
 
+
+
 }
 

+ 8 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsMorningService.java

@@ -1,6 +1,7 @@
 package com.kxs.system.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.common.core.util.R;
 import com.kxs.system.api.model.KxsMorning;
 
 /**
@@ -10,6 +11,13 @@ import com.kxs.system.api.model.KxsMorning;
  * @since 2023-12-15 12:16:31
  */
 public interface KxsMorningService extends IService<KxsMorning> {
+    /**
+     * 商学院-晨会列表-增加学习人数
+     *
+     * @param type 1为晨会  2为学堂
+     * @return 商学院-晨会列表
+     */
+    R addStudyPerson(long id, int type);
 
 }
 

+ 32 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsMorningServiceImpl.java

@@ -1,9 +1,14 @@
 package com.kxs.system.biz.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.constant.enums.ErrorTypeEnum;
+import com.kxs.common.core.util.R;
+import com.kxs.system.api.model.KxsSchoolStudy;
 import com.kxs.system.biz.mapper.KxsMorningMapper;
 import com.kxs.system.api.model.KxsMorning;
+import com.kxs.system.biz.mapper.KxsSchoolStudyMapper;
 import com.kxs.system.biz.service.KxsMorningService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
 /**
@@ -13,7 +18,33 @@ import org.springframework.stereotype.Service;
  * @since 2023-12-15 12:16:31
  */
 @Service("kxsMorningService")
+@RequiredArgsConstructor
 public class KxsMorningServiceImpl extends ServiceImpl<KxsMorningMapper, KxsMorning> implements KxsMorningService {
-
+    private final KxsSchoolStudyMapper kxsSchoolStudyMapper;
+    @Override
+    public R addStudyPerson(long id, int type) {
+        if (type == 1){
+            //1为每日晨会
+            KxsMorning byId = getById(id);
+            if (byId == null){
+                return R.failed(ErrorTypeEnum.SYS_MORNING_IS_NULL.getDescription());
+            }
+            Integer studyPerson = byId.getStudyPerson();
+            byId.setStudyPerson(++studyPerson);
+            updateById(byId);
+        } else if (type == 2) {
+            //2为创客学堂
+            KxsSchoolStudy kxsSchoolStudy = kxsSchoolStudyMapper.selectById(id);
+            if (kxsSchoolStudy == null){
+                return R.failed(ErrorTypeEnum.SYS_MORNING_IS_NULL.getDescription());
+            }
+            Integer studyPerson = kxsSchoolStudy.getStudyPerson();
+            kxsSchoolStudy.setStudyPerson(++studyPerson);
+            kxsSchoolStudyMapper.updateById(kxsSchoolStudy);
+        }else {
+            return R.failed(ErrorTypeEnum.SYS_TYPE_ERROR);
+        }
+        return R.ok();
+    }
 }