@ -0,0 +1,14 @@
|
||||
package com.cgs.e_commerce.module.marketing.entity;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SmsHomeCarousel {
|
||||
private Long id;
|
||||
@NotBlank(message = "图片url不能为空")
|
||||
private String pic;
|
||||
private String url;
|
||||
private Integer sort;
|
||||
private Integer status;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.cgs.e_commerce.module.marketing.mapper;
|
||||
|
||||
import com.cgs.e_commerce.module.marketing.entity.SmsHomeCarousel;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SmsHomeCarouselMapper {
|
||||
// 新增轮播
|
||||
@Insert("insert into sms_home_carousel(pic, url, sort, status) " +
|
||||
"values(#{pic}, #{url}, #{sort}, #{status})")
|
||||
@Options(useGeneratedKeys = true, keyProperty = "id")
|
||||
void addCarousel(SmsHomeCarousel carousel);
|
||||
|
||||
// 查询轮播列表
|
||||
@Select("select * from sms_home_carousel order by sort asc")
|
||||
List<SmsHomeCarousel> getCarouselList();
|
||||
|
||||
// 根据ID查询轮播
|
||||
@Select("select * from sms_home_carousel where id = #{id}")
|
||||
SmsHomeCarousel getCarouselById(Long id);
|
||||
|
||||
// 更新轮播
|
||||
@Update("update sms_home_carousel set pic = #{pic}, url = #{url}, sort = #{sort}, status = #{status} where id = #{id}")
|
||||
void updateCarousel(SmsHomeCarousel carousel);
|
||||
|
||||
// 删除轮播
|
||||
@Delete("delete from sms_home_carousel where id = #{id}")
|
||||
void deleteCarousel(Long id);
|
||||
|
||||
// 查询启用的轮播列表(前端展示用)
|
||||
@Select("select * from sms_home_carousel where status = 1 order by sort asc")
|
||||
List<SmsHomeCarousel> getEnabledCarouselList();
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package com.cgs.e_commerce.module.marketing.service;
|
||||
|
||||
import com.cgs.e_commerce.module.marketing.entity.SmsHomeCarousel;
|
||||
import com.cgs.e_commerce.module.marketing.mapper.SmsHomeCarouselMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SmsHomeCarouselService {
|
||||
@Autowired
|
||||
private SmsHomeCarouselMapper carouselMapper;
|
||||
|
||||
public void addCarousel(SmsHomeCarousel carousel) {
|
||||
carouselMapper.addCarousel(carousel);
|
||||
}
|
||||
|
||||
public List<SmsHomeCarousel> getCarouselList() {
|
||||
return carouselMapper.getCarouselList();
|
||||
}
|
||||
|
||||
public SmsHomeCarousel getCarouselById(Long id) {
|
||||
return carouselMapper.getCarouselById(id);
|
||||
}
|
||||
|
||||
public void updateCarousel(SmsHomeCarousel carousel) {
|
||||
carouselMapper.updateCarousel(carousel);
|
||||
}
|
||||
|
||||
public void deleteCarousel(Long id) {
|
||||
carouselMapper.deleteCarousel(id);
|
||||
}
|
||||
|
||||
public List<SmsHomeCarousel> getEnabledCarouselList() {
|
||||
return carouselMapper.getEnabledCarouselList();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package com.cgs.e_commerce.module.system.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoleAssignDto {
|
||||
private Long userId;
|
||||
private Long roleId;
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.cgs.e_commerce.module.system.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RoleMenuAssignDto {
|
||||
private Long roleId;
|
||||
private List<Long> menuIds;
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cgs.e_commerce.module.system.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysUserLoginDto {
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
private String username;
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, message = "密码长度不能少于6位")
|
||||
private String password;
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cgs.e_commerce.module.system.dto;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysUserRegisterDto {
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
private String username;
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, message = "密码长度不能少于6位")
|
||||
private String password;
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysMenu {
|
||||
private Long id;
|
||||
@NotEmpty(message = "菜单名称不能为空")
|
||||
private String menuName;
|
||||
private Long parentId;
|
||||
private String path;
|
||||
private String icon;
|
||||
private Integer sort;
|
||||
@NotNull(message = "菜单类型不能为空")
|
||||
private Integer type;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class SysOperLog {
|
||||
private Long id;
|
||||
private Long userId;
|
||||
private String operation;
|
||||
private String method;
|
||||
private String params;
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class SysRole {
|
||||
private long id;
|
||||
@NotEmpty(message = "角色名不能为空")
|
||||
private String roleName;
|
||||
private String description;
|
||||
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysRoleMenu {
|
||||
private Long id;
|
||||
private Long roleId;
|
||||
private Long menuId;
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class SysUser {
|
||||
private long id;
|
||||
private String username;
|
||||
private String password;
|
||||
private String phone;
|
||||
private Integer status;
|
||||
private Integer passwordVersion;
|
||||
// @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysUserMenu {
|
||||
private Long id;
|
||||
private Long userId;
|
||||
private Long menuId;
|
||||
}
|
||||
@ -0,0 +1,10 @@
|
||||
package com.cgs.e_commerce.module.system.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SysUserRole {
|
||||
private Long id;
|
||||
private Long userId;
|
||||
private Long roleId;
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.cgs.e_commerce.module.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.cgs.e_commerce.module.system.entity.SysMenu;
|
||||
import com.cgs.e_commerce.module.system.entity.SysUserMenu;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SysMenuMapper extends BaseMapper<SysMenu> {
|
||||
List<SysMenu> list();
|
||||
|
||||
void add(SysMenu sysMenu);
|
||||
|
||||
void update(SysMenu sysMenu);
|
||||
|
||||
void delete(Long id);
|
||||
|
||||
List<SysMenu> getMenusByUserId(Long userId);
|
||||
|
||||
List<SysMenu> listWithTree(); // 树形菜单列表
|
||||
|
||||
void assignMenusToRole(@Param("roleId") Long roleId, @Param("menuIds") List<Long> menuIds); // 给角色分配菜单
|
||||
|
||||
void insertRoleMenus(@Param("roleId") Long roleId, @Param("menuIds") List<Long> menuIds);
|
||||
|
||||
void deleteRoleMenusByRoleId(Long roleId);
|
||||
|
||||
List<Long> getMenuIdsByRoleId(Long roleId); // 获取角色菜单ID
|
||||
|
||||
List<SysMenu> getCurrentUserMenus(); // 获取当前用户菜单
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package com.cgs.e_commerce.module.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.cgs.e_commerce.module.system.entity.SysRole;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SysRoleMapper extends BaseMapper<SysRole> {
|
||||
@Insert("insert into sys_role(role_name,description,create_time) values(#{roleName},#{description},now())")
|
||||
void add(SysRole role);
|
||||
|
||||
@Select("select * from sys_role")
|
||||
List<SysRole> list();
|
||||
|
||||
@Update("update sys_role set role_name=#{roleName},description=#{description},create_time=now() where id=#{id}")
|
||||
void update(SysRole role);
|
||||
|
||||
@Delete("delete from sys_role where id = #{id}")
|
||||
void delete(Long id);
|
||||
|
||||
@Select("SELECT r.id, r.role_name, r.description " +
|
||||
"FROM sys_role r " +
|
||||
"JOIN sys_user_role ur ON r.id = ur.role_id " +
|
||||
"WHERE ur.user_id = #{userId}")
|
||||
List<SysRole> listByUserId(Long userId);
|
||||
|
||||
@Insert("insert into sys_user_role(user_id,role_id) values(#{userId},#{roleId})")
|
||||
void assignUserRole(Long userId, Long roleId);
|
||||
|
||||
@Delete("delete from sys_user_role where user_id=#{userId} and role_id=#{roleId}")
|
||||
void removeUserRole(Long userId, Long roleId);
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.cgs.e_commerce.module.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.cgs.e_commerce.module.system.entity.SysUser;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SysUserMapper extends BaseMapper<SysUser>{
|
||||
@Select("select * from sys_user where username = #{username}")
|
||||
SysUser selectByName(String username);
|
||||
|
||||
@Select("select * from sys_user ")
|
||||
List<SysUser> list();
|
||||
|
||||
@Insert("insert into sys_user(username,password,create_time) " +
|
||||
"values(#{username},#{password},now())")
|
||||
void add(String username,String password);
|
||||
|
||||
@Select("select * from sys_user where id = #{id}")
|
||||
SysUser getInfo(Long id);
|
||||
|
||||
@Update("update sys_user set password = #{password} where id = #{id}")
|
||||
void updatePassword(String password,Long id);
|
||||
|
||||
@Update("update sys_user set status = #{status} where id = #{id}")
|
||||
void updateStatus(Long id ,Integer status);
|
||||
|
||||
@Update("update sys_user set password_version = #{version} where id = #{id}")
|
||||
void updatePasswordVersion(Long id,Integer version);
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.cgs.e_commerce.module.system.service;
|
||||
|
||||
import com.cgs.e_commerce.module.system.entity.SysMenu;
|
||||
import com.cgs.e_commerce.module.system.mapper.SysMenuMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SysMenuService {
|
||||
@Autowired
|
||||
private SysMenuMapper sysMenuMapper;
|
||||
|
||||
public void add(SysMenu sysMenu) {
|
||||
sysMenuMapper.add(sysMenu);
|
||||
}
|
||||
|
||||
public void update(SysMenu sysMenu) {
|
||||
sysMenuMapper.update(sysMenu);
|
||||
}
|
||||
|
||||
public void delete(Long id) {
|
||||
sysMenuMapper.delete(id);
|
||||
}
|
||||
|
||||
public List<SysMenu> listWithTree() {
|
||||
return sysMenuMapper.listWithTree();
|
||||
}
|
||||
|
||||
public void assignMenusToRole(Long roleId, List<Long> menuIds) {
|
||||
sysMenuMapper.assignMenusToRole(roleId, menuIds);
|
||||
}
|
||||
|
||||
public List<Long> getMenuIdsByRoleId(Long roleId) {
|
||||
return sysMenuMapper.getMenuIdsByRoleId(roleId);
|
||||
}
|
||||
|
||||
public List<SysMenu> getCurrentUserMenus() {
|
||||
return sysMenuMapper.getCurrentUserMenus();
|
||||
}
|
||||
|
||||
public List<SysMenu> getMenusByUserId(Long userId) {
|
||||
return sysMenuMapper.getMenusByUserId(userId);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
package com.cgs.e_commerce.module.system.service;
|
||||
|
||||
import com.cgs.e_commerce.module.system.entity.SysRole;
|
||||
import com.cgs.e_commerce.module.system.mapper.SysRoleMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SysRoleService {
|
||||
@Autowired
|
||||
private SysRoleMapper sysRoleMapper;
|
||||
|
||||
public void add(SysRole sysRole) {
|
||||
sysRoleMapper.add(sysRole);
|
||||
}
|
||||
|
||||
public List<SysRole> list() {
|
||||
return sysRoleMapper.list();
|
||||
}
|
||||
|
||||
public void update(SysRole role) {
|
||||
sysRoleMapper.update(role);
|
||||
}
|
||||
|
||||
public void delete(Long id) {
|
||||
sysRoleMapper.delete(id);
|
||||
}
|
||||
|
||||
public List<SysRole> listByUserId(Long userId) {
|
||||
return sysRoleMapper.listByUserId(userId);
|
||||
}
|
||||
|
||||
public void assignUserRole(Long userId, Long roleId) {
|
||||
sysRoleMapper.assignUserRole(userId, roleId);
|
||||
}
|
||||
|
||||
|
||||
public void removeUserRole(Long userId, Long roleId) {
|
||||
sysRoleMapper.removeUserRole(userId, roleId);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
package com.cgs.e_commerce.module.system.service;
|
||||
|
||||
import com.cgs.e_commerce.common.utils.BCryptUtils;
|
||||
import com.cgs.e_commerce.module.system.entity.SysUser;
|
||||
import com.cgs.e_commerce.module.system.mapper.SysUserMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class SysUserService {
|
||||
@Autowired
|
||||
private SysUserMapper sysUserMapper;
|
||||
|
||||
|
||||
public SysUser selectByName(String username) {
|
||||
return sysUserMapper.selectByName(username);
|
||||
}
|
||||
|
||||
public List<SysUser> list() {
|
||||
return sysUserMapper.list();
|
||||
}
|
||||
|
||||
public void updatePassword(String password,Long id) {
|
||||
String encode = BCryptUtils.encode(password);
|
||||
sysUserMapper.updatePassword(encode,id);
|
||||
}
|
||||
|
||||
public void updateStatus(Long id,Integer status) {
|
||||
sysUserMapper.updateStatus(id,status);
|
||||
}
|
||||
|
||||
public void updatePasswordVersion(Long id, Integer passwordVersion) {
|
||||
sysUserMapper.updatePasswordVersion(id,passwordVersion);
|
||||
}
|
||||
|
||||
public void add(String username,String password) {
|
||||
String encode = BCryptUtils.encode(password);
|
||||
sysUserMapper.add(username,encode);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue