diff --git a/cash-api/account-server/src/main/java/com/czg/controller/AuthorizationController.java b/cash-api/account-server/src/main/java/com/czg/controller/AuthorizationController.java index e8a15718..92ef7a7a 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/AuthorizationController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/AuthorizationController.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + /** * @author Administrator */ @@ -31,4 +33,10 @@ public class AuthorizationController { public CzgResult login(@Validated SysLoginDTO loginDTO) { return CzgResult.success(authorizationService.login(loginDTO)); } + + @GetMapping("test") + public CzgResult login() { + StpKit.ADMIN.login(1); + return CzgResult.success(Map.of("token", StpKit.ADMIN.getTokenInfo())); + } } diff --git a/cash-api/account-server/src/main/java/com/czg/controller/RoleController.java b/cash-api/account-server/src/main/java/com/czg/controller/RoleController.java new file mode 100644 index 00000000..bc83d92c --- /dev/null +++ b/cash-api/account-server/src/main/java/com/czg/controller/RoleController.java @@ -0,0 +1,21 @@ +package com.czg.controller; + +import com.czg.annotation.SaAdminCheckPermission; +import com.czg.resp.CzgResult; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * + * 角色管理 + * @author Administrator + */ +@RestController +@RequestMapping("/role") +public class RoleController { + + @SaAdminCheckPermission(value = "role.add") + public CzgResult add() { + return null; + } +} diff --git a/cash-api/account-server/src/main/java/com/czg/controller/ShopInfoController.java b/cash-api/account-server/src/main/java/com/czg/controller/ShopInfoController.java index 7e770cc3..e71b94ee 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/ShopInfoController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/ShopInfoController.java @@ -1,12 +1,26 @@ package com.czg.controller; +import com.czg.resp.CzgResult; +import com.czg.service.ShopInfoService; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** + * 店铺管理 * @author Administrator */ @RestController @RequestMapping("shopInfo") public class ShopInfoController { + private final ShopInfoService shopInfoService; + + public ShopInfoController(ShopInfoService shopInfoService) { + this.shopInfoService = shopInfoService; + } + + @PostMapping + public CzgResult add() { + return null; + } } diff --git a/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java b/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java index 089628ef..87ce8e31 100644 --- a/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java +++ b/cash-api/system-server/src/main/java/com/czg/controller/FeignController.java @@ -1,5 +1,6 @@ package com.czg.controller; +import com.czg.sa.StpKit; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/cash-common/cash-common-sa-token/pom.xml b/cash-common/cash-common-sa-token/pom.xml index 3b3c3634..699135ba 100644 --- a/cash-common/cash-common-sa-token/pom.xml +++ b/cash-common/cash-common-sa-token/pom.xml @@ -18,6 +18,16 @@ + + + org.apache.commons + commons-pool2 + + + + cn.dev33 + sa-token-redis + cn.dev33 sa-token-spring-boot3-starter diff --git a/cash-dependencies/pom.xml b/cash-dependencies/pom.xml index 28d1f2b3..9d943828 100644 --- a/cash-dependencies/pom.xml +++ b/cash-dependencies/pom.xml @@ -52,6 +52,19 @@ + + + cn.dev33 + sa-token-redis + 1.40.0 + + + + org.apache.commons + commons-pool2 + 2.12.0 + + org.apache.tomcat.embed tomcat-embed-core diff --git a/cash-service/account-service/src/main/java/com/czg/dto/shopuser/ShopUserAddDTO.java b/cash-service/account-service/src/main/java/com/czg/dto/shopuser/ShopUserAddDTO.java new file mode 100644 index 00000000..bb05a417 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/dto/shopuser/ShopUserAddDTO.java @@ -0,0 +1,22 @@ +package com.czg.dto.shopuser; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; + +public record ShopUserAddDTO(@NotEmpty(message = "店铺名称不为空") String shopName, + @NotEmpty(message = "logo不为空") String logo, + @NotEmpty String profiles, + @NotNull(message = "店铺类型不为空") Integer shopType, + @NotEmpty(message = "经营模式不为空") String registerType, + @NotEmpty(message = "账号不为空") String loginName, + @NotEmpty(message = "密码不为空") String loginPwd, + @NotEmpty(message = "经度不为空") String lat, + @NotEmpty(message = "维度不为空") String lng, + @NotEmpty(message = "详细地址不为空") String address, + @NotNull(message = "店铺状态不为空") Integer status, + String detail, + String phone, + String activateCode, + String coverImg, + String chainName) { +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/ShopInfoService.java b/cash-service/account-service/src/main/java/com/czg/service/ShopInfoService.java new file mode 100644 index 00000000..c84d5743 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/ShopInfoService.java @@ -0,0 +1,7 @@ +package com.czg.service; + +/** + * @author Administrator + */ +public interface ShopInfoService { +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/entity/SysRole.java b/cash-service/account-service/src/main/java/com/czg/service/account/entity/SysRole.java new file mode 100644 index 00000000..e53ae210 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/entity/SysRole.java @@ -0,0 +1,81 @@ +package com.czg.service.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; + +/** + * 角色表 实体类。 + * + * @author Administrator + * @since 2025-02-08 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("sys_role") +public class SysRole implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * 角色级别 + */ + private Integer level; + + /** + * 商户id + */ + private Integer shopId; + + /** + * 描述 + */ + private String description; + + /** + * 创建者 + */ + private Long createUserId; + + /** + * 更新者 + */ + private Long updateUserId; + + /** + * 创建日期 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/entity/SysUser.java b/cash-service/account-service/src/main/java/com/czg/service/account/entity/SysUser.java new file mode 100644 index 00000000..e215a873 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/entity/SysUser.java @@ -0,0 +1,111 @@ +package com.czg.service.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; + +/** + * 系统用户 实体类。 + * + * @author Administrator + * @since 2025-02-08 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("sys_user") +public class SysUser implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 账号 + */ + private String account; + + /** + * 昵称 + */ + private String nickName; + + /** + * 性别 + */ + private String gender; + + /** + * 手机号码 + */ + private String phone; + + /** + * 邮箱 + */ + private String email; + + /** + * 头像 + */ + private String avatar; + + /** + * 密码 + */ + private String password; + + /** + * 是否为admin账号 + */ + private Boolean isAdmin; + + /** + * 状态:1启用、0禁用 + */ + private Integer stauts; + + /** + * 创建者 + */ + private Long createUserId; + + /** + * 更新者 + */ + private Long updateUserId; + + /** + * 修改密码的时间 + */ + private LocalDateTime pwdResetTime; + + /** + * 创建日期 + */ + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/entity/TbShopUser.java b/cash-service/account-service/src/main/java/com/czg/service/account/entity/TbShopUser.java new file mode 100644 index 00000000..a8a39900 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/entity/TbShopUser.java @@ -0,0 +1,111 @@ +package com.czg.service.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; + +/** + * 商户储值会员 实体类。 + * + * @author Administrator + * @since 2025-02-08 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_shop_user") +public class TbShopUser implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * (随机) + */ + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 店铺Id + */ + private Long shopId; + + /** + * 用户Id + */ + private Long userId; + + /** + * 账户积分 + */ + private Integer accountPoints; + + /** + * 钱包余额 + */ + private BigDecimal amount; + + /** + * 消费累计 + */ + private BigDecimal consumeAmount; + + /** + * 消费次数累计 + */ + private Integer consumeCount; + + /** + * 0-不可使用 1可使用 + */ + private Integer status; + + /** + * 是否会员, + */ + private Integer isVip; + + /** + * 会员编号 + */ + private String code; + + /** + * 会员码 + */ + private String dynamicCode; + + /** + * 最近一次积分变动时间 + */ + private LocalDateTime lastPointsChangeTime; + + /** + * 最近一次浮动积分 + */ + private Integer lastFloatPoints; + + /** + * 成为会员的时间 + */ + private LocalDateTime joinTime; + + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/SysRoleMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/SysRoleMapper.java new file mode 100644 index 00000000..5d17a041 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/SysRoleMapper.java @@ -0,0 +1,14 @@ +package com.czg.service.account.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.service.account.entity.SysRole; + +/** + * 角色表 映射层。 + * + * @author Administrator + * @since 2025-02-08 + */ +public interface SysRoleMapper extends BaseMapper { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/SysUserMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/SysUserMapper.java new file mode 100644 index 00000000..30769ca9 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/SysUserMapper.java @@ -0,0 +1,14 @@ +package com.czg.service.account.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.service.account.entity.SysUser; + +/** + * 系统用户 映射层。 + * + * @author Administrator + * @since 2025-02-08 + */ +public interface SysUserMapper extends BaseMapper { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/mapper/TbShopUserMapper.java b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/TbShopUserMapper.java new file mode 100644 index 00000000..bb17ffc3 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/mapper/TbShopUserMapper.java @@ -0,0 +1,14 @@ +package com.czg.service.account.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.service.account.entity.TbShopUser; + +/** + * 商户储值会员 映射层。 + * + * @author Administrator + * @since 2025-02-08 + */ +public interface TbShopUserMapper extends BaseMapper { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/SysRoleService.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/SysRoleService.java new file mode 100644 index 00000000..d9d14b7e --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/SysRoleService.java @@ -0,0 +1,14 @@ +package com.czg.service.account.service; + +import com.mybatisflex.core.service.IService; +import com.czg.service.account.entity.SysRole; + +/** + * 角色表 服务层。 + * + * @author Administrator + * @since 2025-02-08 + */ +public interface SysRoleService extends IService { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/SysUserService.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/SysUserService.java new file mode 100644 index 00000000..4cd7379c --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/SysUserService.java @@ -0,0 +1,14 @@ +package com.czg.service.account.service; + +import com.mybatisflex.core.service.IService; +import com.czg.service.account.entity.SysUser; + +/** + * 系统用户 服务层。 + * + * @author Administrator + * @since 2025-02-08 + */ +public interface SysUserService extends IService { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/TbShopUserService.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/TbShopUserService.java new file mode 100644 index 00000000..6174d657 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/TbShopUserService.java @@ -0,0 +1,14 @@ +package com.czg.service.account.service; + +import com.mybatisflex.core.service.IService; +import com.czg.service.account.entity.TbShopUser; + +/** + * 商户储值会员 服务层。 + * + * @author Administrator + * @since 2025-02-08 + */ +public interface TbShopUserService extends IService { + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java new file mode 100644 index 00000000..fad5f5c0 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysRoleServiceImpl.java @@ -0,0 +1,18 @@ +package com.czg.service.account.service.impl; + +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 org.springframework.stereotype.Service; + +/** + * 角色表 服务层实现。 + * + * @author Administrator + * @since 2025-02-08 + */ +@Service +public class SysRoleServiceImpl extends ServiceImpl implements SysRoleService{ + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java new file mode 100644 index 00000000..10b7d41e --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java @@ -0,0 +1,18 @@ +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 implements SysUserService{ + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/TbShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/TbShopUserServiceImpl.java new file mode 100644 index 00000000..65908d57 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/TbShopUserServiceImpl.java @@ -0,0 +1,18 @@ +package com.czg.service.account.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.service.account.entity.TbShopUser; +import com.czg.service.account.mapper.TbShopUserMapper; +import com.czg.service.account.service.TbShopUserService; +import org.springframework.stereotype.Service; + +/** + * 商户储值会员 服务层实现。 + * + * @author Administrator + * @since 2025-02-08 + */ +@Service +public class TbShopUserServiceImpl extends ServiceImpl implements TbShopUserService{ + +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/impl/AuthorizationServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/impl/AuthorizationServiceImpl.java index 22eee7dc..89fa31fd 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/impl/AuthorizationServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/impl/AuthorizationServiceImpl.java @@ -2,6 +2,7 @@ package com.czg.service.impl; import cn.hutool.core.util.IdUtil; import com.czg.dto.SysLoginDTO; +import com.czg.sa.StpKit; import com.czg.service.AuthorizationService; import com.wf.captcha.SpecCaptcha; import org.springframework.stereotype.Service; @@ -30,6 +31,7 @@ public class AuthorizationServiceImpl implements AuthorizationService { @Override public Object login(SysLoginDTO loginDTO) { - return null; + StpKit.ADMIN.login(1); + return Map.of("token", StpKit.ADMIN.getTokenInfo()); } } diff --git a/cash-service/account-service/src/main/java/com/czg/service/impl/ShopInfoServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/impl/ShopInfoServiceImpl.java new file mode 100644 index 00000000..03c5fe09 --- /dev/null +++ b/cash-service/account-service/src/main/java/com/czg/service/impl/ShopInfoServiceImpl.java @@ -0,0 +1,11 @@ +package com.czg.service.impl; + +import com.czg.service.ShopInfoService; +import org.springframework.stereotype.Service; + +/** + * @author Administrator + */ +@Service +public class ShopInfoServiceImpl implements ShopInfoService { +} diff --git a/cash-service/account-service/src/main/resources/mapper/SysRoleMapper.xml b/cash-service/account-service/src/main/resources/mapper/SysRoleMapper.xml new file mode 100644 index 00000000..148450c2 --- /dev/null +++ b/cash-service/account-service/src/main/resources/mapper/SysRoleMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/cash-service/account-service/src/main/resources/mapper/SysUserMapper.xml b/cash-service/account-service/src/main/resources/mapper/SysUserMapper.xml new file mode 100644 index 00000000..cd8ab06b --- /dev/null +++ b/cash-service/account-service/src/main/resources/mapper/SysUserMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/cash-service/account-service/src/main/resources/mapper/TbShopUserMapper.xml b/cash-service/account-service/src/main/resources/mapper/TbShopUserMapper.xml new file mode 100644 index 00000000..10414e49 --- /dev/null +++ b/cash-service/account-service/src/main/resources/mapper/TbShopUserMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/cash-service/code-generator/src/main/java/com/czg/Main.java b/cash-service/code-generator/src/main/java/com/czg/Main.java index eb0a80b8..5397962b 100644 --- a/cash-service/code-generator/src/main/java/com/czg/Main.java +++ b/cash-service/code-generator/src/main/java/com/czg/Main.java @@ -39,15 +39,15 @@ public class Main { GlobalConfig globalConfig = new GlobalConfig(); String currentWorkingDirectory = System.getProperty("user.dir"); - String projectPath = currentWorkingDirectory + "/cash-service/system-service"; -// String projectPath = currentWorkingDirectory + "/cash-service/account-service"; +// String projectPath = currentWorkingDirectory + "/cash-service/system-service"; + String projectPath = currentWorkingDirectory + "/cash-service/account-service"; // String projectPath = currentWorkingDirectory + "/cash-service/product-service"; // String projectPath = currentWorkingDirectory + "/cash-service/order-service"; //设置根包 globalConfig.getPackageConfig() .setSourceDir(projectPath + "/src/main/java") - .setBasePackage("com.czg.service.system"); + .setBasePackage("com.czg.service.account"); globalConfig.getServiceConfig() .setClassSuffix("Service") @@ -69,7 +69,7 @@ public class Main { //设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表 globalConfig.getStrategyConfig() .setTablePrefix("") - .setGenerateTable("sys_params"); + .setGenerateTable("tb_shop_user"); //设置生成 entity 并启用 Lombok globalConfig.enableEntity() @@ -93,11 +93,11 @@ public class Main { globalConfig.getStrategyConfig() .setColumnConfig(updateTime); - ColumnConfig deleted = new ColumnConfig(); - deleted.setColumnName("is_del"); - deleted.setLogicDelete(true); - globalConfig.getStrategyConfig() - .setColumnConfig(deleted); +// ColumnConfig deleted = new ColumnConfig(); +// deleted.setColumnName("is_del"); +// deleted.setLogicDelete(true); +// globalConfig.getStrategyConfig() +// .setColumnConfig(deleted); // ColumnConfig version = new ColumnConfig(); // version.setColumnName("version");