service位置调整

This commit is contained in:
张松 2025-02-11 15:06:58 +08:00
parent 13a5838f55
commit c49248c47a
68 changed files with 463 additions and 766 deletions

View File

@ -1,11 +1,11 @@
package com.czg.controller;
import com.czg.service.account.dto.SysLoginDTO;
import com.czg.account.dto.SysLoginDTO;
import com.czg.account.service.AuthorizationService;
import com.czg.account.service.PermissionService;
import com.czg.account.vo.LoginVO;
import com.czg.resp.CzgResult;
import com.czg.sa.StpKit;
import com.czg.service.account.service.AuthorizationService;
import com.czg.service.account.service.PermissionService;
import com.czg.service.account.vo.LoginVO;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

View File

@ -1,7 +1,7 @@
package com.czg.controller;
import com.czg.account.service.SysMenuService;
import com.czg.resp.CzgResult;
import com.czg.service.account.service.SysMenuService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

View File

@ -1,12 +1,12 @@
package com.czg.controller;
import com.czg.account.dto.PageDTO;
import com.czg.account.dto.register.MerchantRegisterDTO;
import com.czg.account.entity.MerchantRegister;
import com.czg.account.service.MerchantRegisterService;
import com.czg.annotation.SaAdminCheckPermission;
import com.czg.annotation.SaAdminCheckRole;
import com.czg.resp.CzgResult;
import com.czg.service.account.dto.PageDTO;
import com.czg.service.account.dto.register.MerchantRegisterDTO;
import com.czg.service.account.entity.MerchantRegister;
import com.czg.service.account.service.MerchantRegisterService;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -35,7 +35,7 @@ public class MerchantRegisterController {
* @return 激活码列表
*/
@SaAdminCheckRole("管理员")
@SaAdminCheckPermission("merchantRegister:add")
@SaAdminCheckPermission("merchantRegister:list")
@GetMapping
public CzgResult<Page<MerchantRegister>> get(PageDTO pageDTO, Integer state, String startTime, String endTime) {
return CzgResult.success(merchantRegisterService.get(pageDTO, state, startTime, endTime));

View File

@ -1,13 +1,13 @@
package com.czg.controller;
import com.czg.account.dto.PageDTO;
import com.czg.account.dto.role.RoleAddDTO;
import com.czg.account.dto.role.RoleEditDTO;
import com.czg.account.dto.role.RoleRemoveDTO;
import com.czg.account.entity.SysRole;
import com.czg.account.service.SysRoleService;
import com.czg.annotation.SaAdminCheckPermission;
import com.czg.resp.CzgResult;
import com.czg.service.account.dto.PageDTO;
import com.czg.service.account.dto.role.RoleAddDTO;
import com.czg.service.account.dto.role.RoleEditDTO;
import com.czg.service.account.dto.role.RoleRemoveDTO;
import com.czg.service.account.entity.SysRole;
import com.czg.service.account.service.SysRoleService;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;

View File

@ -1,15 +1,16 @@
package com.czg.controller;
import com.czg.account.dto.PageDTO;
import com.czg.account.dto.shopinfo.ShopInfoAddDTO;
import com.czg.account.dto.shopinfo.ShopInfoEditDTO;
import com.czg.account.entity.ShopInfo;
import com.czg.account.service.ShopInfoService;
import com.czg.annotation.SaAdminCheckPermission;
import com.czg.annotation.SaAdminCheckRole;
import com.czg.resp.CzgResult;
import com.czg.service.account.dto.shopinfo.ShopInfoAddDTO;
import com.czg.service.account.service.ShopInfoService;
import com.mybatisflex.core.paginate.Page;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* 店铺管理
@ -24,6 +25,17 @@ public class ShopInfoController {
this.shopInfoService = shopInfoService;
}
/**
* 店铺列表
* 权限标识: shopInfo:list
*/
@SaAdminCheckRole("管理员")
@SaAdminCheckPermission("shopInfo:list")
@GetMapping
public CzgResult<Page<ShopInfo>> get(PageDTO pageDTO, String shopName, Integer status) {
return CzgResult.success(shopInfoService.get(pageDTO, shopName, status));
}
/**
* 店铺添加
* 权限标识: shopInfo:add
@ -34,4 +46,15 @@ public class ShopInfoController {
public CzgResult<?> add(@RequestBody @Validated ShopInfoAddDTO shopInfoAddDTO) {
return CzgResult.success(shopInfoService.add(shopInfoAddDTO));
}
/**
* 店铺编辑
* 权限标识: shopInfo:edit
*/
@SaAdminCheckRole("管理员")
@SaAdminCheckPermission("shopInfo:edit")
@PutMapping
public CzgResult<?> edit(@RequestBody @Validated ShopInfoEditDTO shopInfoEditDTO) {
return CzgResult.success(shopInfoService.edit(shopInfoEditDTO));
}
}

View File

@ -0,0 +1,47 @@
package com.czg.controller;
import com.czg.account.dto.merchant.ShopMerchantEditDTO;
import com.czg.account.entity.ShopMerchant;
import com.czg.account.service.ShopMerchantService;
import com.czg.annotation.SaAdminCheckPermission;
import com.czg.annotation.SaAdminCheckRole;
import com.czg.resp.CzgResult;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 商户信息管理
* @author Administrator
*/
@RestController
@RequestMapping("/shopMerchant")
public class ShopMerchantController {
@Resource
private ShopMerchantService shopMerchantService;
/**
* 商户支付信息获取
* 权限标识: shopMerchant:detail
* @return 支付信息
*/
@SaAdminCheckRole("管理员")
@SaAdminCheckPermission("shopMerchant:detail")
@GetMapping
public CzgResult<ShopMerchant> detail() {
return CzgResult.success(shopMerchantService.detail());
}
/**
* 商户支付信息修改
* 权限标识: shopMerchant:edit
* @return 是否成功
*/
@SaAdminCheckRole("管理员")
@SaAdminCheckPermission("shopMerchant:edit")
@PutMapping
public CzgResult<Boolean> edit(@RequestBody @Validated ShopMerchantEditDTO shopMerchantEditDTO) {
return CzgResult.success(shopMerchantService.edit(shopMerchantEditDTO));
}
}

View File

@ -1,4 +1,4 @@
package com.czg.service.account.dto;
package com.czg.account.dto;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;

View File

@ -1,4 +1,4 @@
package com.czg.service.account.dto;
package com.czg.account.dto;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;

View File

@ -0,0 +1,26 @@
package com.czg.account.dto.merchant;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class ShopMerchantEditDTO {
@NotEmpty(message = "支付系统商户id不为空")
private String storeId;
@NotEmpty(message = "商户应用id不为空")
private String appId;
@NotEmpty(message = "商户秘钥不为空")
private String appSecret;
// 支付密码
@NotEmpty(message = "支付密码不为空")
private String payPassword;
// 微信appid
@NotEmpty(message = "微信appid")
private String wechatSmallAppid;
// 支付宝appid
@NotEmpty(message = "支付宝appid")
private String alipaySmallAppid;
}

View File

@ -1,4 +1,4 @@
package com.czg.service.account.dto.register;
package com.czg.account.dto.register;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;

View File

@ -1,8 +1,7 @@
package com.czg.service.account.dto.role;
package com.czg.account.dto.role;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.List;

View File

@ -1,24 +1,27 @@
package com.czg.service.account.dto.role;
package com.czg.account.dto.role;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
public record RoleEditDTO(
/**
* @author Administrator
*/
@Data
public class RoleEditDTO {
// 角色id
@NotNull
Long id,
private Long id;
// 角色名称
@NotBlank
String name,
private String name;
// 角色等级
Integer level,
private Integer level;
// 菜单id
@NotNull
List<Long> menuIdList,
private List<Long> menuIdList;
// 描述
String description
) {
private String description;
}

View File

@ -1,4 +1,4 @@
package com.czg.service.account.dto.role;
package com.czg.account.dto.role;
import jakarta.validation.constraints.NotNull;

View File

@ -0,0 +1,39 @@
package com.czg.account.dto.shopinfo;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class ShopInfoAddDTO {
@NotEmpty(message = "店铺名称不为空")
private String shopName;
@NotEmpty(message = "店铺类型不为空")
private String shopType;
private String chainName;
@NotEmpty(message = "店铺logo不为空")
private String logo;
@NotEmpty(message = "门头照不为空")
private String frontImg;
@NotEmpty(message = "试用/正式不为空")
private String profiles;
@NotEmpty(message = "激活码不为空")
private String activateCode;
@NotEmpty(message = "登录账号不为空")
private String accountName;
@NotEmpty(message = "登录密码不为空")
private String accountPwd;
@NotEmpty(message = "经度不为空")
private String lat;
@NotEmpty(message = "纬度不为空")
private String lng;
@NotNull(message = "状态不为空")
private String detail;
@NotNull(message = "角色id不为空")
private Long roleId;
private String address;
private String phone;
}

View File

@ -0,0 +1,28 @@
package com.czg.account.dto.shopinfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class ShopInfoEditDTO {
@NotNull(message = "id不为空")
private Integer id;
private String shopName;
private String shopType;
private String chainName;
private String logo;
private String frontImg;
private String profiles;
private String activateCode;
private String accountName;
private String accountPwd;
private String lat;
private String lng;
private String detail;
private Long roleId;
private String address;
private String phone;
}

View File

@ -1,4 +1,4 @@
package com.czg.service.account.dto.shopuser;
package com.czg.account.dto.shopuser;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;

View File

@ -1,20 +1,19 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 激活码 实体类
*

View File

@ -1,20 +1,19 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 店铺信息 实体类
*

View File

@ -0,0 +1,73 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 第三方商户进件 实体类
*
* @author Administrator
* @since 2025-02-11
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_merchant")
public class ShopMerchant implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 店铺id
*/
@Id
private Long shopId;
/**
* 支付系统商户id
*/
private String storeId;
/**
* 商户应用id
*/
private String appId;
/**
* 商户token
*/
private String appSecret;
/**
* 微信小程序appid
*/
private String wechatSmallAppid;
/**
* 支付宝小程序appid
*/
private String alipaySmallAppid;
/**
* 支付密码
*/
private String payPassword;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
}

View File

@ -1,20 +1,19 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 店铺员工 实体类
*

View File

@ -1,20 +1,19 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 商户储值会员 实体类
*

View File

@ -1,19 +1,18 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 系统菜单 实体类
*

View File

@ -1,19 +1,18 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 角色表 实体类
*

View File

@ -1,16 +1,15 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 角色菜单关联 实体类
*

View File

@ -1,19 +1,18 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 系统用户 实体类
*

View File

@ -1,16 +1,15 @@
package com.czg.service.account.entity;
package com.czg.account.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 用户角色关联 实体类
*

View File

@ -1,8 +1,8 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.service.account.dto.SysLoginDTO;
import com.czg.service.account.vo.LoginVO;
import com.czg.account.dto.SysLoginDTO;
import com.czg.account.vo.LoginVO;
/**
* @author Administrator

View File

@ -1,12 +1,10 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.service.account.dto.PageDTO;
import com.czg.service.account.dto.register.MerchantRegisterDTO;
import com.czg.account.dto.PageDTO;
import com.czg.account.dto.register.MerchantRegisterDTO;
import com.czg.account.entity.MerchantRegister;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.service.account.entity.MerchantRegister;
import java.time.LocalDateTime;
/**
* 激活码 服务层

View File

@ -1,4 +1,4 @@
package com.czg.service.account.service;
package com.czg.account.service;
/**
* @author Administrator

View File

@ -0,0 +1,19 @@
package com.czg.account.service;
import com.czg.account.dto.PageDTO;
import com.czg.account.dto.shopinfo.ShopInfoAddDTO;
import com.czg.account.dto.shopinfo.ShopInfoEditDTO;
import com.czg.account.entity.ShopInfo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
/**
* @author Administrator
*/
public interface ShopInfoService extends IService<ShopInfo> {
Page<ShopInfo> get(PageDTO pageDTO, String shopName, Integer status);
Boolean add(ShopInfoAddDTO shopInfoAddDTO);
Boolean edit(ShopInfoEditDTO shopInfoEditDTO);
}

View File

@ -0,0 +1,18 @@
package com.czg.account.service;
import com.czg.account.dto.merchant.ShopMerchantEditDTO;
import com.czg.account.entity.ShopMerchant;
import com.mybatisflex.core.service.IService;
/**
* 第三方商户进件 服务层
*
* @author Administrator
* @since 2025-02-11
*/
public interface ShopMerchantService extends IService<ShopMerchant> {
ShopMerchant detail();
Boolean edit(ShopMerchantEditDTO shopMerchantEditDTO);
}

View File

@ -1,6 +1,6 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.service.account.entity.ShopStaff;
import com.czg.account.entity.ShopStaff;
import com.mybatisflex.core.service.IService;
/**

View File

@ -1,6 +1,6 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.service.account.entity.ShopUser;
import com.czg.account.entity.ShopUser;
import com.mybatisflex.core.service.IService;
/**

View File

@ -1,7 +1,7 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.account.entity.SysMenu;
import com.mybatisflex.core.service.IService;
import com.czg.service.account.entity.SysMenu;
/**
* 系统菜单 服务层

View File

@ -1,11 +1,11 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.service.account.dto.PageDTO;
import com.czg.service.account.dto.role.RoleAddDTO;
import com.czg.service.account.dto.role.RoleEditDTO;
import com.czg.account.dto.PageDTO;
import com.czg.account.dto.role.RoleAddDTO;
import com.czg.account.dto.role.RoleEditDTO;
import com.czg.account.entity.SysRole;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.service.account.entity.SysRole;
import java.util.List;

View File

@ -1,7 +1,7 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.account.entity.SysRolesMenus;
import com.mybatisflex.core.service.IService;
import com.czg.service.account.entity.SysRolesMenus;
/**
* 角色菜单关联 服务层

View File

@ -1,7 +1,7 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.account.entity.SysUser;
import com.mybatisflex.core.service.IService;
import com.czg.service.account.entity.SysUser;
/**
* 系统用户 服务层

View File

@ -1,7 +1,7 @@
package com.czg.service.account.service;
package com.czg.account.service;
import com.czg.account.entity.SysUsersRoles;
import com.mybatisflex.core.service.IService;
import com.czg.service.account.entity.SysUsersRoles;
/**
* 用户角色关联 服务层

View File

@ -1,13 +1,13 @@
package com.czg.service.account.vo;
package com.czg.account.vo;
import cn.dev33.satoken.stp.SaTokenInfo;
import com.czg.service.account.entity.ShopInfo;
import com.czg.account.entity.ShopInfo;
import java.util.List;
public record LoginVO(
// token信息
SaTokenInfo tokenInfo,
Object tokenInfo,
// 接口权限集合
List<String> promissionList,
// 登录类型

View File

@ -1,6 +1,6 @@
package com.czg.service.account.vo;
package com.czg.account.vo;
import com.czg.service.account.entity.SysMenu;
import com.czg.account.entity.SysMenu;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,38 +0,0 @@
package com.czg.service.account.dto.shopinfo;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
/**
* @author Administrator
*/
public record ShopInfoAddDTO(
@NotEmpty(message = "店铺名称不为空")
String shopName,
@NotEmpty(message = "店铺类型不为空")
String shopType,
String chainName,
@NotEmpty(message = "店铺logo不为空")
String logo,
@NotEmpty(message = "门头照不为空")
String frontImg,
@NotEmpty(message = "试用/正式不为空")
String profiles,
@NotEmpty(message = "激活码不为空")
String activateCode,
@NotEmpty(message = "登录账号不为空")
String accountName,
@NotEmpty(message = "登录密码不为空")
String accountPwd,
@NotEmpty(message = "经度不为空")
String lat,
@NotEmpty(message = "纬度不为空")
String lng,
@NotNull(message = "状态不为空")
String detail,
@NotNull(message = "角色id不为空")
Long roleId,
String address,
String phone
) {
}

View File

@ -1,7 +1,7 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.MerchantRegister;
import com.mybatisflex.core.BaseMapper;
import com.czg.service.account.entity.MerchantRegister;
/**
* 激活码 映射层

View File

@ -1,6 +1,6 @@
package com.czg.service.account.mapper;
import com.czg.service.account.entity.ShopInfo;
import com.czg.account.entity.ShopInfo;
import com.mybatisflex.core.BaseMapper;
/**

View File

@ -0,0 +1,14 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.ShopMerchant;
import com.mybatisflex.core.BaseMapper;
/**
* 第三方商户进件 映射层
*
* @author Administrator
* @since 2025-02-11
*/
public interface ShopMerchantMapper extends BaseMapper<ShopMerchant> {
}

View File

@ -1,6 +1,6 @@
package com.czg.service.account.mapper;
import com.czg.service.account.entity.ShopStaff;
import com.czg.account.entity.ShopStaff;
import com.mybatisflex.core.BaseMapper;
/**

View File

@ -1,6 +1,6 @@
package com.czg.service.account.mapper;
import com.czg.service.account.entity.ShopUser;
import com.czg.account.entity.ShopUser;
import com.mybatisflex.core.BaseMapper;
/**

View File

@ -1,7 +1,7 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.SysMenu;
import com.mybatisflex.core.BaseMapper;
import com.czg.service.account.entity.SysMenu;
import org.apache.ibatis.annotations.Param;
import java.util.List;

View File

@ -1,7 +1,7 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.SysRole;
import com.mybatisflex.core.BaseMapper;
import com.czg.service.account.entity.SysRole;
import org.apache.ibatis.annotations.Param;
import java.util.List;

View File

@ -1,7 +1,7 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.SysRolesMenus;
import com.mybatisflex.core.BaseMapper;
import com.czg.service.account.entity.SysRolesMenus;
/**
* 角色菜单关联 映射层

View File

@ -1,7 +1,7 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.SysUser;
import com.mybatisflex.core.BaseMapper;
import com.czg.service.account.entity.SysUser;
/**
* 系统用户 映射层

View File

@ -1,7 +1,7 @@
package com.czg.service.account.mapper;
import com.czg.account.entity.SysUsersRoles;
import com.mybatisflex.core.BaseMapper;
import com.czg.service.account.entity.SysUsersRoles;
/**
* 用户角色关联 映射层

View File

@ -1,12 +0,0 @@
package com.czg.service.account.service;
import com.czg.service.account.dto.shopinfo.ShopInfoAddDTO;
import com.czg.service.account.entity.ShopInfo;
import com.mybatisflex.core.service.IService;
/**
* @author Administrator
*/
public interface ShopInfoService extends IService<ShopInfo> {
Object add(ShopInfoAddDTO shopInfoAddDTO);
}

View File

@ -1,113 +0,0 @@
package com.czg.service.account.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.czg.config.RedisCst;
import com.czg.service.RedisService;
import com.czg.service.account.dto.SysLoginDTO;
import com.czg.sa.StpKit;
import com.czg.service.account.entity.*;
import com.czg.service.account.mapper.SysMenuMapper;
import com.czg.service.account.service.*;
import com.czg.service.account.vo.LoginVO;
import com.wf.captcha.SpecCaptcha;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author Administrator
*/
@Service
public class AuthorizationServiceImpl implements AuthorizationService {
@Resource
private RedisService redisService;
@Resource
private SysUserService sysUserService;
@Resource
private ShopStaffService shopStaffService;
@Resource
private ShopInfoService shopInfoService;
@Resource
private SysRoleService sysRoleService;
@Resource
private SysMenuMapper sysMenuMapper;
@Override
public Object getCaptcha() {
// 生成验证码130x484位字符
SpecCaptcha captcha = new SpecCaptcha(130, 48, 4);
// 获取验证码文本
String code = captcha.text();
// 生成唯一的验证码 ID
String captchaKey = IdUtil.randomUUID();
redisService.set(RedisCst.LOGIN_CODE + captchaKey, code, 300);
// 返回 Base64 格式验证码
return Map.of("code", captcha.toBase64(), "uuid", captchaKey);
}
@Override
public LoginVO login(SysLoginDTO loginDTO) {
// Object code = redisService.get(RedisCst.LOGIN_CODE + loginDTO.uuid());
// if (!"666666".equals(loginDTO.code()) && code == null || !code.equals(loginDTO.code())) {
// throw new RuntimeException("验证码错误");
// }
SysUser user = sysUserService.queryChain().eq(SysUser::getAccount,loginDTO.username()).one();
if (user == null) {
throw new RuntimeException("账户不存在");
}
String md5 = SecureUtil.md5(user.getId() + loginDTO.password());
if (StrUtil.isBlank(user.getPassword()) || !user.getPassword().equals(md5)) {
throw new RuntimeException("账户或密码错误");
}
ShopInfo shopInfo;
// 商户员工登录
if (loginDTO.loginType() == 1) {
ShopStaff shopStaff = shopStaffService.queryChain().eq(ShopStaff::getStatus, 1)
.eq(ShopStaff::getIsManage, 1)
.eq(ShopStaff::getId, user.getId()).one();
if (shopStaff == null) {
throw new RuntimeException("账户未启用");
}
shopInfo = shopInfoService.getById(shopStaff.getShopId());
}else {
shopInfo = shopInfoService.getById(user.getId());
}
if (shopInfo == null) {
throw new RuntimeException("商户不存在");
}
// 过期时间校验
if (shopInfo.getExpireTime() != null) {
if ((DateUtil.date().toLocalDateTime().isBefore(shopInfo.getExpireTime()))) {
throw new RuntimeException("店铺已到期,请联系区域经理续费");
}
}
StpKit.ADMIN.login(user.getId());
StpKit.ADMIN.setAdmin(user.getIsAdmin());
// 查询角色
List<SysRole> roleList = sysRoleService.getByUserId(user.getId());
List<String> roleNames = roleList.stream().map(SysRole::getName).collect(Collectors.toList());
StpKit.ADMIN.addRoleList(roleNames);
// 权限赋予
List<String> promissionList = sysMenuMapper.selectByUserId(user.getId(), null).stream().map(SysMenu::getPermission).filter(StrUtil::isNotBlank).collect(Collectors.toList());
StpKit.ADMIN.addPermissionList(promissionList);
return new LoginVO(StpKit.ADMIN.getTokenInfo(), promissionList, loginDTO.loginType(), shopInfo);
}
}

View File

@ -1,62 +0,0 @@
package com.czg.service.account.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.czg.service.account.dto.PageDTO;
import com.czg.service.account.dto.register.MerchantRegisterDTO;
import com.czg.service.account.entity.SysRole;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.service.account.entity.MerchantRegister;
import com.czg.service.account.mapper.MerchantRegisterMapper;
import com.czg.service.account.service.MerchantRegisterService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import static com.mybatisflex.core.query.QueryMethods.column;
/**
* 激活码 服务层实现
*
* @author Administrator
* @since 2025-02-11
*/
@Service
public class MerchantRegisterServiceImpl extends ServiceImpl<MerchantRegisterMapper, MerchantRegister> implements MerchantRegisterService{
@Override
public Page<MerchantRegister> get(PageDTO pageDTO, Integer state, String startTime, String endTime) {
QueryWrapper queryWrapper = new QueryWrapper();
if (state != null) {
queryWrapper.eq(MerchantRegister::getStatus, state);
}
if (StrUtil.isNotBlank(startTime)) {
queryWrapper.ge(MerchantRegister::getCreateTime, DateUtil.parse(startTime).toLocalDateTime());
}
if (StrUtil.isNotBlank(endTime)) {
queryWrapper.le(MerchantRegister::getCreateTime, DateUtil.parse(endTime).toLocalDateTime());
}
return page(new Page<>(pageDTO.page(), pageDTO.size()), queryWrapper);
}
@Override
public Boolean add(MerchantRegisterDTO merchantRegisterDTO) {
ArrayList<MerchantRegister> registers = new ArrayList<>();
for (int i = 0; i < merchantRegisterDTO.num(); i++) {
MerchantRegister tbMerchantRegister = new MerchantRegister();
tbMerchantRegister.setRegisterCode(IdUtil.simpleUUID());
tbMerchantRegister.setStatus(0);
tbMerchantRegister.setPeriodMonth(merchantRegisterDTO.periodMonth());
registers.add(tbMerchantRegister);
}
return saveBatch(registers);
}
}

View File

@ -1,11 +0,0 @@
package com.czg.service.account.service.impl;
import com.czg.service.account.service.PermissionService;
import org.springframework.stereotype.Service;
/**
* @author zs
*/
@Service
public class PermissionServiceImpl implements PermissionService {
}

View File

@ -1,78 +0,0 @@
package com.czg.service.account.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.crypto.SecureUtil;
import com.czg.exception.CzgException;
import com.czg.sa.StpKit;
import com.czg.service.account.dto.shopinfo.ShopInfoAddDTO;
import com.czg.service.account.entity.*;
import com.czg.service.account.mapper.ShopInfoMapper;
import com.czg.service.account.service.*;
import com.czg.utils.AssertUtil;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
/**
* @author Administrator
*/
@Service
public class ShopInfoServiceImpl extends ServiceImpl<ShopInfoMapper, ShopInfo> implements ShopInfoService {
@Resource
private SysUserService sysUserService;
@Resource
private SysUsersRolesService sysUsersRolesService;
@Resource
private SysRoleService sysRoleService;
@Resource
private MerchantRegisterService merchantRegisterService;
@Override
@Transactional(rollbackFor = Exception.class)
public Object add(ShopInfoAddDTO shopInfoAddDTO) {
long count = sysUserService.queryChain().eq(SysUser::getAccount, shopInfoAddDTO.accountName()).count();
if (count > 0) {
throw new CzgException("账户已存在");
}
MerchantRegister merchantRegister = merchantRegisterService.queryChain().eq(MerchantRegister::getRegisterCode, shopInfoAddDTO.activateCode()).one();
AssertUtil.isNull(merchantRegister, "激活码不存在");
if (merchantRegister.getStatus() == 1) {
throw new CzgException("激活码已使用");
}
// 添加系统账号
SysUser sysUser = new SysUser();
sysUser.setAccount(shopInfoAddDTO.accountName());
sysUser.setNickName(shopInfoAddDTO.shopName());
sysUser.setPhone(shopInfoAddDTO.phone());
sysUser.setStauts(1);
sysUser.setCreateUserId(StpKit.ADMIN.getLoginIdAsLong());
sysUserService.save(sysUser);
sysUser.setPassword(SecureUtil.md5(sysUser.getId() + shopInfoAddDTO.accountPwd()));
sysUserService.updateById(sysUser);
// 绑定角色
long roleCount = sysRoleService.queryChain().eq(SysRole::getId, shopInfoAddDTO.roleId()).count();
if (roleCount == 0) {
throw new CzgException("角色不存在");
}
SysUsersRoles usersRoles = new SysUsersRoles();
usersRoles.setUserId(sysUser.getId());
usersRoles.setRoleId(shopInfoAddDTO.roleId());
sysUsersRolesService.save(usersRoles);
// 保存店铺信息
ShopInfo shopInfo = BeanUtil.copyProperties(shopInfoAddDTO, ShopInfo.class);
shopInfo.setId(sysUser.getId());
//设置激活码
shopInfo.setStatus(1);
shopInfo.setProfiles("release");
shopInfo.setExpireTime(DateUtil.offsetMonth(DateUtil.date(), merchantRegister.getPeriodMonth()).toLocalDateTime());
return save(shopInfo);
}
}

View File

@ -0,0 +1,39 @@
package com.czg.service.account.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.czg.account.dto.merchant.ShopMerchantEditDTO;
import com.czg.account.entity.ShopMerchant;
import com.czg.account.service.ShopMerchantService;
import com.czg.sa.StpKit;
import com.czg.service.account.mapper.ShopMerchantMapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 第三方商户进件 服务层实现
*
* @author Administrator
* @since 2025-02-11
*/
@Service
public class ShopMerchantServiceImpl extends ServiceImpl<ShopMerchantMapper, ShopMerchant> implements ShopMerchantService {
@Override
public ShopMerchant detail() {
ShopMerchant one = queryChain().eq(ShopMerchant::getShopId, StpKit.ADMIN.getLoginIdAsLong()).one();
return one == null ? new ShopMerchant() : one;
}
@Override
public Boolean edit(ShopMerchantEditDTO shopMerchantEditDTO) {
ShopMerchant shopMerchant = queryChain().eq(ShopMerchant::getShopId, StpKit.ADMIN.getLoginIdAsLong()).one();
if (shopMerchant == null) {
shopMerchant = new ShopMerchant();
shopMerchant.setShopId(StpKit.ADMIN.getLoginIdAsLong());
BeanUtil.copyProperties(shopMerchantEditDTO, shopMerchant);
return save(shopMerchant);
}
BeanUtil.copyProperties(shopMerchantEditDTO, shopMerchant);
return updateById(shopMerchant);
}
}

View File

@ -1,18 +0,0 @@
package com.czg.service.account.service.impl;
import com.czg.service.account.entity.ShopStaff;
import com.czg.service.account.mapper.ShopStaffMapper;
import com.czg.service.account.service.ShopStaffService;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 店铺员工 服务层实现
*
* @author Administrator
* @since 2025-02-10
*/
@Service
public class ShopStaffServiceImpl extends ServiceImpl<ShopStaffMapper, ShopStaff> implements ShopStaffService {
}

View File

@ -1,18 +0,0 @@
package com.czg.service.account.service.impl;
import com.czg.service.account.entity.ShopUser;
import com.czg.service.account.mapper.ShopUserMapper;
import com.czg.service.account.service.ShopUserService;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* 商户储值会员 服务层实现
*
* @author Administrator
* @since 2025-02-08
*/
@Service
public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> implements ShopUserService {
}

View File

@ -1,97 +0,0 @@
package com.czg.service.account.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.czg.sa.StpKit;
import com.czg.service.account.vo.MenuVO;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.service.account.entity.SysMenu;
import com.czg.service.account.mapper.SysMenuMapper;
import com.czg.service.account.service.SysMenuService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 系统菜单 服务层实现
*
* @author Administrator
* @since 2025-02-10
*/
@Service
public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> implements SysMenuService {
@Override
public Object getMenu() {
long sysUserId = StpKit.ADMIN.getLoginIdAsLong();
List<SysMenu> allMenus = mapper.selectByUserId(sysUserId, null);
List<MenuVO> rootMenus = new ArrayList<>();
List<MenuVO> allMenuVos = new ArrayList<>();
// 分类菜单和按钮并处理按钮的权限
for (SysMenu menu : allMenus) {
MenuVO menuVO = BeanUtil.copyProperties(menu, MenuVO.class);
// 如果是按钮类型添加权限标识集合到 permissions
if (menu.getType() == 2) {
// 获取按钮的权限标识集合
menuVO.setPermissions(getPermissionsForMenu(menu));
}
// 分类根菜单与所有菜单
if (menu.getPid() == null || menu.getPid() == 0) {
rootMenus.add(menuVO);
}
allMenuVos.add(menuVO);
}
// 给每个根菜单设置子菜单同时把按钮权限标识加入到 permissions
for (MenuVO rootMenu : rootMenus) {
buildSubMenus(rootMenu, allMenuVos);
}
return rootMenus;
}
// 递归构建子菜单按钮放在 permissions
private void buildSubMenus(MenuVO parentMenu, List<MenuVO> allMenus) {
List<MenuVO> children = new ArrayList<>();
// 存储该菜单的按钮权限
List<String> permissions = new ArrayList<>();
for (MenuVO menu : allMenus) {
// 如果是菜单且父级菜单ID匹配加入子菜单
if (menu.getPid() != null && menu.getPid().equals(parentMenu.getMenuId()) && menu.getType() != 2) {
children.add(menu);
// 递归查找子菜单
buildSubMenus(menu, allMenus);
}
// 如果是按钮类型直接放到权限集合中
if (menu.getPid() != null && menu.getPid().equals(parentMenu.getMenuId()) && menu.getType() == 2) {
// 将按钮的权限标识加入权限列表
permissions.addAll(getPermissionsForMenu(menu));
}
}
// 设置当前菜单的子菜单和权限
parentMenu.setChildren(children);
// 将按钮权限标识添加到菜单的权限中
parentMenu.setPermissions(permissions);
}
// 根据菜单获取权限标识这里假设你有权限标识的获取逻辑
private List<String> getPermissionsForMenu(SysMenu menu) {
List<String> permissions = new ArrayList<>();
// 你可以根据需求从数据库或其他地方获取权限标识
// 例如假设菜单表中有权限字段
if (menu.getPermission() != null) {
String[] permissionArray = menu.getPermission().split(",");
permissions.addAll(Arrays.asList(permissionArray));
}
return permissions;
}
}

View File

@ -1,126 +0,0 @@
package com.czg.service.account.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.czg.sa.StpKit;
import com.czg.service.account.dto.PageDTO;
import com.czg.service.account.dto.role.RoleAddDTO;
import com.czg.service.account.dto.role.RoleEditDTO;
import com.czg.service.account.entity.SysMenu;
import com.czg.service.account.entity.SysRolesMenus;
import com.czg.service.account.service.SysMenuService;
import com.czg.service.account.service.SysRolesMenusService;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.service.account.entity.SysRole;
import com.czg.service.account.mapper.SysRoleMapper;
import com.czg.service.account.service.SysRoleService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import static com.mybatisflex.core.query.QueryMethods.column;
/**
* 角色表 服务层实现
*
* @author Administrator
* @since 2025-02-08
*/
@Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService{
@Resource
private SysMenuService sysMenuService;
@Resource
private SysRolesMenusService sysRolesMenusService;
@Override
public List<SysRole> getByUserId(Long id) {
return mapper.selectByUserId(id);
}
@Override
public Page<SysRole> getList(PageDTO pageDTO, String key, String startTime, String endTime) {
QueryWrapper queryWrapper = new QueryWrapper();
if (!StpKit.ADMIN.isAdmin()) {
queryWrapper.eq(SysRole::getCreateUserId, StpKit.ADMIN.getLoginIdAsLong());
}
if (StrUtil.isNotBlank(key)) {
queryWrapper.and(column(SysRole::getName).like(key).or(column(SysRole::getDescription).like(key)));
}
if (StrUtil.isNotBlank(startTime)) {
queryWrapper.ge(SysRole::getCreateTime, DateUtil.parse(startTime));
}
if (StrUtil.isNotBlank(endTime)) {
queryWrapper.le(SysRole::getCreateTime, DateUtil.parse(endTime));
}
return page(new Page<>(pageDTO.page(), pageDTO.size()), queryWrapper);
}
public boolean addMenu(Long roleId, List<Long> menuIds) {
long count = sysMenuService.queryChain().in(SysMenu::getMenuId, menuIds).count();
if (count != menuIds.size()) {
throw new RuntimeException("菜单id包含错误id");
}
ArrayList<SysRolesMenus> rolesMenus = new ArrayList<>();
for (Long id : menuIds) {
rolesMenus.add(new SysRolesMenus(id, roleId));
}
return sysRolesMenusService.saveBatch(rolesMenus);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean add(RoleAddDTO roleAddDTO) {
long roleCount = queryChain().eq(SysRole::getName, roleAddDTO.name()).count();
if (roleCount > 0) {
throw new RuntimeException("此角色名称已存在");
}
SysRole sysRole = new SysRole();
sysRole.setName(roleAddDTO.name());
sysRole.setLevel(roleAddDTO.level());
sysRole.setDescription(roleAddDTO.description());
sysRole.setShopId(StpKit.ADMIN.getLoginIdAsLong());
sysRole.setCreateUserId(StpKit.ADMIN.getLoginIdAsLong());
sysRole.setCreateTime(DateUtil.date().toLocalDateTime());
boolean save = save(sysRole);
if (save) {
return addMenu(sysRole.getId(), roleAddDTO.menuIdList());
}
throw new RuntimeException("保存失败");
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean edit(RoleEditDTO roleEditDTO) {
SysRole role = queryChain().eq(SysRole::getId, roleEditDTO.id()).eq(SysRole::getCreateUserId, StpKit.ADMIN.getLoginIdAsLong()).one();
if (role == null) {
throw new RuntimeException("角色不存在");
}
long roleCount = queryChain().eq(SysRole::getName, roleEditDTO.name()).count();
if (roleCount > 0) {
throw new RuntimeException("此角色名称已存在");
}
BeanUtil.copyProperties(roleEditDTO, role);
boolean b = updateById(role);
if (b) {
sysRolesMenusService.updateChain().eq(SysRolesMenus::getRoleId, role.getId()).remove();
return addMenu(role.getId(), roleEditDTO.menuIdList());
}
throw new RuntimeException("保存失败");
}
}

View File

@ -1,18 +0,0 @@
package com.czg.service.account.service.impl;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.service.account.entity.SysRolesMenus;
import com.czg.service.account.mapper.SysRolesMenusMapper;
import com.czg.service.account.service.SysRolesMenusService;
import org.springframework.stereotype.Service;
/**
* 角色菜单关联 服务层实现
*
* @author Administrator
* @since 2025-02-10
*/
@Service
public class SysRolesMenusServiceImpl extends ServiceImpl<SysRolesMenusMapper, SysRolesMenus> implements SysRolesMenusService{
}

View File

@ -1,18 +0,0 @@
package com.czg.service.account.service.impl;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.service.account.entity.SysUser;
import com.czg.service.account.mapper.SysUserMapper;
import com.czg.service.account.service.SysUserService;
import org.springframework.stereotype.Service;
/**
* 系统用户 服务层实现
*
* @author Administrator
* @since 2025-02-08
*/
@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService{
}

View File

@ -1,18 +0,0 @@
package com.czg.service.account.service.impl;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.service.account.entity.SysUsersRoles;
import com.czg.service.account.mapper.SysUsersRolesMapper;
import com.czg.service.account.service.SysUsersRolesService;
import org.springframework.stereotype.Service;
/**
* 用户角色关联 服务层实现
*
* @author Administrator
* @since 2025-02-10
*/
@Service
public class SysUsersRolesServiceImpl extends ServiceImpl<SysUsersRolesMapper, SysUsersRoles> implements SysUsersRolesService{
}

View File

@ -0,0 +1,7 @@
<?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.czg.service.account.mapper.ShopMerchantMapper">
</mapper>

View File

@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.service.account.mapper.SysMenuMapper">
<select id="selectByUserId" resultType="com.czg.service.account.entity.SysMenu">
<select id="selectByUserId" resultType="com.czg.account.entity.SysMenu">
select c.*
from sys_users_roles as a
left join sys_roles_menus as b on a.role_id = b.role_id

View File

@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.service.account.mapper.SysRoleMapper">
<select id="selectByUserId" resultType="com.czg.service.account.entity.SysRole">
<select id="selectByUserId" resultType="com.czg.account.entity.SysRole">
select a.* from sys_role as a left join sys_users_roles as b on b.role_id=a.id where b.user_id=#{userId}
</select>
</mapper>

View File

@ -69,7 +69,7 @@ public class Main {
//设置表前缀和只生成哪些表setGenerateTable 未配置时生成所有表
globalConfig.getStrategyConfig()
.setTablePrefix("tb")
.setGenerateTable("tb_merchant_register");
.setGenerateTable("tb_shop_merchant");
//设置生成 entity 并启用 Lombok
globalConfig.enableEntity()