From 45f4118f98840ff098e94a5072a9f937d3810a1c Mon Sep 17 00:00:00 2001 From: 18582019636 <1657978663@qq.com> Date: 星期五, 21 六月 2024 12:00:03 +0800 Subject: [PATCH] feat: 代码初始化 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java | 70 -- ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Order.java | 12 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java | 87 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/WithdrawService.java | 4 ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java | 20 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/OrderService.java | 10 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java | 6 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/UserCollectVO.java | 3 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/EvaluateMapper.java | 2 ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml | 2 ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java | 8 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserCollectController.java | 10 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/EvaluateServiceImpl.java | 2 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java | 30 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java | 4 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java | 10 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml | 5 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserCollectService.java | 2 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/UserCollectMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictDataController.java | 36 - ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java | 15 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java | 14 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java | 24 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java | 60 -- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java | 68 -- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/config/MyDateObjectHandler.java | 10 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserRecipientService.java | 8 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java | 31 /dev/null | 69 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/EvaluateService.java | 2 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java | 10 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserRecipientServiceImpl.java | 25 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 28 - ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java | 4 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java | 84 +++ ruoyi-service/ruoyi-user/src/main/resources/mapper/user/UserCollectMapper.xml | 5 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java | 18 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java | 73 --- ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserCollectServiceImpl.java | 2 ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java | 8 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableRyFeignClients.java | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java | 142 ------ ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java | 7 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | 160 ------- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 59 -- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java | 13 48 files changed, 305 insertions(+), 977 deletions(-) diff --git a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java index 1da5305..84e9b47 100644 --- a/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java +++ b/ruoyi-api/ruoyi-api-admin/src/main/java/com/ruoyi/admin/api/feignClient/AdminClient.java @@ -25,7 +25,7 @@ * @param phone 手机号 * @return 订单信息 */ - @GetMapping(value = "/admin/order/queryList") + @GetMapping(value = "/order/queryList") R<List<Order>> queryList(@RequestParam("phone") String phone); /** @@ -34,7 +34,7 @@ * @param type 查询类型 * @return 详细数据 */ - @GetMapping(value = "/admin/agreement/dataInfo") + @GetMapping(value = "/agreement/dataInfo") R<Agreement> dataInfo(@RequestParam("type") Integer type); /** @@ -43,7 +43,7 @@ * @param changeDispatch 改派信息 * @return 详细数据 */ - @PostMapping(value = "/admin/changeDispatch/save") + @PostMapping(value = "/changeDispatch/save") R<Boolean> changeDispatchSave(@RequestBody ExchangeDispatch changeDispatch); /** @@ -51,7 +51,7 @@ * * @return 通知公告列表 */ - @GetMapping(value = "/admin/notices/list") + @GetMapping(value = "/notices/list") R<List<Notices>> noticesList(); /** @@ -59,7 +59,7 @@ * * @return 轮播图列表 */ - @GetMapping(value = "/admin/rotate/bannerList") + @GetMapping(value = "/rotate/bannerList") R<List<Rotate>> bannerList(); /** @@ -67,7 +67,7 @@ * * @return 服务优势列表 */ - @GetMapping(value = "/admin/advantage/advantageList") + @GetMapping(value = "/advantage/advantageList") R<List<ServeAdvantage>> advantageList(); /** @@ -75,7 +75,7 @@ * * @return 列表 */ - @GetMapping(value = "/admin/problem/problemList") + @GetMapping(value = "/problem/problemList") R<List<Problem>> problemList(); /** @@ -83,7 +83,7 @@ * * @return 奖品列表 */ - @GetMapping(value = "/admin/prize/list") + @GetMapping(value = "/prize/prizeList") R<List<Prize>> prizeList(); /** @@ -91,7 +91,7 @@ * * @return 操作结果 */ - @GetMapping(value = "/withdrawProcess") - R<WithdrawalSetting> withdrawProcess(); + @GetMapping(value = "/userManage/withdrawProcess") + R<WithdrawalSetting> withdrawProcess(); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java index 054fe84..18e0e24 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java @@ -48,22 +48,8 @@ public static final String CAPTCHA_CODE_KEY = "captcha_codes:"; /** - * 参数管理 cache key - */ - public static final String SYS_CONFIG_KEY = "sys_config:"; - - /** - * 字典管理 cache key - */ - public static final String SYS_DICT_KEY = "sys_dict:"; - - /** * 登录账户密码错误次数 redis key */ public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; - /** - * 登录IP黑名单 cache key - */ - public static final String SYS_LOGIN_BLACKIPLIST = SYS_CONFIG_KEY + "sys.login.blackIPList"; } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java index c07c3a8..fbac6e9 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java @@ -6,6 +6,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; + import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.Import; @@ -24,8 +25,7 @@ // 开启线程异步执行 @EnableAsync // 自动加载类 -@Import({ ApplicationConfig.class, FeignAutoConfiguration.class }) -public @interface EnableCustomConfig -{ +@Import({ApplicationConfig.class, FeignAutoConfiguration.class}) +public @interface EnableCustomConfig { } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableRyFeignClients.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableRyFeignClients.java index 4eb416e..08d449d 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableRyFeignClients.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableRyFeignClients.java @@ -1,23 +1,23 @@ package com.ruoyi.common.security.annotation; import org.springframework.cloud.openfeign.EnableFeignClients; + import java.lang.annotation.*; /** * 自定义feign注解 * 添加basePackages路径 - * + * * @author ruoyi */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @EnableFeignClients -public @interface EnableRyFeignClients -{ +public @interface EnableRyFeignClients { String[] value() default {}; - String[] basePackages() default { "com.ruoyi" }; + String[] basePackages() default {"com.ruoyi"}; Class<?>[] basePackageClasses() default {}; diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index ec3621d..28b3df6 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -130,7 +130,7 @@ * * @return 用户信息 */ - public LoginUser getLoginUserByUser() { + public LoginUserInfo getLoginUserByUser() { return getLoginUserByUser(ServletUtils.getRequest()); } @@ -159,7 +159,7 @@ * * @return 用户信息 */ - public LoginUser getLoginUserByUser(HttpServletRequest request) { + public LoginUserInfo getLoginUserByUser(HttpServletRequest request) { // 获取请求携带的令牌 String token = SecurityUtils.getToken(request); return getLoginUserByUser(token); @@ -200,8 +200,8 @@ * * @return 用户信息 */ - public LoginUser getLoginUserByUser(String token) { - LoginUser user = null; + public LoginUserInfo getLoginUserByUser(String token) { + LoginUserInfo user = null; try { if (StringUtils.isNotEmpty(token)) { String userkey = JwtUtils.getUserKeyByUser(token); diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/DictUtils.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/DictUtils.java deleted file mode 100644 index 167fd7d..0000000 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/utils/DictUtils.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.ruoyi.common.security.utils; - -import com.alibaba.fastjson2.JSONArray; -import com.ruoyi.common.core.constant.CacheConstants; -import com.ruoyi.common.core.utils.SpringUtils; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.redis.service.RedisService; -import com.ruoyi.system.api.domain.SysDictData; - -import java.util.Collection; -import java.util.List; - -/** - * 字典工具类 - * - * @author ruoyi - */ -public class DictUtils { - /** - * 设置字典缓存 - * - * @param key 参数键 - * @param dictDatas 字典数据列表 - */ - public static void setDictCache(String key, List<SysDictData> dictDatas) { - SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas); - } - - /** - * 获取字典缓存 - * - * @param key 参数键 - * @return dictDatas 字典数据列表 - */ - public static List<SysDictData> getDictCache(String key) { - JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key)); - if (StringUtils.isNotNull(arrayCache)) { - return arrayCache.toList(SysDictData.class); - } - return null; - } - - /** - * 删除指定字典缓存 - * - * @param key 字典键 - */ - public static void removeDictCache(String key) { - SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(key)); - } - - /** - * 清空字典缓存 - */ - public static void clearDictCache() { - Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(CacheConstants.SYS_DICT_KEY + "*"); - SpringUtils.getBean(RedisService.class).deleteObject(keys); - } - - /** - * 设置cache key - * - * @param configKey 参数键 - * @return 缓存键key - */ - public static String getCacheKey(String configKey) { - return CacheConstants.SYS_DICT_KEY + configKey; - } -} diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java index 83bb3d7..b799175 100644 --- a/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java +++ b/ruoyi-common/ruoyi-common-swagger/src/main/java/com/ruoyi/common/swagger/annotation/EnableCustomSwagger2.java @@ -6,15 +6,15 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; + import org.springframework.context.annotation.Import; import com.ruoyi.common.swagger.config.SwaggerAutoConfiguration; -@Target({ ElementType.TYPE }) +@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited -@Import({ SwaggerAutoConfiguration.class }) -public @interface EnableCustomSwagger2 -{ +@Import({SwaggerAutoConfiguration.class}) +public @interface EnableCustomSwagger2 { } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java index 3ab5c09..79545fa 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysConfigController.java @@ -2,17 +2,17 @@ import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -48,69 +48,4 @@ util.exportExcel(response, list, "参数数据"); } - /** - * 根据参数编号获取详细信息 - */ - @GetMapping(value = "/{configId}") - public AjaxResult getInfo(@PathVariable Long configId) { - return success(configService.selectConfigById(configId)); - } - - /** - * 根据参数键名查询参数值 - */ - @GetMapping(value = "/configKey/{configKey}") - public AjaxResult getConfigKey(@PathVariable String configKey) { - return success(configService.selectConfigByKey(configKey)); - } - - /** - * 新增参数配置 - */ - @RequiresPermissions("system:config:add") - @Log(title = "参数管理", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysConfig config) { - if (!configService.checkConfigKeyUnique(config)) { - return error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在"); - } - config.setCreateBy(SecurityUtils.getUsername()); - return toAjax(configService.insertConfig(config)); - } - - /** - * 修改参数配置 - */ - @RequiresPermissions("system:config:edit") - @Log(title = "参数管理", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysConfig config) { - if (!configService.checkConfigKeyUnique(config)) { - return error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在"); - } - config.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(configService.updateConfig(config)); - } - - /** - * 删除参数配置 - */ - @RequiresPermissions("system:config:remove") - @Log(title = "参数管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{configIds}") - public AjaxResult remove(@PathVariable Long[] configIds) { - configService.deleteConfigByIds(configIds); - return success(); - } - - /** - * 刷新参数缓存 - */ - @RequiresPermissions("system:config:remove") - @Log(title = "参数管理", businessType = BusinessType.CLEAN) - @DeleteMapping("/refreshCache") - public AjaxResult refreshCache() { - configService.resetConfigCache(); - return success(); - } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictDataController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictDataController.java index 4997714..ae9d63c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictDataController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictDataController.java @@ -8,12 +8,10 @@ import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.SysDictData; import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -67,41 +65,9 @@ public AjaxResult dictType(@PathVariable String dictType) { List<SysDictData> data = dictTypeService.selectDictDataByType(dictType); if (StringUtils.isNull(data)) { - data = new ArrayList<SysDictData>(); + data = new ArrayList<>(); } return success(data); } - /** - * 新增字典类型 - */ - @RequiresPermissions("system:dict:add") - @Log(title = "字典数据", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysDictData dict) { - dict.setCreateBy(SecurityUtils.getUsername()); - return toAjax(dictDataService.insertDictData(dict)); - } - - /** - * 修改保存字典类型 - */ - @RequiresPermissions("system:dict:edit") - @Log(title = "字典数据", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysDictData dict) { - dict.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(dictDataService.updateDictData(dict)); - } - - /** - * 删除字典类型 - */ - @RequiresPermissions("system:dict:remove") - @Log(title = "字典类型", businessType = BusinessType.DELETE) - @DeleteMapping("/{dictCodes}") - public AjaxResult remove(@PathVariable Long[] dictCodes) { - dictDataService.deleteDictDataByIds(dictCodes); - return success(); - } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java index 861c43a..25fca0a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java @@ -7,11 +7,9 @@ import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; -import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.SysDictType; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -54,62 +52,4 @@ return success(dictTypeService.selectDictTypeById(dictId)); } - /** - * 新增字典类型 - */ - @RequiresPermissions("system:dict:add") - @Log(title = "字典类型", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@Validated @RequestBody SysDictType dict) { - if (!dictTypeService.checkDictTypeUnique(dict)) { - return error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在"); - } - dict.setCreateBy(SecurityUtils.getUsername()); - return toAjax(dictTypeService.insertDictType(dict)); - } - - /** - * 修改字典类型 - */ - @RequiresPermissions("system:dict:edit") - @Log(title = "字典类型", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@Validated @RequestBody SysDictType dict) { - if (!dictTypeService.checkDictTypeUnique(dict)) { - return error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在"); - } - dict.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(dictTypeService.updateDictType(dict)); - } - - /** - * 删除字典类型 - */ - @RequiresPermissions("system:dict:remove") - @Log(title = "字典类型", businessType = BusinessType.DELETE) - @DeleteMapping("/{dictIds}") - public AjaxResult remove(@PathVariable Long[] dictIds) { - dictTypeService.deleteDictTypeByIds(dictIds); - return success(); - } - - /** - * 刷新字典缓存 - */ - @RequiresPermissions("system:dict:remove") - @Log(title = "字典类型", businessType = BusinessType.CLEAN) - @DeleteMapping("/refreshCache") - public AjaxResult refreshCache() { - dictTypeService.resetDictCache(); - return success(); - } - - /** - * 获取字典选择框列表 - */ - @GetMapping("/optionselect") - public AjaxResult optionselect() { - List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll(); - return success(dictTypes); - } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index c26b62a..cc075f5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -26,7 +26,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -110,17 +109,6 @@ util.exportExcel(response, list, "用户数据"); } - @Log(title = "用户管理", businessType = BusinessType.IMPORT) - @RequiresPermissions("system:user:import") - @PostMapping("/importData") - public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { - ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); - List<SysUser> userList = util.importExcel(file.getInputStream()); - String operName = SecurityUtils.getUsername(); - String message = userService.importUser(userList, updateSupport, operName); - return success(message); - } - @PostMapping("/importTemplate") public void importTemplate(HttpServletResponse response) { ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class); @@ -146,22 +134,6 @@ sysUserVo.setRole(roles); sysUserVo.setPermissions(permissions); return R.ok(sysUserVo); - } - - /** - * 注册用户信息 - */ - @InnerAuth - @PostMapping("/register") - public R<Boolean> register(@RequestBody SysUser sysUser) { - String username = sysUser.getNickName(); - if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { - return R.fail("当前系统没有开启注册功能!"); - } - if (!userService.checkUserNameUnique(sysUser)) { - return R.fail("保存用户'" + username + "'失败,注册账号已存在"); - } - return R.ok(userService.registerUser(sysUser)); } /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java index b004c59..86e66d8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java @@ -1,8 +1,9 @@ package com.ruoyi.system.mapper; -import java.util.List; -import org.apache.ibatis.annotations.Param; import com.ruoyi.system.api.domain.SysDictData; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 字典表 数据层 @@ -18,14 +19,6 @@ * @return 字典数据集合信息 */ public List<SysDictData> selectDictDataList(SysDictData dictData); - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ - public List<SysDictData> selectDictDataByType(String dictType); /** * 根据字典类型和字典键值查询字典数据信息 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java index 52a3b00..129c439 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java @@ -1,82 +1,22 @@ package com.ruoyi.system.service; -import java.util.List; import com.ruoyi.system.domain.SysConfig; + +import java.util.List; /** * 参数配置 服务层 - * + * * @author ruoyi */ -public interface ISysConfigService -{ - /** - * 查询参数配置信息 - * - * @param configId 参数配置ID - * @return 参数配置信息 - */ - public SysConfig selectConfigById(Long configId); - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数键名 - * @return 参数键值 - */ - public String selectConfigByKey(String configKey); - +public interface ISysConfigService { /** * 查询参数配置列表 - * + * * @param config 参数配置信息 * @return 参数配置集合 */ public List<SysConfig> selectConfigList(SysConfig config); - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int insertConfig(SysConfig config); - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - public int updateConfig(SysConfig config); - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - */ - public void deleteConfigByIds(Long[] configIds); - - /** - * 加载参数缓存数据 - */ - public void loadingConfigCache(); - - /** - * 清空参数缓存数据 - */ - public void clearConfigCache(); - - /** - * 重置参数缓存数据 - */ - public void resetConfigCache(); - - /** - * 校验参数键名是否唯一 - * - * @param config 参数信息 - * @return 结果 - */ - public boolean checkConfigKeyUnique(SysConfig config); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java index ba9d8ea..42c404c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java @@ -1,7 +1,8 @@ package com.ruoyi.system.service; -import java.util.List; import com.ruoyi.system.api.domain.SysDictData; + +import java.util.List; /** * 字典 业务层 @@ -19,15 +20,6 @@ public List<SysDictData> selectDictDataList(SysDictData dictData); /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - public String selectDictLabel(String dictType, String dictValue); - - /** * 根据字典数据ID查询信息 * * @param dictCode 字典数据ID @@ -35,12 +27,6 @@ */ public SysDictData selectDictDataById(Long dictCode); - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - */ - public void deleteDictDataByIds(Long[] dictCodes); /** * 新增保存字典数据信息 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java index ceb80e7..fc972c8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java @@ -1,34 +1,27 @@ package com.ruoyi.system.service; -import java.util.List; import com.ruoyi.system.api.domain.SysDictData; import com.ruoyi.system.api.domain.SysDictType; +import java.util.List; + /** * 字典 业务层 - * + * * @author ruoyi */ -public interface ISysDictTypeService -{ +public interface ISysDictTypeService { /** * 根据条件分页查询字典类型 - * + * * @param dictType 字典类型信息 * @return 字典类型集合信息 */ public List<SysDictType> selectDictTypeList(SysDictType dictType); /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - public List<SysDictType> selectDictTypeAll(); - - /** * 根据字典类型查询字典数据 - * + * * @param dictType 字典类型 * @return 字典数据集合信息 */ @@ -36,63 +29,16 @@ /** * 根据字典类型ID查询信息 - * + * * @param dictId 字典类型ID * @return 字典类型 */ public SysDictType selectDictTypeById(Long dictId); - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - public SysDictType selectDictTypeByType(String dictType); - - /** - * 批量删除字典信息 - * - * @param dictIds 需要删除的字典ID - */ - public void deleteDictTypeByIds(Long[] dictIds); /** * 加载字典缓存数据 */ public void loadingDictCache(); - /** - * 清空字典缓存数据 - */ - public void clearDictCache(); - - /** - * 重置字典缓存数据 - */ - public void resetDictCache(); - - /** - * 新增保存字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int insertDictType(SysDictType dictType); - - /** - * 修改保存字典类型信息 - * - * @param dictType 字典类型信息 - * @return 结果 - */ - public int updateDictType(SysDictType dictType); - - /** - * 校验字典类型称是否唯一 - * - * @param dictType 字典类型 - * @return 结果 - */ - public boolean checkDictTypeUnique(SysDictType dictType); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 1ee3144..e7acfe2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -164,16 +164,6 @@ public int deleteUserByIds(Long[] userIds); /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 - * @return 结果 - */ - public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName); - - /** * 后台账号管理分页查询 * * @param nickName 账号名称 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index b9c90d0..a090d09 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -1,19 +1,11 @@ package com.ruoyi.system.service.impl; -import com.ruoyi.common.core.constant.CacheConstants; -import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.text.Convert; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; -import java.util.Collection; import java.util.List; /** @@ -26,52 +18,6 @@ @Autowired private SysConfigMapper configMapper; - @Autowired - private RedisService redisService; - - /** - * 项目启动时,初始化参数到缓存 - */ - @PostConstruct - public void init() { - loadingConfigCache(); - } - - /** - * 查询参数配置信息 - * - * @param configId 参数配置ID - * @return 参数配置信息 - */ - @Override - public SysConfig selectConfigById(Long configId) { - SysConfig config = new SysConfig(); - config.setConfigId(configId); - return configMapper.selectConfig(config); - } - - /** - * 根据键名查询参数配置信息 - * - * @param configKey 参数key - * @return 参数键值 - */ - @Override - public String selectConfigByKey(String configKey) { - String configValue = Convert.toStr(redisService.getCacheObject(getCacheKey(configKey))); - if (StringUtils.isNotEmpty(configValue)) { - return configValue; - } - SysConfig config = new SysConfig(); - config.setConfigKey(configKey); - SysConfig retConfig = configMapper.selectConfig(config); - if (StringUtils.isNotNull(retConfig)) { - redisService.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue()); - return retConfig.getConfigValue(); - } - return StringUtils.EMPTY; - } - /** * 查询参数配置列表 * @@ -83,110 +29,4 @@ return configMapper.selectConfigList(config); } - /** - * 新增参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public int insertConfig(SysConfig config) { - int row = configMapper.insertConfig(config); - if (row > 0) { - redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - return row; - } - - /** - * 修改参数配置 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public int updateConfig(SysConfig config) { - SysConfig temp = configMapper.selectConfigById(config.getConfigId()); - if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) { - redisService.deleteObject(getCacheKey(temp.getConfigKey())); - } - - int row = configMapper.updateConfig(config); - if (row > 0) { - redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - return row; - } - - /** - * 批量删除参数信息 - * - * @param configIds 需要删除的参数ID - */ - @Override - public void deleteConfigByIds(Long[] configIds) { - for (Long configId : configIds) { - SysConfig config = selectConfigById(configId); - if (StringUtils.equals(UserConstants.YES, config.getConfigType())) { - throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); - } - configMapper.deleteConfigById(configId); - redisService.deleteObject(getCacheKey(config.getConfigKey())); - } - } - - /** - * 加载参数缓存数据 - */ - @Override - public void loadingConfigCache() { - List<SysConfig> configsList = configMapper.selectConfigList(new SysConfig()); - for (SysConfig config : configsList) { - redisService.setCacheObject(getCacheKey(config.getConfigKey()), config.getConfigValue()); - } - } - - /** - * 清空参数缓存数据 - */ - @Override - public void clearConfigCache() { - Collection<String> keys = redisService.keys(CacheConstants.SYS_CONFIG_KEY + "*"); - redisService.deleteObject(keys); - } - - /** - * 重置参数缓存数据 - */ - @Override - public void resetConfigCache() { - clearConfigCache(); - loadingConfigCache(); - } - - /** - * 校验参数键名是否唯一 - * - * @param config 参数配置信息 - * @return 结果 - */ - @Override - public boolean checkConfigKeyUnique(SysConfig config) { - Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId(); - SysConfig info = configMapper.checkConfigKeyUnique(config.getConfigKey()); - if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } - - /** - * 设置cache key - * - * @param configKey 参数键 - * @return 缓存键key - */ - private String getCacheKey(String configKey) { - return CacheConstants.SYS_CONFIG_KEY + configKey; - } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java index a40666f..18db93a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java @@ -1,111 +1,52 @@ package com.ruoyi.system.service.impl; -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.common.security.utils.DictUtils; import com.ruoyi.system.api.domain.SysDictData; import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.service.ISysDictDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; /** * 字典 业务层处理 - * + * * @author ruoyi */ @Service -public class SysDictDataServiceImpl implements ISysDictDataService -{ +public class SysDictDataServiceImpl implements ISysDictDataService { @Autowired private SysDictDataMapper dictDataMapper; /** * 根据条件分页查询字典数据 - * + * * @param dictData 字典数据信息 * @return 字典数据集合信息 */ @Override - public List<SysDictData> selectDictDataList(SysDictData dictData) - { + public List<SysDictData> selectDictDataList(SysDictData dictData) { return dictDataMapper.selectDictDataList(dictData); } /** - * 根据字典类型和字典键值查询字典数据信息 - * - * @param dictType 字典类型 - * @param dictValue 字典键值 - * @return 字典标签 - */ - @Override - public String selectDictLabel(String dictType, String dictValue) - { - return dictDataMapper.selectDictLabel(dictType, dictValue); - } - - /** * 根据字典数据ID查询信息 - * + * * @param dictCode 字典数据ID * @return 字典数据 */ @Override - public SysDictData selectDictDataById(Long dictCode) - { + public SysDictData selectDictDataById(Long dictCode) { return dictDataMapper.selectDictDataById(dictCode); } - /** - * 批量删除字典数据信息 - * - * @param dictCodes 需要删除的字典数据ID - */ @Override - public void deleteDictDataByIds(Long[] dictCodes) - { - for (Long dictCode : dictCodes) - { - SysDictData data = selectDictDataById(dictCode); - dictDataMapper.deleteDictDataById(dictCode); - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } + public int insertDictData(SysDictData dictData) { + return 0; } - /** - * 新增保存字典数据信息 - * - * @param data 字典数据信息 - * @return 结果 - */ @Override - public int insertDictData(SysDictData data) - { - int row = dictDataMapper.insertDictData(data); - if (row > 0) - { - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - return row; - } - - /** - * 修改保存字典数据信息 - * - * @param data 字典数据信息 - * @return 结果 - */ - @Override - public int updateDictData(SysDictData data) - { - int row = dictDataMapper.updateDictData(data); - if (row > 0) - { - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(data.getDictType()); - DictUtils.setDictCache(data.getDictType(), dictDatas); - } - return row; + public int updateDictData(SysDictData dictData) { + return 0; } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java index 09549d7..6d6d44d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java @@ -1,23 +1,14 @@ package com.ruoyi.system.service.impl; -import com.ruoyi.common.core.constant.UserConstants; -import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.security.utils.DictUtils; import com.ruoyi.system.api.domain.SysDictData; import com.ruoyi.system.api.domain.SysDictType; -import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.mapper.SysDictTypeMapper; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; -import java.util.Comparator; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /** * 字典 业务层处理 @@ -28,9 +19,6 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService { @Autowired private SysDictTypeMapper dictTypeMapper; - - @Autowired - private SysDictDataMapper dictDataMapper; /** * 项目启动时,初始化字典到缓存 @@ -51,35 +39,11 @@ return dictTypeMapper.selectDictTypeList(dictType); } - /** - * 根据所有字典类型 - * - * @return 字典类型集合信息 - */ - @Override - public List<SysDictType> selectDictTypeAll() { - return dictTypeMapper.selectDictTypeAll(); - } - - /** - * 根据字典类型查询字典数据 - * - * @param dictType 字典类型 - * @return 字典数据集合信息 - */ @Override public List<SysDictData> selectDictDataByType(String dictType) { - List<SysDictData> dictDatas = DictUtils.getDictCache(dictType); - if (StringUtils.isNotEmpty(dictDatas)) { - return dictDatas; - } - dictDatas = dictDataMapper.selectDictDataByType(dictType); - if (StringUtils.isNotEmpty(dictDatas)) { - DictUtils.setDictCache(dictType, dictDatas); - return dictDatas; - } return null; } + /** * 根据字典类型ID查询信息 @@ -92,111 +56,9 @@ return dictTypeMapper.selectDictTypeById(dictId); } - /** - * 根据字典类型查询信息 - * - * @param dictType 字典类型 - * @return 字典类型 - */ - @Override - public SysDictType selectDictTypeByType(String dictType) { - return dictTypeMapper.selectDictTypeByType(dictType); - } - - /** - * 批量删除字典类型信息 - * - * @param dictIds 需要删除的字典ID - */ - @Override - public void deleteDictTypeByIds(Long[] dictIds) { - for (Long dictId : dictIds) { - SysDictType dictType = selectDictTypeById(dictId); - if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) { - throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); - } - dictTypeMapper.deleteDictTypeById(dictId); - DictUtils.removeDictCache(dictType.getDictType()); - } - } - - /** - * 加载字典缓存数据 - */ @Override public void loadingDictCache() { - SysDictData dictData = new SysDictData(); - dictData.setStatus("0"); - Map<String, List<SysDictData>> dictDataMap = dictDataMapper.selectDictDataList(dictData).stream().collect(Collectors.groupingBy(SysDictData::getDictType)); - for (Map.Entry<String, List<SysDictData>> entry : dictDataMap.entrySet()) { - DictUtils.setDictCache(entry.getKey(), entry.getValue().stream().sorted(Comparator.comparing(SysDictData::getDictSort)).collect(Collectors.toList())); - } + } - /** - * 清空字典缓存数据 - */ - @Override - public void clearDictCache() { - DictUtils.clearDictCache(); - } - - /** - * 重置字典缓存数据 - */ - @Override - public void resetDictCache() { - clearDictCache(); - loadingDictCache(); - } - - /** - * 新增保存字典类型信息 - * - * @param dict 字典类型信息 - * @return 结果 - */ - @Override - public int insertDictType(SysDictType dict) { - int row = dictTypeMapper.insertDictType(dict); - if (row > 0) { - DictUtils.setDictCache(dict.getDictType(), null); - } - return row; - } - - /** - * 修改保存字典类型信息 - * - * @param dict 字典类型信息 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public int updateDictType(SysDictType dict) { - SysDictType oldDict = dictTypeMapper.selectDictTypeById(dict.getDictId()); - dictDataMapper.updateDictDataType(oldDict.getDictType(), dict.getDictType()); - int row = dictTypeMapper.updateDictType(dict); - if (row > 0) { - List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dict.getDictType()); - DictUtils.setDictCache(dict.getDictType(), dictDatas); - } - return row; - } - - /** - * 校验字典类型称是否唯一 - * - * @param dict 字典类型 - * @return 结果 - */ - @Override - public boolean checkDictTypeUnique(SysDictType dict) { - Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId(); - SysDictType dictType = dictTypeMapper.checkDictTypeUnique(dict.getDictType()); - if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) { - return UserConstants.NOT_UNIQUE; - } - return UserConstants.UNIQUE; - } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 0c112e4..fef71c0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -7,7 +7,6 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.common.core.utils.bean.BeanValidators; import com.ruoyi.common.datascope.annotation.DataScope; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.SysRole; @@ -338,64 +337,6 @@ // 删除用户与岗位关联 userPostMapper.deleteUserPost(userIds); return userMapper.deleteUserByIds(userIds); - } - - /** - * 导入用户数据 - * - * @param userList 用户数据列表 - * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 - * @param operName 操作用户 - * @return 结果 - */ - @Override - public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) { - if (StringUtils.isNull(userList) || userList.size() == 0) { - throw new ServiceException("导入用户数据不能为空!"); - } - int successNum = 0; - int failureNum = 0; - StringBuilder successMsg = new StringBuilder(); - StringBuilder failureMsg = new StringBuilder(); - String password = configService.selectConfigByKey("sys.user.initPassword"); - for (SysUser user : userList) { - try { - // 验证是否存在这个用户 - SysUser u = userMapper.selectUserByUserName(user.getNickName()); - if (StringUtils.isNull(u)) { - BeanValidators.validateWithException(validator, user); - user.setPassword(SecurityUtils.encryptPassword(password)); - user.setCreateBy(operName); - userMapper.insertUser(user); - successNum++; - successMsg.append("<br/>" + successNum + "、账号 " + user.getNickName() + " 导入成功"); - } else if (isUpdateSupport) { - BeanValidators.validateWithException(validator, user); - checkUserAllowed(u); - checkUserDataScope(u.getUserId()); - user.setUserId(u.getUserId()); - user.setUpdateBy(operName); - userMapper.updateUser(user); - successNum++; - successMsg.append("<br/>" + successNum + "、账号 " + user.getNickName() + " 更新成功"); - } else { - failureNum++; - failureMsg.append("<br/>" + failureNum + "、账号 " + user.getNickName() + " 已存在"); - } - } catch (Exception e) { - failureNum++; - String msg = "<br/>" + failureNum + "、账号 " + user.getNickName() + " 导入失败:"; - failureMsg.append(msg + e.getMessage()); - log.error(msg, e); - } - } - if (failureNum > 0) { - failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ServiceException(failureMsg.toString()); - } else { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); - } - return successMsg.toString(); } @Override diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml index 7f0d26d..98e9da1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -41,11 +41,6 @@ order by dict_sort asc </select> - <select id="selectDictDataByType" parameterType="com.ruoyi.system.api.domain.SysDictData" resultMap="SysDictDataResult"> - <include refid="selectDictDataVo"/> - where status = '0' and dict_type = #{dictType} order by dict_sort asc - </select> - <select id="selectDictLabel" resultType="String"> select dict_label from sys_dict_data where dict_type = #{dictType} and dict_value = #{dictValue} diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java index 3c2ea31..c978062 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Order.java @@ -118,6 +118,10 @@ @TableField("complete_time") private Date completeTime; + @ApiModelProperty("订单补贴金额") + @TableField("subsidy") + private BigDecimal subsidy; + @ApiModelProperty("是否已提现(0:未提现,1:已提现)") @TableField("is_withdrawal") private Integer isWithdrawal; diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/config/MyDateObjectHandler.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/config/MyDateObjectHandler.java index 6444df6..c8c363a 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/config/MyDateObjectHandler.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/config/MyDateObjectHandler.java @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; @@ -26,8 +26,8 @@ */ @Override public void insertFill(MetaObject metaObject) { - LoginUser loginUser = tokenService.getLoginUserByUser(); - String userName = null == loginUser ? "" : loginUser.getUsername(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + String userName = null == loginUser ? "" : loginUser.getName(); // 创建时间 this.setFieldValByName("createTime", new Date(), metaObject); // 更新时间 @@ -42,8 +42,8 @@ @Override public void updateFill(MetaObject metaObject) { - LoginUser loginUser = tokenService.getLoginUserByUser(); - String userName = null == loginUser ? "" : loginUser.getUsername(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + String userName = null == loginUser ? "" : loginUser.getName(); // 修改时间为当前时间 this.setFieldValByName("updateTime", new Date(), metaObject); this.setFieldValByName("updateBy", userName, metaObject); diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java index d16338f..36ceb27 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/EvaluateController.java @@ -5,6 +5,7 @@ import com.ruoyi.common.core.exception.GlobalException; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.Evaluate; import com.ruoyi.user.entity.Order; import com.ruoyi.user.request.OrderEvaluateRequest; @@ -43,7 +44,7 @@ @GetMapping("/orderEvaluate") @ApiOperation(value = "订单评价列表", tags = {"用户端-个人中心"}) public R<List<OrderEvaluateVO>> orderEvaluate() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -63,7 +64,7 @@ String content = orderEvaluate.getContent(); BigDecimal starRating = orderEvaluate.getStarRating(); String serveNo = orderEvaluate.getServeNo(); - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -73,7 +74,7 @@ throw new GlobalException("订单异常!"); } Evaluate evaluate = new Evaluate(); - evaluate.setUserId(loginUser.getUserid().intValue()); + evaluate.setUserId(loginUser.getUserid()); evaluate.setOrderId(orderId); evaluate.setContent(content); evaluate.setWorkerId(order.getServerId()); diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java index 4214a41..864ccc5 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/OrderController.java @@ -6,6 +6,9 @@ import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.GlobalException; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.Order; import com.ruoyi.user.entity.ServeRecord; import com.ruoyi.user.request.OrderRequest; @@ -40,6 +43,8 @@ private ServeRecordService serveRecordService; @Resource private AdminClient adminClient; + @Resource + private TokenService tokenService; @GetMapping("/detail") @ApiOperation(value = "订单详情", tags = {"用户端-订单"}) @@ -86,9 +91,15 @@ } @PostMapping("/placeOrder") - @ApiOperation(value = "下单", tags = {"用户端-订单"}) + @ApiOperation(value = "用户下单", tags = {"用户端-订单"}) public R<String> placeOrder(@RequestBody OrderRequest orderRequest) { - return R.ok(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } + Boolean result = orderService.placeOrder(orderRequest, loginUser.getUserid()); + return result ? R.ok() : R.fail(); } + } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java index 04319dd..c6b81ad 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/RecoveryServeController.java @@ -52,7 +52,7 @@ }) public R<RecoveryServe> serveDetail(@RequestParam Integer serveId) { return R.ok(recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) - .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getOrder).one()); + .eq(RecoveryServe::getIsDelete, 0).orderByAsc(RecoveryServe::getSort).one()); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserCollectController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserCollectController.java index d170c55..61d15f3 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserCollectController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserCollectController.java @@ -3,7 +3,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.UserCollect; import com.ruoyi.user.service.UserCollectService; import com.ruoyi.user.vo.UserCollectVO; @@ -46,11 +46,11 @@ @ApiImplicitParam(value = "服务id", name = "serveId", dataType = "Integer", required = true) }) public R<Boolean> serveDetail(@RequestParam Integer serveId) { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } - UserCollect userCollect = new UserCollect(loginUser.getUserid().intValue(), serveId); + UserCollect userCollect = new UserCollect(loginUser.getUserid(), serveId); return R.ok(userCollectService.save(userCollect)); } @@ -63,7 +63,7 @@ @ApiImplicitParam(value = "收藏记录id", name = "collectId", dataType = "Integer", required = true) }) public R<Boolean> cancelCollect(@RequestParam Integer collectId) { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -77,7 +77,7 @@ @GetMapping(value = "/collectList") @ApiOperation(value = "服务收藏列表", tags = {"用户端-收藏"}) public R<List<UserCollectVO>> collectList() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java index 229276a..2551710 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserController.java @@ -12,7 +12,6 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.RecoveryClassify; import com.ruoyi.user.entity.RecoveryServe; @@ -80,16 +79,19 @@ public R<Object> phoneCodeLogin(@RequestBody @Validated LoginPhoneRequest loginPhoneRequest) { String phone = loginPhoneRequest.getPhone(); String phoneCode = loginPhoneRequest.getPhoneCode(); - // 手机验证码校验获取缓存验证码 - Object phoneCodeRedis = redisService.getCacheObject(RedisConstants.USER_LOGIN_PHONE_CODE + phone); - if (null == phoneCodeRedis) { - return R.errorCode("登录失败,验证码已过期!"); - } else { - // redis 验证码的value 为 code:时间戳 - String rCodeAndTime = String.valueOf(phoneCodeRedis); - String rCode = rCodeAndTime.split(":")[0]; - if (!rCode.equalsIgnoreCase(phoneCode)) { - return R.errorCode("登录失败,验证码无效!"); + // 默认验证码 123456 + if (!"123456".equals(phoneCode)) { + // 手机验证码校验获取缓存验证码 + Object phoneCodeRedis = redisService.getCacheObject(RedisConstants.USER_LOGIN_PHONE_CODE + phone); + if (null == phoneCodeRedis) { + return R.errorCode("登录失败,验证码已过期!"); + } else { + // redis 验证码的value 为 code:时间戳 + String rCodeAndTime = String.valueOf(phoneCodeRedis); + String rCode = rCodeAndTime.split(":")[0]; + if (!rCode.equalsIgnoreCase(phoneCode)) { + return R.errorCode("登录失败,验证码无效!"); + } } } // 用户账号校验 @@ -104,6 +106,7 @@ // 随机编号 user.setUserNo(String.format(Constants.USER_NO_PRE, RandomUtil.randomNumbers(Constants.EIGHT))); user.setState(Constants.ONE); + user.setNickname(phone); user.setPhone(phone); user.setCity(loginPhoneRequest.getCity()); user.setOpenId(loginPhoneRequest.getOpenId()); @@ -112,7 +115,7 @@ } // 校验通过,生成token及过期时间 LoginUserInfo loginUserInfo = new LoginUserInfo(); - loginUserInfo.setName(user.getNickname()); + loginUserInfo.setName(user.getPhone()); loginUserInfo.setUserid(user.getId()); loginUserInfo.setPhone(user.getPhone()); loginUserInfo.setLoginTime(System.currentTimeMillis()); @@ -193,7 +196,7 @@ public R<List<RecoveryServe>> recoverySearch(@RequestParam String keyword) { LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery() .eq(RecoveryServe::getIsDelete, 0) - .orderByAsc(RecoveryServe::getOrder); + .orderByAsc(RecoveryServe::getSort); wrapper = StringUtils.isNotBlank(keyword) ? wrapper.like(RecoveryServe::getServeName, keyword) : wrapper; return R.ok(wrapper.list()); } @@ -204,7 +207,7 @@ @ApiOperation(value = "个人中心用户信息", tags = {"用户端-个人中心"}) @GetMapping(value = "/userInfo") public R<User> userInfo() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java index 0a70ac8..c7662a8 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/UserRecipientController.java @@ -4,7 +4,7 @@ import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.UserRecipient; import com.ruoyi.user.service.UserRecipientService; import io.swagger.annotations.Api; @@ -40,7 +40,7 @@ @GetMapping(value = "/list") @ApiOperation(value = "收货地址列表", tags = {"用户端-收货地址管理"}) public R<List<UserRecipient>> list() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -74,12 +74,14 @@ @ApiOperation(value = "新增收货地址", tags = {"用户端-收货地址管理"}) @PostMapping(value = "/save") public R<String> save(@RequestBody UserRecipient userRecipient) { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } - userRecipient.setUserId(loginUser.getUserid().intValue()); - return recipientService.save(userRecipient) ? R.ok() : R.fail(); + userRecipient.setUserId(loginUser.getUserid()); + // 当前新增收货地址为默认地址时 + boolean result = recipientService.updateBatchAddress(userRecipient, loginUser.getUserid()); + return result && recipientService.save(userRecipient) ? R.ok() : R.fail(); } /** @@ -91,7 +93,13 @@ @ApiOperation(value = "修改收货地址", tags = {"用户端-收货地址管理"}) @PostMapping(value = "/update") public R<String> update(@RequestBody UserRecipient userRecipient) { - return recipientService.updateById(userRecipient) ? R.ok() : R.fail(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } + // 当前修改收货地址为默认地址时 + boolean result = recipientService.updateBatchAddress(userRecipient, loginUser.getUserid()); + return result && recipientService.updateById(userRecipient) ? R.ok() : R.fail(); } /** @@ -105,6 +113,10 @@ @ApiImplicitParam(value = "收货地址id", name = "id", dataType = "String", required = true) }) public R<String> batchDelete(@RequestParam Integer id) { + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); + if (null == loginUser) { + return R.loginExpire("登录失效!"); + } return recipientService.lambdaUpdate().set(UserRecipient::getIsDelete, Constants.ONE) .eq(UserRecipient::getId, id).update() ? R.ok() : R.fail(); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java index fe44f94..0c89e0f 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/controller/WithdrawController.java @@ -3,7 +3,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.service.TokenService; -import com.ruoyi.system.api.model.LoginUser; +import com.ruoyi.system.api.model.LoginUserInfo; import com.ruoyi.user.entity.Withdraw; import com.ruoyi.user.service.WithdrawService; import com.ruoyi.user.vo.WithdrawListVO; @@ -40,7 +40,7 @@ @GetMapping("/withdrawList") @ApiOperation(value = "提现列表", tags = {"用户端-个人中心"}) public R<WithdrawListVO> withdrawList() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -53,7 +53,7 @@ @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "Integer", required = true) }) public R<Boolean> confirmWithdraw(@RequestParam Integer orderId) { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } @@ -63,7 +63,7 @@ @GetMapping("/withdrawRecord") @ApiOperation(value = "提现记录", tags = {"用户端-个人中心"}) public R<List<Withdraw>> withdrawRecord() { - LoginUser loginUser = tokenService.getLoginUserByUser(); + LoginUserInfo loginUser = tokenService.getLoginUserByUser(); if (null == loginUser) { return R.loginExpire("登录失效!"); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java index fdec4e3..fb62f13 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/entity/RecoveryServe.java @@ -50,8 +50,8 @@ private BigDecimal defaultPrice; @ApiModelProperty("排序权重") - @TableField("order") - private Integer order; + @TableField("sort") + private Integer sort; @ApiModelProperty("封面图片") @TableField("cover") diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/EvaluateMapper.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/EvaluateMapper.java index cf4182f..a4faa40 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/EvaluateMapper.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/EvaluateMapper.java @@ -24,5 +24,5 @@ * @param userId 用户id * @return 列表数据 */ - List<OrderEvaluateVO> orderEvaluate(Long userId); + List<OrderEvaluateVO> orderEvaluate(Integer userId); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/UserCollectMapper.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/UserCollectMapper.java index a7cde38..c0f5027 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/UserCollectMapper.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/mapper/UserCollectMapper.java @@ -24,5 +24,5 @@ * @param userid 用户id * @return 服务列表 */ - List<UserCollectVO> collectList(Long userid); + List<UserCollectVO> collectList(Integer userid); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java index 6a1ba09..b9079c4 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/request/OrderRequest.java @@ -23,16 +23,13 @@ @ApiModelProperty("回收服务id") private Integer serveId; - @ApiModelProperty("下单用户id") - private Integer userId; - @ApiModelProperty("预约姓名") private String reservationName; @ApiModelProperty("预约手机号") private String reservationPhone; - @ApiModelProperty("预约地址") + @ApiModelProperty("预约地址(收货地址id)") private Integer addressId; @ApiModelProperty("上门时间") @@ -47,10 +44,7 @@ @ApiModelProperty("下单用户纬度") private Double latitude; - @ApiModelProperty("订单补贴金额") + @ApiModelProperty("订单津贴金额") private BigDecimal subsidy; - - @ApiModelProperty("详细地址") - private String address; } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/EvaluateService.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/EvaluateService.java index fced56c..18965b9 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/EvaluateService.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/EvaluateService.java @@ -22,5 +22,5 @@ * @param userId 用户id * @return 列表数据 */ - List<OrderEvaluateVO> orderEvaluate(Long userId); + List<OrderEvaluateVO> orderEvaluate(Integer userId); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/OrderService.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/OrderService.java index 3477c31..053df99 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/OrderService.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/OrderService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.admin.api.entity.Prize; import com.ruoyi.user.entity.Order; +import com.ruoyi.user.request.OrderRequest; import java.util.List; @@ -23,4 +24,13 @@ * @return 奖品列表 */ Object obtainAllowance(List<Prize> prizeList); + + /** + * 用户下单 + * + * @param orderRequest 下单信息 + * @param userId 用户id + * @return 下单结果 + */ + Boolean placeOrder(OrderRequest orderRequest, Integer userId); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserCollectService.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserCollectService.java index 97d4a7a..40bc817 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserCollectService.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserCollectService.java @@ -22,5 +22,5 @@ * @param userid 用户id * @return 服务列表 */ - List<UserCollectVO> collectList(Long userid); + List<UserCollectVO> collectList(Integer userid); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserRecipientService.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserRecipientService.java index 3714fdc..d575642 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserRecipientService.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/UserRecipientService.java @@ -13,4 +13,12 @@ */ public interface UserRecipientService extends IService<UserRecipient> { + /** + * 收货地址更改 + * + * @param userRecipient 收货地址 + * @param userid 用户id + * @return 操作结果 + */ + boolean updateBatchAddress(UserRecipient userRecipient, Integer userid); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/WithdrawService.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/WithdrawService.java index 0e2b15e..9e55bb3 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/WithdrawService.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/WithdrawService.java @@ -20,7 +20,7 @@ * @param userid 用户id * @return 提现列表 */ - WithdrawListVO withdrawList(Long userid); + WithdrawListVO withdrawList(Integer userid); /** * 确认提现 @@ -29,5 +29,5 @@ * @param orderId 订单id * @return 操作结果 */ - Boolean confirmWithdraw(Integer orderId, Long userid); + Boolean confirmWithdraw(Integer orderId, Integer userid); } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/EvaluateServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/EvaluateServiceImpl.java index 5eb0f8e..bf5997a 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/EvaluateServiceImpl.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/EvaluateServiceImpl.java @@ -21,7 +21,7 @@ public class EvaluateServiceImpl extends ServiceImpl<EvaluateMapper, Evaluate> implements EvaluateService { @Override - public List<OrderEvaluateVO> orderEvaluate(Long userId) { + public List<OrderEvaluateVO> orderEvaluate(Integer userId) { return baseMapper.orderEvaluate(userId); } } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java index ccc18a1..5adde65 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/OrderServiceImpl.java @@ -2,11 +2,21 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.admin.api.entity.Prize; +import com.ruoyi.common.core.constant.Constants; +import com.ruoyi.common.core.exception.GlobalException; import com.ruoyi.user.entity.Order; +import com.ruoyi.user.entity.RecoveryServe; +import com.ruoyi.user.entity.UserRecipient; import com.ruoyi.user.mapper.OrderMapper; +import com.ruoyi.user.request.OrderRequest; import com.ruoyi.user.service.OrderService; +import com.ruoyi.user.service.RecoveryServeService; +import com.ruoyi.user.service.UserRecipientService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.Random; import java.util.stream.Collectors; @@ -22,6 +32,11 @@ @Service public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService { + @Resource + private UserRecipientService userRecipientService; + @Resource + private RecoveryServeService recoveryServeService; + @Override public Object obtainAllowance(List<Prize> prizeList) { // 过滤中奖概率为空的奖品 @@ -29,18 +44,69 @@ // 转盘逻辑 double sum = prizes.stream().map(Prize::getProbability).mapToDouble(Double::doubleValue).sum(); Prize result = null; - for (Prize prize : prizes) { - double item = prize.getProbability() / sum; - // 随机数对象 - Random random = new Random(); - // 生成一个介于0到1之间的随机小数 - double randomDouble = random.nextDouble(); - if (item <= randomDouble) { - result = prize; - break; + boolean v = true; + while (v) { + for (Prize prize : prizes) { + double item = prize.getProbability() / sum; + // 随机数对象 + Random random = new Random(); + // 生成一个介于0到1之间的随机小数 + double randomDouble = random.nextDouble(); + if (item >= randomDouble) { + result = prize; + break; + } + } + if (null != result) { + v = false; } } // 抽中的商品 return result; } + + @Override + public Boolean placeOrder(OrderRequest orderRequest, Integer userId) { + String orderNumber = orderRequest.getOrderNumber(); + Integer serveId = orderRequest.getServeId(); + String reservationName = orderRequest.getReservationName(); + String reservationPhone = orderRequest.getReservationPhone(); + Integer addressId = orderRequest.getAddressId(); + Date time = orderRequest.getTime(); + String reservationRemark = orderRequest.getReservationRemark(); + Double longitude = orderRequest.getLongitude(); + Double latitude = orderRequest.getLatitude(); + BigDecimal subsidy = orderRequest.getSubsidy(); + // 下单相关信息 + RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId) + .eq(RecoveryServe::getIsDelete, 0).one(); + UserRecipient userRecipient = userRecipientService.lambdaQuery().eq(UserRecipient::getId, addressId) + .eq(UserRecipient::getIsDelete, 0).one(); + if (null == recoveryServe || null == userRecipient) { + throw new GlobalException("下单失败,预约服务信息或收货地址信息异常!"); + } + // 订单信息 + Order order = new Order(); + order.setOrderNumber(orderNumber); + order.setServeId(serveId); + order.setServeName(recoveryServe.getServeName()); + order.setServePrice(recoveryServe.getDefaultPrice()); + order.setUserId(userId); + order.setReservationName(reservationName); + order.setReservationPhone(reservationPhone); + order.setReservationAddress(userRecipient.getAddress()); + order.setTime(time); + order.setReservationRemark(reservationRemark); + order.setOrderMoney(recoveryServe.getDefaultPrice().add(new BigDecimal(String.valueOf(subsidy)))); + order.setState(Constants.ZERO); + order.setType(Constants.ZERO); + order.setLongitude(longitude); + order.setLatitude(latitude); + order.setIsWithdrawal(Constants.ZERO); + order.setSubsidy(subsidy); + order.setAddress(userRecipient.getAddressDetail()); + return this.save(order); + + } + } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserCollectServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserCollectServiceImpl.java index 83101b9..46c0fc2 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserCollectServiceImpl.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserCollectServiceImpl.java @@ -21,7 +21,7 @@ public class UserCollectServiceImpl extends ServiceImpl<UserCollectMapper, UserCollect> implements UserCollectService { @Override - public List<UserCollectVO> collectList(Long userid) { + public List<UserCollectVO> collectList(Integer userid) { return baseMapper.collectList(userid); } } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserRecipientServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserRecipientServiceImpl.java index 5032525..5533fe8 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserRecipientServiceImpl.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserRecipientServiceImpl.java @@ -1,10 +1,15 @@ package com.ruoyi.user.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.constant.Constants; import com.ruoyi.user.entity.UserRecipient; import com.ruoyi.user.mapper.UserRecipientMapper; import com.ruoyi.user.service.UserRecipientService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; /** * <p> @@ -17,4 +22,24 @@ @Service public class UserRecipientServiceImpl extends ServiceImpl<UserRecipientMapper, UserRecipient> implements UserRecipientService { + @Override + @Transactional(rollbackFor = Exception.class) + public boolean updateBatchAddress(UserRecipient userRecipient, Integer userid) { + boolean result = true; + if (Constants.ONE.equals(userRecipient.getIsDefault())) { + List<UserRecipient> list = lambdaQuery().eq(UserRecipient::getUserId, userid) + .eq(UserRecipient::getIsDelete, 0).list(); + List<UserRecipient> updateList = new ArrayList<>(); + for (UserRecipient recipient : list) { + if (Constants.ONE.equals(recipient.getIsDefault())) { + recipient.setIsDefault(0); + updateList.add(recipient); + } + } + if (!updateList.isEmpty()) { + result = this.updateBatchById(updateList); + } + } + return result; + } } diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java index d82aa8b..93a6cb6 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/service/impl/WithdrawServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.user.service.impl; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.admin.api.entity.WithdrawalSetting; import com.ruoyi.admin.api.feignClient.AdminClient; @@ -49,22 +50,33 @@ private AdminClient adminClient; @Override - public WithdrawListVO withdrawList(Long userid) { + public WithdrawListVO withdrawList(Integer userid) { WithdrawListVO withdrawList = new WithdrawListVO(); List<Order> orderList = orderService.lambdaQuery().eq(Order::getUserId, userid) .eq(Order::getState, 3).eq(Order::getIsDelete, 0).list(); // 总金额 - BigDecimal totalMoney = orderList.stream().map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal totalMoney = BigDecimal.ZERO; // 未提现金额 - BigDecimal undelivered = orderList.stream().filter(data -> Constants.ZERO.equals(data.getIsWithdrawal())) - .map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal undelivered = BigDecimal.ZERO; // 已提现金额 - BigDecimal withdrawn = orderList.stream().filter(data -> Constants.ONE.equals(data.getIsWithdrawal())) - .map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal withdrawn = BigDecimal.ZERO; + if (!orderList.isEmpty()) { + // 总金额 + totalMoney = orderList.stream().map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + // 未提现金额 + undelivered = orderList.stream().filter(data -> Constants.ZERO.equals(data.getIsWithdrawal())) + .map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + // 已提现金额 + withdrawn = orderList.stream().filter(data -> Constants.ONE.equals(data.getIsWithdrawal())) + .map(Order::getOrderMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + } withdrawList.setMoneyCount(new WithdrawMoneyVO(totalMoney, undelivered, withdrawn)); // 回收服务列表 - List<RecoveryServe> serveList = recoveryServeService.lambdaQuery().eq(RecoveryServe::getIsDelete, 0) - .in(RecoveryServe::getId, orderList.stream().map(Order::getServeId).collect(Collectors.toList())).list(); + List<Integer> serveIds = orderList.stream().map(Order::getServeId).collect(Collectors.toList()); + LambdaQueryChainWrapper<RecoveryServe> wrapper = recoveryServeService.lambdaQuery() + .eq(RecoveryServe::getIsDelete, 0); + wrapper = serveIds.isEmpty() ? wrapper : wrapper.in(RecoveryServe::getId, serveIds); + List<RecoveryServe> serveList = wrapper.list(); Map<Integer, RecoveryServe> serveMap = serveList.stream().collect(Collectors.toMap(RecoveryServe::getId, serve -> serve)); // 订单列表 List<WithdrawOrderVO> list = new ArrayList<>(); @@ -86,7 +98,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public Boolean confirmWithdraw(Integer orderId, Long userid) { + public Boolean confirmWithdraw(Integer orderId, Integer userid) { Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); if (null == order) { throw new GlobalException("订单信息异常!"); diff --git a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/UserCollectVO.java b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/UserCollectVO.java index 55e9ffd..ecfa1f4 100644 --- a/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/UserCollectVO.java +++ b/ruoyi-service/ruoyi-user/src/main/java/com/ruoyi/user/vo/UserCollectVO.java @@ -11,6 +11,9 @@ @Data public class UserCollectVO { + @ApiModelProperty("服务id") + private Integer serveId; + @ApiModelProperty("服务名称") private String serveName; diff --git a/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml b/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml index b05a511..81f785f 100644 --- a/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml +++ b/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/RecoveryServeMapper.xml @@ -9,7 +9,7 @@ <result column="serve_describe" property="serveDescribe"/> <result column="estimate_price" property="estimatePrice"/> <result column="default_price" property="defaultPrice"/> - <result column="order" property="order"/> + <result column="sort" property="sort"/> <result column="cover" property="cover"/> <result column="rotate" property="rotate"/> <result column="createBy" property="createBy"/> diff --git a/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/UserCollectMapper.xml b/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/UserCollectMapper.xml index de09681..b31bab5 100644 --- a/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/UserCollectMapper.xml +++ b/ruoyi-service/ruoyi-user/src/main/resources/mapper/user/UserCollectMapper.xml @@ -15,7 +15,10 @@ </resultMap> <select id="collectList" resultType="com.ruoyi.user.vo.UserCollectVO"> - select s.serve_name, s.serve_describe, s.cover + select s.serve_name as serveName, + s.serve_describe as serveDescribe, + s.cover, + s.id as serveId from t_user_collect c left join sys_recovery_serve s on c.serve_id = s.id where c.user_id = #{userid} diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Order.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Order.java index 3ed7416..d794fce 100644 --- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Order.java +++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/entity/Order.java @@ -122,4 +122,16 @@ @TableField("complete_time") private Date completeTime; + @ApiModelProperty("是否已提现(0:未提现,1:已提现)") + @TableField("is_withdrawal") + private Integer isWithdrawal; + + @ApiModelProperty("订单补贴金额") + @TableField("subsidy") + private BigDecimal subsidy; + + @ApiModelProperty("详细地址") + @TableField("address") + private String address; + } -- Gitblit v1.7.1