This commit is contained in:
2023-04-24 21:20:01 +08:00
parent a49a29ab18
commit 9cb93a3f94
112 changed files with 2466 additions and 36 deletions

View File

@@ -20,4 +20,6 @@ public class DictCommon extends BaseEntity {
private String dictKey;
@ApiModelProperty("value")
private String dictValue;
@ApiModelProperty("父级sid")
private String parentSid;
}

View File

@@ -0,0 +1,34 @@
package com.yxt.demo.system.api.dict_common;
import com.yxt.demo.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2023/4/24 15:34
* @Description
*/
@Data
public class DictCommonDto implements Dto {
private String sid;
@ApiModelProperty(value = "数据项值", required = true)
@NotBlank(message = "数据项值不能为空")
private String dictKey;
@ApiModelProperty(value = "数据类型", required = true)
@NotBlank(message = "数据类型不能为空")
private String dictType;
@ApiModelProperty(value = "数据项相对应的value值", required = true)
@NotBlank(message = "数据项相对应的value值不能为空")
private String dictValue;
@ApiModelProperty(value = "数据项的父级sid", required = true)
@NotBlank(message = "数据项的父级sid不能为空")
private String parentSid;
}

View File

@@ -0,0 +1,45 @@
package com.yxt.demo.system.api.dict_common;
import com.yxt.demo.common.core.query.PagerQuery;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:16
* @Description
*/
@Api(tags = "数据字典数据项")
@FeignClient(
contextId = "demo-system-DictCommon",
name = "demo-system",
path = "v1/DictCommon",
fallback = DictCommonFeignFallback.class)
public interface DictCommonFeign {
@PostMapping(value = "/save")
@ApiOperation(value = "数据字典数据项保存")
ResultBean save(@Valid @RequestBody DictCommonDto dictCommonDto);
@DeleteMapping("/delete/{sid}")
@ApiOperation(value = "删除")
ResultBean delete(@ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid);
@PostMapping("/pageList")
@ApiOperation(value = "数据字典数据项分页列表")
ResultBean<PagerVo<DictCommonVo>> pageList(@RequestBody PagerQuery<DictCommonQuery> pagerQuery);
@GetMapping("/typeValues")
@ApiOperation("下拉框的获取")
ResultBean<List<DictCommonVo>> getTypeValues(@RequestParam("type") String type, @RequestParam(value = "psid", defaultValue = "0") String psid);
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.dict_common;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:46
* @Description
*/
public class DictCommonFeignFallback {
}

View File

@@ -0,0 +1,24 @@
package com.yxt.demo.system.api.dict_common;
import com.yxt.demo.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/4/24 16:20
* @Description
*/
@Data
public class DictCommonQuery implements Query {
private static final long serialVersionUID = 6235063340152975098L;
@ApiModelProperty(value = "数据字典条目key", required = false)
private String dictKey;
@ApiModelProperty(value = "数据字典文本", required = false)
private String dictValue;
@ApiModelProperty(value = "dictType")
private String dictType;
}

View File

@@ -0,0 +1,21 @@
package com.yxt.demo.system.api.dict_common;
import com.yxt.demo.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/9/30 15:33
* @description 下拉框条件
*/
@Data
public class DictCommonTypeQuery implements Query {
private static final long serialVersionUID = 139959085226402464L;
@ApiModelProperty(value = "数据字典类型", required = true)
private String type;
@ApiModelProperty(value = "psid", required = false, example = "0")
private String psid;
}

View File

@@ -0,0 +1,29 @@
package com.yxt.demo.system.api.dict_common;
import com.yxt.demo.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/4/24 16:19
* @Description
*/
@Data
public class DictCommonVo implements Vo {
private static final long serialVersionUID = 5516430679944504663L;
@ApiModelProperty(value = "数据字典项key")
private String dictKey;
@ApiModelProperty(value = "数据字典类型")
private String dictType;
@ApiModelProperty(value = "数据字典项名称")
private String dictValue;
@ApiModelProperty(value = "父级sid0为第一级")
private String parentSid;
private String sid;
}

View File

@@ -17,8 +17,4 @@ public class DictType extends BaseEntity {
private String dictTypeCode;
@ApiModelProperty("类型名称")
private String dictTypeName;
@ApiModelProperty("级别")
private String dictTypeLevel;
@ApiModelProperty("名称")
private String name;
}

View File

@@ -0,0 +1,30 @@
package com.yxt.demo.system.api.dict_type;
import com.yxt.demo.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2023/4/24 16:48
* @Description
*/
@Data
public class DictTypeDto implements Dto {
private static final long serialVersionUID = -7638091202643596231L;
@ApiModelProperty(value = "类型代码", required = true)
@NotBlank(message = "类型代码不能为空")
private String dictTypeCode;
@ApiModelProperty(value = "类型名称", required = true)
@NotBlank(message = "类型名称不能为空")
private String dictTypeName;
@ApiModelProperty(value = "类型说明", required = false)
private String remarks;
private String sid;
}

View File

@@ -0,0 +1,40 @@
package com.yxt.demo.system.api.dict_type;
import com.yxt.demo.common.core.query.PagerQuery;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.core.vo.PagerVo;
import com.yxt.demo.system.api.dict_common.DictCommonFeignFallback;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:21
* @Description
*/
@Api(tags = "数据字典数据项")
@FeignClient(
contextId = "demo-system-DictType",
name = "demo-system",
path = "v1/DictType",
fallback = DictTypeFeignFallback.class)
public interface DictTypeFeign {
@PostMapping(value = "/save")
@ResponseBody
@ApiOperation(value = "数据字典类型保存")
ResultBean save(@Valid @RequestBody DictTypeDto dictTypeDto);
@PostMapping("/pageList")
@ApiOperation(value = "数据字典类型分页列表")
ResultBean<PagerVo<DictTypeVo>> pageList(@RequestBody PagerQuery<DictTypeQuery> pagerQuery);
@DeleteMapping("/delete/{sid}")
@ApiOperation(value = "数据字典类型删除")
ResultBean delete(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid);
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.dict_type;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:47
* @Description
*/
public class DictTypeFeignFallback {
}

View File

@@ -0,0 +1,23 @@
package com.yxt.demo.system.api.dict_type;
import com.yxt.demo.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/4/24 17:15
* @Description
*/
@Data
public class DictTypeQuery implements Query {
@ApiModelProperty(value = "数据字典code", required = false)
private String dictTypeCode;
@ApiModelProperty(value = "数据分类名称", required = false)
private String dictTypeName;
@ApiModelProperty(value = "说明", required = false)
private String remarks;
}

View File

@@ -0,0 +1,27 @@
package com.yxt.demo.system.api.dict_type;
import com.yxt.demo.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/4/24 17:16
* @Description
*/
@Data
public class DictTypeVo implements Vo {
private static final long serialVersionUID = -3404457483419237424L;
@ApiModelProperty(value = "数据类型sid")
private String sid;
@ApiModelProperty(value = "类型代码")
private String dictTypeCode;
@ApiModelProperty(value = "类型名称")
private String dictTypeName;
@ApiModelProperty(value = "说明")
private String remarks;
}

View File

@@ -0,0 +1,21 @@
package com.yxt.demo.system.api.sys_forum;
import com.yxt.demo.system.api.dict_type.DictTypeFeignFallback;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:21
* @Description
*/
@Api(tags = "论坛")
@FeignClient(
contextId = "demo-system-SysForum",
name = "demo-system",
path = "v1/sysforum",
fallback = SysForumFeignFallback.class)
public interface SysForumFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_forum;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:47
* @Description
*/
public class SysForumFeignFallback {
}

View File

@@ -0,0 +1,19 @@
package com.yxt.demo.system.api.sys_forum_comment;
import com.yxt.demo.system.api.sys_forum.SysForumFeignFallback;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:22
* @Description
*/
@Api(tags = "论坛评论")
@FeignClient(
contextId = "demo-system-SysForumComment",
name = "demo-system",
path = "v1/SysForumComment",
fallback = SysForumCommentFeignFallback.class)
public interface SysForumCommentFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_forum_comment;
/**
* @Author dimengzhe
* @Date 2023/4/24 15:25
* @Description
*/
public class SysForumCommentFeignFallback {
}

View File

@@ -0,0 +1,19 @@
package com.yxt.demo.system.api.sys_info;
import com.yxt.demo.system.api.sys_user.SysUserFeignFallback;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:50
* @Description
*/
@Api(tags = "基础信息")
@FeignClient(
contextId = "demo-system-SysInfo",
name = "demo-system",
path = "v1/sysinfo",
fallback = SysInfoFeignFallback.class)
public interface SysInfoFeign {
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.api.sys_info;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:53
* @Description
*/
@Component
public class SysInfoFeignFallback {
}

View File

@@ -0,0 +1,19 @@
package com.yxt.demo.system.api.sys_menu;
import com.yxt.demo.system.api.sys_info.SysInfoFeignFallback;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:08
* @Description
*/
@Api(tags = "菜单表")
@FeignClient(
contextId = "demo-system-SysMenu",
name = "demo-system",
path = "v1/sysmenu",
fallback = SysMenuFeignFallback.class)
public interface SysMenuFeign {
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.api.sys_menu;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:09
* @Description
*/
@Component
public class SysMenuFeignFallback {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_notice;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:23
* @Description
*/
public interface SysNoticeFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_plan;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:24
* @Description
*/
public interface SysPlanFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_plan_schedule;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:25
* @Description
*/
public interface SysPlanScheduleFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_resources;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:26
* @Description
*/
public interface SysResourcesFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_role;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:27
* @Description
*/
public interface SysRoleFeign {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:28
* @Description
*/
public interface SysScoreFeign {
}

View File

@@ -1,6 +1,7 @@
package com.yxt.demo.system.api.sys_student_score;
import com.yxt.demo.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -12,21 +13,22 @@ import lombok.Data;
public class SysStudentScore extends BaseEntity {
private static final long serialVersionUID = -3123378722999542918L;
@ApiModelProperty("类别")
private String type;
private String typeKey;
@ApiModelProperty("学号")
private String studentNo;
@ApiModelProperty("四级")
private String fourScore;
@ApiModelProperty("六级")
private String sixScore;
@ApiModelProperty("计算机成绩")
private String computerScore;
@ApiModelProperty("是否就业1是0否")
private int employment;
@ApiModelProperty("是否升学")
private int enterSchool;
@ApiModelProperty("是否考公通过")
private int kaoGong;
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.api.sys_student_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:29
* @Description
*/
public interface SysStudentScoreFeign {
}

View File

@@ -1,6 +1,7 @@
package com.yxt.demo.system.api.sys_user;
import com.yxt.demo.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -11,15 +12,18 @@ import lombok.Data;
@Data
public class SysUser extends BaseEntity {
private static final long serialVersionUID = -4151693504419808527L;
@ApiModelProperty("用户名工号")
private String userName;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("昵称")
private String nickName;
@ApiModelProperty("密码")
private String password;
@ApiModelProperty("基础信息sid")
private String infoSid;
@ApiModelProperty("类型0学生、1教师、2管理员")
private int type;
@ApiModelProperty("是否已激活0未激活1已激活")
private int hasActivated;
}

View File

@@ -0,0 +1,35 @@
package com.yxt.demo.system.api.sys_user;
import com.yxt.demo.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:28
* @Description
*/
@Data
public class SysUserDto implements Dto {
private static final long serialVersionUID = 2068661415449582838L;
@ApiModelProperty("学号")
@NotBlank(message = "学号不能为空")
private String userName;
@ApiModelProperty("姓名")
@NotBlank(message = "姓名不能为空")
private String name;
@ApiModelProperty("密码")
@NotBlank(message = "密码不能为空")
private String password;
@ApiModelProperty("确认密码")
@NotBlank(message = "确认密码不能为空")
private String confirmPassword;
@ApiModelProperty("手机号")
@NotBlank(message = "手机号不能为空")
private String mobile;
}

View File

@@ -0,0 +1,34 @@
package com.yxt.demo.system.api.sys_user;
import com.yxt.demo.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:26
* @Description
*/
@Api(tags = "用户表")
@FeignClient(
contextId = "demo-system-SysUser",
name = "demo-system",
path = "v1/sysuser",
fallback = SysUserFeignFallback.class)
public interface SysUserFeign {
@ApiOperation(value = "学生注册")
@PostMapping("/register")
ResultBean register(@RequestBody SysUserDto dto);
@ApiOperation(value = "登录")
@PostMapping("/login")
ResultBean login(@RequestBody SysUserLoginQuery query);
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.api.sys_user;
import org.springframework.stereotype.Component;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:28
* @Description
*/
@Component
public class SysUserFeignFallback {
}

View File

@@ -0,0 +1,20 @@
package com.yxt.demo.system.api.sys_user;
import com.yxt.demo.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/4/24 13:36
* @Description
*/
@Data
public class SysUserLoginQuery implements Query {
private static final long serialVersionUID = 4963834204184842445L;
@ApiModelProperty("工号")
private String userName;
@ApiModelProperty("密码")
private String password;
}

View File

@@ -1,6 +1,7 @@
package com.yxt.demo.system.api.sys_user_role;
import com.yxt.demo.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -11,8 +12,8 @@ import lombok.Data;
@Data
public class SysUserRole extends BaseEntity {
private static final long serialVersionUID = 1275775509946006356L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("角色sid")
private String roleSid;
}

View File

@@ -43,6 +43,11 @@
<artifactId>demo-common-jdbc</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.yxt.demo</groupId>
<artifactId>demo-common-utils</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>

View File

@@ -0,0 +1,28 @@
package com.yxt.demo.system.biz.dict_common;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.demo.system.api.dict_common.DictCommon;
import com.yxt.demo.system.api.dict_common.DictCommonVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:17
* @Description
*/
@Mapper
public interface DictCommonMapper extends BaseMapper<DictCommon> {
DictCommon selectSize(@Param("dictKey") String dictKey, @Param("dictType") String dictType, @Param("parentSid") String parentSid);
IPage<DictCommonVo> listPageVo(IPage<DictCommon> page, @Param(Constants.WRAPPER) QueryWrapper<DictCommon> qw);
List<DictCommonVo> getValue(@Param(Constants.WRAPPER) QueryWrapper<DictCommonVo> qw);
List<DictCommon> selectByType(String dictTypeCode);
}

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.dict_common.DictCommonMapper">
<select id="selectSize" resultType="com.yxt.demo.system.api.dict_common.DictCommon">
SELECT *
FROM dict_common
WHERE dictKey = #{dictKey}
AND dictType = #{dictType}
AND parentSid = #{parentSid}
</select>
<select id="listPageVo" resultType="com.yxt.demo.system.api.dict_common.DictCommonVo">
select *
from dict_common
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getValue" resultType="com.yxt.demo.system.api.dict_common.DictCommonVo">
SELECT dc.sid, dc.dictType, dc.dictKey, dc.dictValue, dc.parentSid
FROM dict_common dc
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByType" resultType="com.yxt.demo.system.api.dict_common.DictCommon">
select *
from dict_common
where dictType = #{dictTypeCode}
</select>
</mapper>

View File

@@ -0,0 +1,58 @@
package com.yxt.demo.system.biz.dict_common;
import com.yxt.demo.common.core.query.PagerQuery;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.core.vo.PagerVo;
import com.yxt.demo.system.api.dict_common.*;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:16
* @Description
*/
@Api(tags = "数据字典数据项")
@RestController
@RequestMapping("v1/DictCommon")
public class DictCommonRest implements DictCommonFeign {
@Autowired
private DictCommonService dictCommonService;
@Override
public ResultBean save(DictCommonDto dictCommonDto) {
return dictCommonService.saveOrUpdates(dictCommonDto);
}
@Override
public ResultBean delete(String sid) {
return dictCommonService.delete(sid);
}
@Override
public ResultBean<PagerVo<DictCommonVo>> pageList(PagerQuery<DictCommonQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
PagerVo<DictCommonVo> pv = dictCommonService.listPageVo(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean<List<DictCommonVo>> getTypeValues(String type, String psid) {
ResultBean<List<DictCommonVo>> rb = ResultBean.fireFail();
DictCommonTypeQuery query = new DictCommonTypeQuery();
query.setType(type);
query.setPsid(psid);
List<DictCommonVo> dictCommonVoList = dictCommonService.getValue(query);
dictCommonVoList.removeAll(Collections.singleton(null));
if (dictCommonVoList.isEmpty()) {
return rb.setMsg("该类型无数据项");
}
return rb.success().setData(dictCommonVoList);
}
}

View File

@@ -0,0 +1,114 @@
package com.yxt.demo.system.biz.dict_common;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.demo.common.core.query.PagerQuery;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.core.vo.PagerVo;
import com.yxt.demo.common.jdbc.service.MybatisBaseService;
import com.yxt.demo.common.jdbc.service.PagerUtil;
import com.yxt.demo.common.utils.convert.StringUtil;
import com.yxt.demo.system.api.dict_common.*;
import com.yxt.demo.system.api.sys_user.SysUser;
import com.yxt.demo.system.biz.dict_type.DictTypeService;
import com.yxt.demo.system.biz.sys_user.SysUserMapper;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:17
* @Description
*/
@Service
public class DictCommonService extends MybatisBaseService<DictCommonMapper, DictCommon> {
@Autowired
private DictTypeService dictTypeService;
public ResultBean saveOrUpdates(DictCommonDto dictCommonDto) {
ResultBean rb = ResultBean.fireFail();
//数据类型
String dictType = dictCommonDto.getDictType();
//数据项值
String dictKey = dictCommonDto.getDictKey();
//父级sid
String parentSid = dictCommonDto.getParentSid();
if (StringUtils.isBlank(dictCommonDto.getSid())) {
int size = dictTypeService.selectSize(dictType);
if (size > 0) {
//根据数据类型和数据项值查询是否已存在
DictCommon dc = baseMapper.selectSize(dictKey, dictType, parentSid);
if (dc != null) {
return rb.setMsg(dictType + "此类型的数据项已存在");
}
//新增
DictCommon dictCommon = new DictCommon();
BeanUtil.copyProperties(dictCommonDto, dictCommon, "sid");
baseMapper.insert(dictCommon);
} else {
return rb.setMsg("数据字典类型不存在");
}
} else {
int size = dictTypeService.selectSize(dictType);
if (size > 0) {
//根据数据类型和数据项值查询是否已存在
DictCommon dictCommon = fetchBySid(dictCommonDto.getSid());
if (dictCommon == null) {
return rb.setMsg(dictType + "此类型的数据项不存在");
} else {
if (!dictCommonDto.getSid().equals(dictCommon.getSid())) {
return rb.setMsg(dictType + "此类型的数据项已存在");
}
}
BeanUtil.copyProperties(dictCommonDto, dictCommon, "sid");
baseMapper.updateById(dictCommon);
} else {
return rb.setMsg("数据字典类型不存在");
}
}
return rb.success();
}
public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail();
DictCommon dictCommon = fetchBySid(sid);
if (dictCommon == null) {
return rb.setMsg("该数据项不存在");
}
deleteBySid(sid);
return rb.success();
}
public PagerVo<DictCommonVo> listPageVo(PagerQuery<DictCommonQuery> pagerQuery) {
IPage<DictCommon> page = PagerUtil.queryToPage(pagerQuery);
DictCommonQuery params = pagerQuery.getParams();
QueryWrapper<DictCommon> qw = new QueryWrapper<>();
if (params != null) {
}
IPage<DictCommonVo> pagging = baseMapper.listPageVo(page, qw);
PagerVo<DictCommonVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<DictCommonVo> getValue(DictCommonTypeQuery query) {
QueryWrapper<DictCommonVo> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getType())) {//类型
qw.eq("dc.dictType", query.getType());
}
if (StringUtils.isNotBlank(query.getPsid())) {//父级sid
qw.eq("dc.parentSid", query.getPsid());
}
return baseMapper.getValue(qw);
}
public List<DictCommon> selectByType(String dictTypeCode) {
return baseMapper.selectByType(dictTypeCode);
}
}

View File

@@ -0,0 +1,29 @@
package com.yxt.demo.system.biz.dict_type;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.demo.system.api.dict_common.DictCommon;
import com.yxt.demo.system.api.dict_type.DictType;
import com.yxt.demo.system.api.dict_type.DictTypeVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:20
* @Description
*/
@Mapper
public interface DictTypeMapper extends BaseMapper<DictType> {
/**
* 查询该类型代码存在的数量
*
* @param dictType 类型代码
* @return
*/
int selectSize(String dictType);
IPage<DictTypeVo> listPageVo(IPage<DictType> page, @Param(Constants.WRAPPER)QueryWrapper<DictType> qw);
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.dict_type.DictTypeMapper">
<select id="selectSize" resultType="int">
SELECT COUNT(*)
FROM dict_type
WHERE dictTypeCode = #{dictTypeCode}
</select>
<select id="listPageVo" resultType="com.yxt.demo.system.api.dict_type.DictTypeVo">
select *
from dict_type
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

View File

@@ -0,0 +1,61 @@
package com.yxt.demo.system.biz.dict_type;
import com.yxt.demo.common.core.query.PagerQuery;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.core.vo.PagerVo;
import com.yxt.demo.system.api.dict_common.DictCommon;
import com.yxt.demo.system.api.dict_common.DictCommonVo;
import com.yxt.demo.system.api.dict_type.*;
import com.yxt.demo.system.biz.dict_common.DictCommonService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:20
* @Description
*/
@Api(tags = "数据字典数据类型")
@RestController
@RequestMapping("v1/DictType")
public class DictTypeRest implements DictTypeFeign {
@Autowired
private DictTypeService dictTypeService;
@Autowired
private DictCommonService dictCommonService;
@Override
public ResultBean save(DictTypeDto dictTypeDto) {
return dictTypeService.saveOrUpdates(dictTypeDto);
}
@Override
public ResultBean<PagerVo<DictTypeVo>> pageList(PagerQuery<DictTypeQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
PagerVo<DictTypeVo> pv = dictTypeService.listPageVo(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail();
DictType dictType = dictTypeService.fetchBySid(sid);
if (null == dictType) {
return rb.setMsg("该数据字典类型不存在");
}
//查询该类型下是否存在数据项
List<DictCommon> dictCommon = dictCommonService.selectByType(dictType.getDictTypeCode());
if (dictCommon.size() > 0) {
return rb.setMsg("该数据字典类型下存在数据项,请先删除该类下的数据项");
}
if (0 == dictTypeService.deleteBySid(sid)) {
return rb.setMsg("删除失败");
}
return rb.setMsg("删除成功");
}
}

View File

@@ -0,0 +1,76 @@
package com.yxt.demo.system.biz.dict_type;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.demo.common.core.query.PagerQuery;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.core.vo.PagerVo;
import com.yxt.demo.common.jdbc.service.MybatisBaseService;
import com.yxt.demo.common.jdbc.service.PagerUtil;
import com.yxt.demo.system.api.dict_common.DictCommon;
import com.yxt.demo.system.api.dict_common.DictCommonQuery;
import com.yxt.demo.system.api.dict_common.DictCommonVo;
import com.yxt.demo.system.api.dict_type.DictType;
import com.yxt.demo.system.api.dict_type.DictTypeDto;
import com.yxt.demo.system.api.dict_type.DictTypeQuery;
import com.yxt.demo.system.api.dict_type.DictTypeVo;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:20
* @Description
*/
@Service
public class DictTypeService extends MybatisBaseService<DictTypeMapper, DictType> {
/**
* 查询该类型代码存在的数量
*
* @param dictType 类型代码
* @return
*/
public int selectSize(String dictType) {
return baseMapper.selectSize(dictType);
}
public ResultBean saveOrUpdates(DictTypeDto dictTypeDto) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(dictTypeDto.getSid())) {
//判断数据字典类型是否已存在
String dictTypeCode = dictTypeDto.getDictTypeCode();
int size = baseMapper.selectSize(dictTypeCode);
if (size > 0) {
return rb.setMsg("数据类型代码已存在");
}
DictType dictType = new DictType();
BeanUtil.copyProperties(dictTypeDto, dictType, "sid");
baseMapper.insert(dictType);
} else {
DictType dictType = fetchBySid(dictTypeDto.getSid());
if (dictType == null) {
return rb.setMsg("数据类型不存在");
}
if (!dictTypeDto.getDictTypeCode().equals(dictType.getDictTypeCode())) {
return rb.setMsg("数据字典类型的code值不允许修改");
}
BeanUtil.copyProperties(dictTypeDto, dictType, "sid");
baseMapper.updateById(dictType);
}
return rb.success();
}
public PagerVo<DictTypeVo> listPageVo(PagerQuery<DictTypeQuery> pagerQuery) {
IPage<DictType> page = PagerUtil.queryToPage(pagerQuery);
DictTypeQuery params = pagerQuery.getParams();
QueryWrapper<DictType> qw = new QueryWrapper<>();
if (params != null) {
}
IPage<DictTypeVo> pagging = baseMapper.listPageVo(page, qw);
PagerVo<DictTypeVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_forum;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:21
* @Description
*/
public interface SysForumMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_forum;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:21
* @Description
*/
public class SysForumRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_forum;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:21
* @Description
*/
public class SysForumService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_forum_comment;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:22
* @Description
*/
public interface SysForumCommentMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_forum_comment.SysForumCommentMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_forum_comment;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:22
* @Description
*/
public class SysForumCommentRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_forum_comment;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:22
* @Description
*/
public class SysForumCommentService {
}

View File

@@ -0,0 +1,17 @@
package com.yxt.demo.system.biz.sys_info;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.demo.system.api.sys_info.SysInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:51
* @Description
*/
@Mapper
public interface SysInfoMapper extends BaseMapper<SysInfo> {
SysInfo selectByNoAndName(@Param("userName") String userName, @Param("name") String name);
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_info.SysInfoMapper">
<select id="selectByNoAndName" resultType="com.yxt.demo.system.api.sys_info.SysInfo">
select *
from sys_info
where infoId = #{userName}
and name = #{name}
</select>
</mapper>

View File

@@ -0,0 +1,16 @@
package com.yxt.demo.system.biz.sys_info;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:51
* @Description
*/
@Api(tags = "基础信息表")
@RestController
@RequestMapping("v1/sysinfo")
public class SysInfoRest {
}

View File

@@ -0,0 +1,18 @@
package com.yxt.demo.system.biz.sys_info;
import com.yxt.demo.common.jdbc.service.MybatisBaseService;
import com.yxt.demo.system.api.sys_info.SysInfo;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:51
* @Description
*/
@Service
public class SysInfoService extends MybatisBaseService<SysInfoMapper, SysInfo> {
public SysInfo selectByNoAndName(String userName, String name) {
return baseMapper.selectByNoAndName(userName, name);
}
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.biz.sys_info_ship;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:15
* @Description
*/
@Mapper
public interface SysInfoShipMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_info_ship.SysInfoShipMapper">
</mapper>

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.biz.sys_info_ship;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:15
* @Description
*/
@Service
public class SysInfoShipService {
}

View File

@@ -0,0 +1,15 @@
package com.yxt.demo.system.biz.sys_menu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.demo.system.api.sys_info.SysInfo;
import com.yxt.demo.system.api.sys_menu.SysMenu;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:09
* @Description
*/
@Mapper
public interface SysMenuMapper extends BaseMapper<SysMenu> {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_menu.SysMenuMapper">
</mapper>

View File

@@ -0,0 +1,16 @@
package com.yxt.demo.system.biz.sys_menu;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:09
* @Description
*/
@Api(tags = "菜单")
@RestController
@RequestMapping("v1/sysmenu")
public class SysMenuRest {
}

View File

@@ -0,0 +1,16 @@
package com.yxt.demo.system.biz.sys_menu;
import com.yxt.demo.common.jdbc.service.MybatisBaseService;
import com.yxt.demo.system.api.sys_info.SysInfo;
import com.yxt.demo.system.api.sys_menu.SysMenu;
import com.yxt.demo.system.biz.sys_info.SysInfoMapper;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:09
* @Description
*/
@Service
public class SysMenuService extends MybatisBaseService<SysMenuMapper, SysMenu> {
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.biz.sys_menu_role;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:12
* @Description
*/
@Mapper
public interface SysMenuRoleMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_menu_role.SysMenuRoleMapper">
</mapper>

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.biz.sys_menu_role;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:12
* @Description
*/
@Service
public class SysMenuRoleService {
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.biz.sys_notice;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:14
* @Description
*/
@Mapper
public interface SysNoticeMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_notice.SysNoticeMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_notice;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:23
* @Description
*/
public class SysNoticeRest {
}

View File

@@ -0,0 +1,12 @@
package com.yxt.demo.system.biz.sys_notice;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:13
* @Description
*/
@Service
public class SysNoticeService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_plan;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:24
* @Description
*/
public interface SysPlanMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_plan;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:24
* @Description
*/
public class SysPlanRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_plan;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:24
* @Description
*/
public class SysPlanService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_plan_schedule;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:25
* @Description
*/
public interface SysPlanScheduleMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_plan_schedule.SysPlanScheduleMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_plan_schedule;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:25
* @Description
*/
public class SysPlanScheduleRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_plan_schedule;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:25
* @Description
*/
public class SysPlanScheduleService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_resources;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:26
* @Description
*/
public interface SysResourcesMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_resources.SysResourcesMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_resources;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:26
* @Description
*/
public class SysResourcesRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_resources;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:26
* @Description
*/
public class SysResourcesService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_role;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:27
* @Description
*/
public interface SysRoleMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_role.SysRoleMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_role;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:27
* @Description
*/
public class SysRoleRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_role;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:27
* @Description
*/
public class SysRoleService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:28
* @Description
*/
public interface SysScoreMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_score.SysScoreMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:28
* @Description
*/
public class SysScoreRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:28
* @Description
*/
public class SysScoreService {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_student_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:31
* @Description
*/
public interface SysStudentScoreMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_student_score.SysStudentScoreMapper">
</mapper>

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_student_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:29
* @Description
*/
public class SysStudentScoreRest {
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_student_score;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:31
* @Description
*/
public class SysStudentScoreService {
}

View File

@@ -0,0 +1,15 @@
package com.yxt.demo.system.biz.sys_user;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.demo.system.api.sys_user.SysUser;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:40
* @Description
*/
@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {
SysUser selectByNo(String userName);
}

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_user.SysUserMapper">
<select id="selectByNo" resultType="com.yxt.demo.system.api.sys_user.SysUser">
select *
from sys_user
where userName = #{userName}
</select>
</mapper>

View File

@@ -0,0 +1,34 @@
package com.yxt.demo.system.biz.sys_user;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.system.api.sys_user.SysUserDto;
import com.yxt.demo.system.api.sys_user.SysUserFeign;
import com.yxt.demo.system.api.sys_user.SysUserLoginQuery;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:40
* @Description
*/
@Api(tags = "用户表")
@RestController
@RequestMapping("v1/sysuser")
public class SysUserRest implements SysUserFeign {
@Autowired
private SysUserService sysUserService;
@Override
public ResultBean register(SysUserDto dto) {
return sysUserService.register(dto);
}
@Override
public ResultBean login(SysUserLoginQuery query) {
return sysUserService.login(query);
}
}

View File

@@ -0,0 +1,80 @@
package com.yxt.demo.system.biz.sys_user;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.demo.common.core.result.ResultBean;
import com.yxt.demo.common.jdbc.service.MybatisBaseService;
import com.yxt.demo.common.redis.service.RedisService;
import com.yxt.demo.common.utils.allutils.Encodes;
import com.yxt.demo.common.utils.jwt.JWTUtil;
import com.yxt.demo.system.api.sys_info.SysInfo;
import com.yxt.demo.system.api.sys_user.SysUser;
import com.yxt.demo.system.api.sys_user.SysUserDto;
import com.yxt.demo.system.api.sys_user.SysUserLoginQuery;
import com.yxt.demo.system.biz.sys_info.SysInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/4/24 11:40
* @Description
*/
@Service
public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
public static final long USERS_REDIS_SESSION_TL_PC = 60;
@Autowired
private SysInfoService sysInfoService;
@Autowired
private RedisService redisService;
public ResultBean register(SysUserDto dto) {
ResultBean rb = ResultBean.fireFail();
//验证学号+姓名是否存在
String userName = dto.getUserName();
String name = dto.getName();
SysInfo sysInfo = sysInfoService.selectByNoAndName(userName, name);
if (sysInfo == null) {
return rb.setMsg("学号或姓名错误");
}
//查看该账号是否已激活
SysUser sysUser = baseMapper.selectByNo(userName);
if (sysUser != null) {
if (sysUser.getHasActivated() == 1) {
return rb.setMsg("该账号已注册");
}
}
sysUser = new SysUser();
BeanUtil.copyProperties(dto, sysUser);
String md5Password = Encodes.md5(dto.getPassword());
sysUser.setPassword(md5Password);
baseMapper.insert(sysUser);
sysInfo.setUserSid(sysUser.getSid());
sysInfoService.updateById(sysInfo);
return rb.success();
}
public ResultBean login(SysUserLoginQuery query) {
ResultBean rb = ResultBean.fireFail();
//验证输入的账号密码是否存在
SysUser sysUser = baseMapper.selectByNo(query.getUserName());
if (sysUser == null) {
return rb.setMsg("账号密码错误");
} else {
String md5Password = Encodes.md5(query.getPassword());
if (!query.getPassword().equals(md5Password)) {
return rb.setMsg("账号密码错误");
}
//验证是否激活状态
if (sysUser.getHasActivated() == 0) {
return rb.setMsg("该账号已失效");
}
}
// 生成token
String uniqueToken = JWTUtil.create(sysUser.getSid() + "");
// redis中缓存token
redisService.set(uniqueToken, sysUser.getUserName(),
USERS_REDIS_SESSION_TL_PC);
return rb.success().setData(sysUser);
}
}

View File

@@ -0,0 +1,9 @@
package com.yxt.demo.system.biz.sys_user_role;
/**
* @Author dimengzhe
* @Date 2023/4/24 14:31
* @Description
*/
public interface SysUserRoleMapper {
}

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.demo.system.biz.sys_user_role.SysUserRoleMapper">
</mapper>

Some files were not shown because too many files have changed in this diff Show More