diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/mapper/AppUserMapper.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/mapper/AppUserMapper.java deleted file mode 100644 index 46b15a7..0000000 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/mapper/AppUserMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.jeecg.modules.demo.appuser.mapper; - -import java.util.List; - -import org.apache.ibatis.annotations.Param; -import org.jeecg.modules.demo.appuser.entity.AppUser; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * @Description: 应用用户表 - * @Author: jeecg-boot - * @Date: 2025-02-16 - * @Version: V1.0 - */ -public interface AppUserMapper extends BaseMapper { - -} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/mapper/xml/AppUserMapper.xml b/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/mapper/xml/AppUserMapper.xml deleted file mode 100644 index 4eec8b2..0000000 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/mapper/xml/AppUserMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/service/IAppUserService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/service/IAppUserService.java deleted file mode 100644 index aa85ec9..0000000 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/service/IAppUserService.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.jeecg.modules.demo.appuser.service; - -import org.jeecg.modules.demo.appuser.entity.AppUser; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * @Description: 应用用户表 - * @Author: jeecg-boot - * @Date: 2025-02-16 - * @Version: V1.0 - */ -public interface IAppUserService extends IService { - -} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/service/impl/AppUserServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/service/impl/AppUserServiceImpl.java deleted file mode 100644 index 13c141e..0000000 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/service/impl/AppUserServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.jeecg.modules.demo.appuser.service.impl; - -import org.jeecg.modules.demo.appuser.entity.AppUser; -import org.jeecg.modules.demo.appuser.mapper.AppUserMapper; -import org.jeecg.modules.demo.appuser.service.IAppUserService; -import org.springframework.stereotype.Service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * @Description: 应用用户表 - * @Author: jeecg-boot - * @Date: 2025-02-16 - * @Version: V1.0 - */ -@Service -public class AppUserServiceImpl extends ServiceImpl implements IAppUserService { - -} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/controller/AppBannerController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/controller/AppBannerController.java similarity index 87% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/controller/AppBannerController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/controller/AppBannerController.java index 1123cbf..68e9fa0 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/controller/AppBannerController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/controller/AppBannerController.java @@ -1,39 +1,25 @@ -package org.jeecg.modules.demo.appbanner.controller; +package org.jeecg.modules.sysMiniapp.appbanner.controller; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.appbanner.entity.AppBanner; -import org.jeecg.modules.demo.appbanner.service.IAppBannerService; +import org.jeecg.modules.sysMiniapp.appbanner.entity.AppBanner; +import org.jeecg.modules.sysMiniapp.appbanner.service.IAppBannerService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +38,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppBannerController extends JeecgController { @Autowired private IAppBannerService appBannerService; - + /** * 分页列表查询 * @@ -80,7 +66,7 @@ public class AppBannerController extends JeecgController pageList = appBannerService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -95,7 +81,7 @@ public class AppBannerController extends JeecgController - + - \ No newline at end of file + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/service/IAppBannerService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/service/IAppBannerService.java similarity index 66% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/service/IAppBannerService.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/service/IAppBannerService.java index aa476ba..1be3d83 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/service/IAppBannerService.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/service/IAppBannerService.java @@ -1,6 +1,6 @@ -package org.jeecg.modules.demo.appbanner.service; +package org.jeecg.modules.sysMiniapp.appbanner.service; -import org.jeecg.modules.demo.appbanner.entity.AppBanner; +import org.jeecg.modules.sysMiniapp.appbanner.entity.AppBanner; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/service/impl/AppBannerServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/service/impl/AppBannerServiceImpl.java similarity index 56% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/service/impl/AppBannerServiceImpl.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/service/impl/AppBannerServiceImpl.java index ab93d48..c520b60 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/service/impl/AppBannerServiceImpl.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/service/impl/AppBannerServiceImpl.java @@ -1,8 +1,8 @@ -package org.jeecg.modules.demo.appbanner.service.impl; +package org.jeecg.modules.sysMiniapp.appbanner.service.impl; -import org.jeecg.modules.demo.appbanner.entity.AppBanner; -import org.jeecg.modules.demo.appbanner.mapper.AppBannerMapper; -import org.jeecg.modules.demo.appbanner.service.IAppBannerService; +import org.jeecg.modules.sysMiniapp.appbanner.entity.AppBanner; +import org.jeecg.modules.sysMiniapp.appbanner.mapper.AppBannerMapper; +import org.jeecg.modules.sysMiniapp.appbanner.service.IAppBannerService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/uniapp/AppBannerForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/uniapp/AppBannerForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/uniapp/AppBannerForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/uniapp/AppBannerForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/uniapp/AppBannerList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/uniapp/AppBannerList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/uniapp/AppBannerList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/uniapp/AppBannerList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/AppBanner.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/AppBanner.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/AppBanner.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/AppBanner.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/AppBanner.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/AppBanner.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/AppBanner.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/AppBanner.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/AppBannerList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/AppBannerList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/AppBannerList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/AppBannerList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/components/AppBannerForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/components/AppBannerForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/components/AppBannerForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/components/AppBannerForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/components/AppBannerModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/components/AppBannerModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appbanner/vue3/components/AppBannerModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/vue3/components/AppBannerModal.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/controller/AppUserController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java similarity index 84% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/controller/AppUserController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java index 196b36e..c8819c3 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/controller/AppUserController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java @@ -1,39 +1,32 @@ -package org.jeecg.modules.demo.appuser.controller; +package org.jeecg.modules.sysMiniapp.appuser.controller; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.core.util.StrUtil; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.PasswordUtil; import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.appuser.entity.AppUser; -import org.jeecg.modules.demo.appuser.service.IAppUserService; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; +import org.jeecg.modules.sysMiniapp.appuser.service.IAppUserService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +45,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppUserController extends JeecgController { @Autowired private IAppUserService appUserService; - + /** * 分页列表查询 * @@ -78,7 +71,7 @@ public class AppUserController extends JeecgController IPage pageList = appUserService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -90,10 +83,14 @@ public class AppUserController extends JeecgController @RequiresPermissions("appuser:app_user:add") @PostMapping(value = "/add") public Result add(@RequestBody AppUser appUser) { + String salt = oConvertUtils.randomGen(8); + appUser.setPasswordSalt(salt); + String passwordEncode = PasswordUtil.encrypt(appUser.getNickName(), appUser.getPassword(), salt); + appUser.setPassword(passwordEncode); appUserService.save(appUser); return Result.OK("添加成功!"); } - + /** * 编辑 * @@ -103,12 +100,18 @@ public class AppUserController extends JeecgController @AutoLog(value = "应用用户表-编辑") @ApiOperation(value="应用用户表-编辑", notes="应用用户表-编辑") @RequiresPermissions("appuser:app_user:edit") + @CacheEvict(value={CacheConstant.SYS_USERS_CACHE}, allEntries=true) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result edit(@RequestBody AppUser appUser) { + // 修改密码 + if (StrUtil.isNotBlank(appUser.getPassword()) || StrUtil.isNotBlank(appUser.getNickName())){ + String passwordEncode = PasswordUtil.encrypt(appUser.getNickName(), appUser.getPassword(), appUser.getPasswordSalt()); + appUser.setPassword(passwordEncode); + } appUserService.updateById(appUser); return Result.OK("编辑成功!"); } - + /** * 通过id删除 * @@ -123,7 +126,7 @@ public class AppUserController extends JeecgController appUserService.removeById(id); return Result.OK("删除成功!"); } - + /** * 批量删除 * @@ -138,7 +141,7 @@ public class AppUserController extends JeecgController this.appUserService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("批量删除成功!"); } - + /** * 通过id查询 * diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/entity/AppUser.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java similarity index 92% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/entity/AppUser.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java index 8c269b2..461cadb 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/entity/AppUser.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java @@ -1,15 +1,10 @@ -package org.jeecg.modules.demo.appuser.entity; +package org.jeecg.modules.sysMiniapp.appuser.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.util.Date; -import java.math.BigDecimal; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableLogic; -import org.jeecg.common.constant.ProvinceCityArea; -import org.jeecg.common.util.SpringContextUtils; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/mapper/AppUserMapper.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/mapper/AppUserMapper.java new file mode 100644 index 0000000..d27c074 --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/mapper/AppUserMapper.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.sysMiniapp.appuser.mapper; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 应用用户表 + * @Author: jeecg-boot + * @Date: 2025-02-16 + * @Version: V1.0 + */ +public interface AppUserMapper extends BaseMapper { + + /** + * 通过用户账号查询用户信息 + * @param username + * @return + */ + public AppUser getUserByName(@Param("username") String username); + +} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/mapper/xml/AppUserMapper.xml b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/mapper/xml/AppUserMapper.xml new file mode 100644 index 0000000..96d124c --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/mapper/xml/AppUserMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/service/IAppUserService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/service/IAppUserService.java new file mode 100644 index 0000000..f0b3a69 --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/service/IAppUserService.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.sysMiniapp.appuser.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 应用用户表 + * @Author: jeecg-boot + * @Date: 2025-02-16 + * @Version: V1.0 + */ +public interface IAppUserService extends IService { + + /** + * 通过用户名查询用户信息 + * @param userName + * @return + */ + AppUser getUserByName(String userName); + + Result checkUserIsEffective(AppUser appUser); + +} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/service/impl/AppUserServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/service/impl/AppUserServiceImpl.java new file mode 100644 index 0000000..a3d7753 --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/service/impl/AppUserServiceImpl.java @@ -0,0 +1,54 @@ +package org.jeecg.modules.sysMiniapp.appuser.service.impl; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CacheConstant; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.modules.base.service.BaseCommonService; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; +import org.jeecg.modules.sysMiniapp.appuser.mapper.AppUserMapper; +import org.jeecg.modules.sysMiniapp.appuser.service.IAppUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 应用用户表 + * @Author: jeecg-boot + * @Date: 2025-02-16 + * @Version: V1.0 + */ +@Service +public class AppUserServiceImpl extends ServiceImpl implements IAppUserService { + + @Autowired + private AppUserMapper appUserMapper; + + @Autowired + private BaseCommonService baseCommonService; + + @Override + @Cacheable(cacheNames= CacheConstant.SYS_USERS_CACHE, key="#userName") + public AppUser getUserByName(String userName) { + return appUserMapper.getUserByName(userName); + } + + @Override + public Result checkUserIsEffective(AppUser appUser) { + Result result = new Result(); + //情况1:根据用户信息查询,该用户不存在 + if (appUser == null) { + result.error500("用户名或密码错误,请检查后重试!"); + baseCommonService.addLog("用户登录失败,用户不存在!【小程序端】", CommonConstant.LOG_TYPE_1, null); + return result; + } + //情况3:根据用户信息查询,该用户已冻结 + if (CommonConstant.STATUS_0.equals(appUser.getStatus())) { + baseCommonService.addLog("用户登录失败,用户名:" + appUser.getNickName() + "已冻结!【小程序端】", CommonConstant.LOG_TYPE_1, null); + result.error500("该用户已冻结,请联系管理员解冻"); + return result; + } + return result; + } +} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/uniapp/AppUserForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/uniapp/AppUserForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/uniapp/AppUserForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/uniapp/AppUserForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/uniapp/AppUserList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/uniapp/AppUserList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/uniapp/AppUserList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/uniapp/AppUserList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/AppUser.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/AppUser.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/AppUser.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/AppUser.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/AppUser.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/AppUser.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/AppUser.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/AppUser.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/AppUserList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/AppUserList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/AppUserList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/AppUserList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/V20250210_1__menu_insert_AppUser.sql b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/V20250210_1__menu_insert_AppUser.sql similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/V20250210_1__menu_insert_AppUser.sql rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/V20250210_1__menu_insert_AppUser.sql diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/components/AppUserForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/components/AppUserForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/components/AppUserForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/components/AppUserForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/components/AppUserModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/components/AppUserModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/appuser/vue3/components/AppUserModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/vue3/components/AppUserModal.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/controller/AppNoticeController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/controller/AppNoticeController.java similarity index 86% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/controller/AppNoticeController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/controller/AppNoticeController.java index 9121db1..0aae6be 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/controller/AppNoticeController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/controller/AppNoticeController.java @@ -1,39 +1,25 @@ -package org.jeecg.modules.demo.notice.controller; +package org.jeecg.modules.sysMiniapp.notice.controller; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.notice.entity.AppNotice; -import org.jeecg.modules.demo.notice.service.IAppNoticeService; +import org.jeecg.modules.sysMiniapp.notice.entity.AppNotice; +import org.jeecg.modules.sysMiniapp.notice.service.IAppNoticeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +38,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppNoticeController extends JeecgController { @Autowired private IAppNoticeService appNoticeService; - + /** * 分页列表查询 * @@ -78,7 +64,7 @@ public class AppNoticeController extends JeecgController pageList = appNoticeService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -93,7 +79,7 @@ public class AppNoticeController extends JeecgController - + - \ No newline at end of file + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/service/IAppNoticeService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/service/IAppNoticeService.java similarity index 67% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/service/IAppNoticeService.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/service/IAppNoticeService.java index 4cc8dcb..f36197b 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/service/IAppNoticeService.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/service/IAppNoticeService.java @@ -1,6 +1,6 @@ -package org.jeecg.modules.demo.notice.service; +package org.jeecg.modules.sysMiniapp.notice.service; -import org.jeecg.modules.demo.notice.entity.AppNotice; +import org.jeecg.modules.sysMiniapp.notice.entity.AppNotice; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/service/impl/AppNoticeServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/service/impl/AppNoticeServiceImpl.java similarity index 57% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/service/impl/AppNoticeServiceImpl.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/service/impl/AppNoticeServiceImpl.java index 9866b8a..d00e322 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/service/impl/AppNoticeServiceImpl.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/service/impl/AppNoticeServiceImpl.java @@ -1,8 +1,8 @@ -package org.jeecg.modules.demo.notice.service.impl; +package org.jeecg.modules.sysMiniapp.notice.service.impl; -import org.jeecg.modules.demo.notice.entity.AppNotice; -import org.jeecg.modules.demo.notice.mapper.AppNoticeMapper; -import org.jeecg.modules.demo.notice.service.IAppNoticeService; +import org.jeecg.modules.sysMiniapp.notice.entity.AppNotice; +import org.jeecg.modules.sysMiniapp.notice.mapper.AppNoticeMapper; +import org.jeecg.modules.sysMiniapp.notice.service.IAppNoticeService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/uniapp/AppNoticeForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/uniapp/AppNoticeForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/uniapp/AppNoticeForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/uniapp/AppNoticeForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/uniapp/AppNoticeList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/uniapp/AppNoticeList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/uniapp/AppNoticeList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/uniapp/AppNoticeList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/AppNotice.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/AppNotice.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/AppNotice.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/AppNotice.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/AppNotice.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/AppNotice.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/AppNotice.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/AppNotice.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/AppNoticeList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/AppNoticeList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/AppNoticeList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/AppNoticeList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/V20250216_1__menu_insert_AppNotice.sql b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/V20250216_1__menu_insert_AppNotice.sql similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/V20250216_1__menu_insert_AppNotice.sql rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/V20250216_1__menu_insert_AppNotice.sql diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/components/AppNoticeForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/components/AppNoticeForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/components/AppNoticeForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/components/AppNoticeForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/components/AppNoticeModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/components/AppNoticeModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/notice/vue3/components/AppNoticeModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/vue3/components/AppNoticeModal.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/controller/AppProductController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java similarity index 84% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/controller/AppProductController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java index 6c29b06..161da71 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/controller/AppProductController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java @@ -1,39 +1,22 @@ -package org.jeecg.modules.demo.product.controller; +package org.jeecg.modules.sysMiniapp.product.controller; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.product.entity.AppProduct; -import org.jeecg.modules.demo.product.service.IAppProductService; +import org.jeecg.modules.sysMiniapp.product.entity.AppProduct; +import org.jeecg.modules.sysMiniapp.product.service.IAppProductService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +35,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppProductController extends JeecgController { @Autowired private IAppProductService appProductService; - + /** * 分页列表查询 * @@ -74,7 +57,7 @@ public class AppProductController extends JeecgController pageList = appProductService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -89,7 +72,7 @@ public class AppProductController extends JeecgController - + - \ No newline at end of file + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/service/IAppProductService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/service/IAppProductService.java similarity index 66% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/service/IAppProductService.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/service/IAppProductService.java index 361603b..9a7f0b0 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/service/IAppProductService.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/service/IAppProductService.java @@ -1,6 +1,6 @@ -package org.jeecg.modules.demo.product.service; +package org.jeecg.modules.sysMiniapp.product.service; -import org.jeecg.modules.demo.product.entity.AppProduct; +import org.jeecg.modules.sysMiniapp.product.entity.AppProduct; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/service/impl/AppProductServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/service/impl/AppProductServiceImpl.java similarity index 57% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/service/impl/AppProductServiceImpl.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/service/impl/AppProductServiceImpl.java index 85ff9d1..aa69db2 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/service/impl/AppProductServiceImpl.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/service/impl/AppProductServiceImpl.java @@ -1,8 +1,8 @@ -package org.jeecg.modules.demo.product.service.impl; +package org.jeecg.modules.sysMiniapp.product.service.impl; -import org.jeecg.modules.demo.product.entity.AppProduct; -import org.jeecg.modules.demo.product.mapper.AppProductMapper; -import org.jeecg.modules.demo.product.service.IAppProductService; +import org.jeecg.modules.sysMiniapp.product.entity.AppProduct; +import org.jeecg.modules.sysMiniapp.product.mapper.AppProductMapper; +import org.jeecg.modules.sysMiniapp.product.service.IAppProductService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/uniapp/AppProductForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/uniapp/AppProductForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/uniapp/AppProductForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/uniapp/AppProductForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/uniapp/AppProductList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/uniapp/AppProductList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/uniapp/AppProductList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/uniapp/AppProductList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/AppProduct.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/AppProduct.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/AppProduct.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/AppProduct.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/AppProduct.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/AppProduct.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/AppProduct.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/AppProduct.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/AppProductList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/AppProductList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/AppProductList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/AppProductList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/V20250216_1__menu_insert_AppProduct.sql b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/V20250216_1__menu_insert_AppProduct.sql similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/V20250216_1__menu_insert_AppProduct.sql rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/V20250216_1__menu_insert_AppProduct.sql diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/components/AppProductForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/components/AppProductForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/components/AppProductForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/components/AppProductForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/components/AppProductModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/components/AppProductModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/product/vue3/components/AppProductModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/vue3/components/AppProductModal.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/controller/AppCategoryController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java similarity index 84% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/controller/AppCategoryController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java index f02df22..30e8813 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/controller/AppCategoryController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java @@ -1,39 +1,22 @@ -package org.jeecg.modules.demo.productCategory.controller; +package org.jeecg.modules.sysMiniapp.productCategory.controller; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.productCategory.entity.AppCategory; -import org.jeecg.modules.demo.productCategory.service.IAppCategoryService; +import org.jeecg.modules.sysMiniapp.productCategory.entity.AppCategory; +import org.jeecg.modules.sysMiniapp.productCategory.service.IAppCategoryService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +35,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppCategoryController extends JeecgController { @Autowired private IAppCategoryService appCategoryService; - + /** * 分页列表查询 * @@ -74,7 +57,7 @@ public class AppCategoryController extends JeecgController pageList = appCategoryService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -89,7 +72,7 @@ public class AppCategoryController extends JeecgController - + - \ No newline at end of file + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/service/IAppCategoryService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/service/IAppCategoryService.java similarity index 64% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/service/IAppCategoryService.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/service/IAppCategoryService.java index 862f051..c441add 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/service/IAppCategoryService.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/service/IAppCategoryService.java @@ -1,6 +1,6 @@ -package org.jeecg.modules.demo.productCategory.service; +package org.jeecg.modules.sysMiniapp.productCategory.service; -import org.jeecg.modules.demo.productCategory.entity.AppCategory; +import org.jeecg.modules.sysMiniapp.productCategory.entity.AppCategory; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/service/impl/AppCategoryServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/service/impl/AppCategoryServiceImpl.java similarity index 54% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/service/impl/AppCategoryServiceImpl.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/service/impl/AppCategoryServiceImpl.java index cc05693..2b71d57 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/service/impl/AppCategoryServiceImpl.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/service/impl/AppCategoryServiceImpl.java @@ -1,8 +1,8 @@ -package org.jeecg.modules.demo.productCategory.service.impl; +package org.jeecg.modules.sysMiniapp.productCategory.service.impl; -import org.jeecg.modules.demo.productCategory.entity.AppCategory; -import org.jeecg.modules.demo.productCategory.mapper.AppCategoryMapper; -import org.jeecg.modules.demo.productCategory.service.IAppCategoryService; +import org.jeecg.modules.sysMiniapp.productCategory.entity.AppCategory; +import org.jeecg.modules.sysMiniapp.productCategory.mapper.AppCategoryMapper; +import org.jeecg.modules.sysMiniapp.productCategory.service.IAppCategoryService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/uniapp/AppCategoryForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/uniapp/AppCategoryForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/uniapp/AppCategoryForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/uniapp/AppCategoryForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/uniapp/AppCategoryList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/uniapp/AppCategoryList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/uniapp/AppCategoryList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/uniapp/AppCategoryList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/AppCategory.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/AppCategory.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/AppCategory.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/AppCategory.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/AppCategory.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/AppCategory.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/AppCategory.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/AppCategory.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/AppCategoryList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/AppCategoryList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/AppCategoryList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/AppCategoryList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/V20250216_1__menu_insert_AppCategory.sql b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/V20250216_1__menu_insert_AppCategory.sql similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/V20250216_1__menu_insert_AppCategory.sql rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/V20250216_1__menu_insert_AppCategory.sql diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/components/AppCategoryForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/components/AppCategoryForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/components/AppCategoryForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/components/AppCategoryForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/components/AppCategoryModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/components/AppCategoryModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategory/vue3/components/AppCategoryModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/vue3/components/AppCategoryModal.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/controller/AppProductCategoryJoinController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/controller/AppProductCategoryJoinController.java similarity index 85% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/controller/AppProductCategoryJoinController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/controller/AppProductCategoryJoinController.java index 1fabcce..059baeb 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/controller/AppProductCategoryJoinController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/controller/AppProductCategoryJoinController.java @@ -1,39 +1,22 @@ -package org.jeecg.modules.demo.productCategoryJoin.controller; +package org.jeecg.modules.sysMiniapp.productCategoryJoin.controller; import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.productCategoryJoin.entity.AppProductCategoryJoin; -import org.jeecg.modules.demo.productCategoryJoin.service.IAppProductCategoryJoinService; +import org.jeecg.modules.sysMiniapp.productCategoryJoin.entity.AppProductCategoryJoin; +import org.jeecg.modules.sysMiniapp.productCategoryJoin.service.IAppProductCategoryJoinService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +35,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppProductCategoryJoinController extends JeecgController { @Autowired private IAppProductCategoryJoinService appProductCategoryJoinService; - + /** * 分页列表查询 * @@ -74,7 +57,7 @@ public class AppProductCategoryJoinController extends JeecgController pageList = appProductCategoryJoinService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -89,7 +72,7 @@ public class AppProductCategoryJoinController extends JeecgController - + - \ No newline at end of file + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/service/IAppProductCategoryJoinService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/IAppProductCategoryJoinService.java similarity index 63% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/service/IAppProductCategoryJoinService.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/IAppProductCategoryJoinService.java index c746c8d..64236a0 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/service/IAppProductCategoryJoinService.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/IAppProductCategoryJoinService.java @@ -1,6 +1,6 @@ -package org.jeecg.modules.demo.productCategoryJoin.service; +package org.jeecg.modules.sysMiniapp.productCategoryJoin.service; -import org.jeecg.modules.demo.productCategoryJoin.entity.AppProductCategoryJoin; +import org.jeecg.modules.sysMiniapp.productCategoryJoin.entity.AppProductCategoryJoin; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java similarity index 53% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java index 58b0c05..5cc2413 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java @@ -1,8 +1,8 @@ -package org.jeecg.modules.demo.productCategoryJoin.service.impl; +package org.jeecg.modules.sysMiniapp.productCategoryJoin.service.impl; -import org.jeecg.modules.demo.productCategoryJoin.entity.AppProductCategoryJoin; -import org.jeecg.modules.demo.productCategoryJoin.mapper.AppProductCategoryJoinMapper; -import org.jeecg.modules.demo.productCategoryJoin.service.IAppProductCategoryJoinService; +import org.jeecg.modules.sysMiniapp.productCategoryJoin.entity.AppProductCategoryJoin; +import org.jeecg.modules.sysMiniapp.productCategoryJoin.mapper.AppProductCategoryJoinMapper; +import org.jeecg.modules.sysMiniapp.productCategoryJoin.service.IAppProductCategoryJoinService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/uniapp/AppProductCategoryJoinForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/uniapp/AppProductCategoryJoinForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/uniapp/AppProductCategoryJoinForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/uniapp/AppProductCategoryJoinForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/uniapp/AppProductCategoryJoinList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/uniapp/AppProductCategoryJoinList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/uniapp/AppProductCategoryJoinList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/uniapp/AppProductCategoryJoinList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/AppProductCategoryJoin.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/AppProductCategoryJoin.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/AppProductCategoryJoin.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/AppProductCategoryJoin.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/AppProductCategoryJoin.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/AppProductCategoryJoin.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/AppProductCategoryJoin.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/AppProductCategoryJoin.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/AppProductCategoryJoinList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/AppProductCategoryJoinList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/AppProductCategoryJoinList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/AppProductCategoryJoinList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/V20250216_1__menu_insert_AppProductCategoryJoin.sql b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/V20250216_1__menu_insert_AppProductCategoryJoin.sql similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/V20250216_1__menu_insert_AppProductCategoryJoin.sql rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/V20250216_1__menu_insert_AppProductCategoryJoin.sql diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/components/AppProductCategoryJoinForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/components/AppProductCategoryJoinForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/components/AppProductCategoryJoinForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/components/AppProductCategoryJoinForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/components/AppProductCategoryJoinModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/components/AppProductCategoryJoinModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/productCategoryJoin/vue3/components/AppProductCategoryJoinModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/vue3/components/AppProductCategoryJoinModal.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/controller/AppStoreController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/controller/AppStoreController.java similarity index 86% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/controller/AppStoreController.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/controller/AppStoreController.java index 624d215..3b7406b 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/controller/AppStoreController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/controller/AppStoreController.java @@ -1,39 +1,25 @@ -package org.jeecg.modules.demo.store.controller; +package org.jeecg.modules.sysMiniapp.store.controller; import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.demo.store.entity.AppStore; -import org.jeecg.modules.demo.store.service.IAppStoreService; +import org.jeecg.modules.sysMiniapp.store.entity.AppStore; +import org.jeecg.modules.sysMiniapp.store.service.IAppStoreService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; @@ -52,7 +38,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; public class AppStoreController extends JeecgController { @Autowired private IAppStoreService appStoreService; - + /** * 分页列表查询 * @@ -78,7 +64,7 @@ public class AppStoreController extends JeecgController pageList = appStoreService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -93,7 +79,7 @@ public class AppStoreController extends JeecgController - + - \ No newline at end of file + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/service/IAppStoreService.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/service/IAppStoreService.java similarity index 67% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/service/IAppStoreService.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/service/IAppStoreService.java index f08c539..d35f22a 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/service/IAppStoreService.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/service/IAppStoreService.java @@ -1,6 +1,6 @@ -package org.jeecg.modules.demo.store.service; +package org.jeecg.modules.sysMiniapp.store.service; -import org.jeecg.modules.demo.store.entity.AppStore; +import org.jeecg.modules.sysMiniapp.store.entity.AppStore; import com.baomidou.mybatisplus.extension.service.IService; /** diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/service/impl/AppStoreServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/service/impl/AppStoreServiceImpl.java similarity index 57% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/service/impl/AppStoreServiceImpl.java rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/service/impl/AppStoreServiceImpl.java index effcdf4..958425f 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/service/impl/AppStoreServiceImpl.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/service/impl/AppStoreServiceImpl.java @@ -1,8 +1,8 @@ -package org.jeecg.modules.demo.store.service.impl; +package org.jeecg.modules.sysMiniapp.store.service.impl; -import org.jeecg.modules.demo.store.entity.AppStore; -import org.jeecg.modules.demo.store.mapper.AppStoreMapper; -import org.jeecg.modules.demo.store.service.IAppStoreService; +import org.jeecg.modules.sysMiniapp.store.entity.AppStore; +import org.jeecg.modules.sysMiniapp.store.mapper.AppStoreMapper; +import org.jeecg.modules.sysMiniapp.store.service.IAppStoreService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/uniapp/AppStoreForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/uniapp/AppStoreForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/uniapp/AppStoreForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/uniapp/AppStoreForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/uniapp/AppStoreList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/uniapp/AppStoreList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/uniapp/AppStoreList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/uniapp/AppStoreList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/AppStore.api.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/AppStore.api.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/AppStore.api.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/AppStore.api.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/AppStore.data.ts b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/AppStore.data.ts similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/AppStore.data.ts rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/AppStore.data.ts diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/AppStoreList.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/AppStoreList.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/AppStoreList.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/AppStoreList.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/V20250216_1__menu_insert_AppStore.sql b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/V20250216_1__menu_insert_AppStore.sql similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/V20250216_1__menu_insert_AppStore.sql rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/V20250216_1__menu_insert_AppStore.sql diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/components/AppStoreForm.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/components/AppStoreForm.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/components/AppStoreForm.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/components/AppStoreForm.vue diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/components/AppStoreModal.vue b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/components/AppStoreModal.vue similarity index 100% rename from jeecg-module-demo/src/main/java/org/jeecg/modules/demo/store/vue3/components/AppStoreModal.vue rename to jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/vue3/components/AppStoreModal.vue diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/banner/controller/BannerController.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/banner/controller/BannerController.java index fa20785..e86736d 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/banner/controller/BannerController.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/banner/controller/BannerController.java @@ -1,6 +1,5 @@ package org.jeecg.modules.miniapp.banner.controller; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -10,8 +9,8 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.config.shiro.IgnoreAuth; -import org.jeecg.modules.demo.appbanner.entity.AppBanner; -import org.jeecg.modules.demo.appbanner.service.IAppBannerService; +import org.jeecg.modules.sysMiniapp.appbanner.entity.AppBanner; +import org.jeecg.modules.sysMiniapp.appbanner.service.IAppBannerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/notice/controller/NoticeController.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/notice/controller/NoticeController.java index 23ffea2..606b51c 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/notice/controller/NoticeController.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/notice/controller/NoticeController.java @@ -1,27 +1,20 @@ package org.jeecg.modules.miniapp.notice.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.config.shiro.IgnoreAuth; -import org.jeecg.modules.demo.notice.entity.AppNotice; -import org.jeecg.modules.demo.notice.service.IAppNoticeService; +import org.jeecg.modules.sysMiniapp.notice.entity.AppNotice; +import org.jeecg.modules.sysMiniapp.notice.service.IAppNoticeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/store/controller/StoreController.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/store/controller/StoreController.java index 04ee133..9113364 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/store/controller/StoreController.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/store/controller/StoreController.java @@ -1,27 +1,20 @@ package org.jeecg.modules.miniapp.store.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.config.shiro.IgnoreAuth; -import org.jeecg.modules.demo.store.entity.AppStore; -import org.jeecg.modules.demo.store.service.IAppStoreService; +import org.jeecg.modules.sysMiniapp.store.entity.AppStore; +import org.jeecg.modules.sysMiniapp.store.service.IAppStoreService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/UserController.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/UserController.java index a916a6e..60573ec 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/UserController.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/UserController.java @@ -1,7 +1,9 @@ package org.jeecg.modules.miniapp.user.contoller; +import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.jeecg.boot.starter.lock.annotation.JRepeat; import org.jeecg.common.api.vo.Result; import org.jeecg.config.shiro.IgnoreAuth; import org.jeecg.modules.miniapp.user.domain.WxLoginInfo; @@ -9,6 +11,8 @@ import org.jeecg.modules.miniapp.user.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; + /** * @author Tanzs * @date 2025/2/7 下午5:58 @@ -38,4 +42,19 @@ public class UserController { public Result getWxphoneNumer(String code) { return userService.getWxphoneNumer(code); } + + @IgnoreAuth + @ApiOperation(value="小程序账号密码登录", notes="小程序账号密码登录") + @PostMapping(value = "/login") + public Result login(@RequestBody WxLoginInfo wxLoginInfo, HttpServletRequest request) { + return userService.login(wxLoginInfo,request); + } + + @ApiOperation(value="小程序账号退出登录", notes="小程序账号退出登录") + @PostMapping(value = "/logout") + public Result logout(HttpServletRequest request) { + return userService.logout(request); + } + + } diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/domain/WxLoginInfo.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/domain/WxLoginInfo.java index bbc676c..cd62b2e 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/domain/WxLoginInfo.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/domain/WxLoginInfo.java @@ -1,5 +1,6 @@ package org.jeecg.modules.miniapp.user.domain; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -19,6 +20,11 @@ public class WxLoginInfo { private String wxCode; private String sessionKey; + @ApiModelProperty(value = "账号") + private String username; + @ApiModelProperty(value = "密码") + private String password; + // 邀请码 private String invitationCode; } diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/UserService.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/UserService.java index e82a486..3067388 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/UserService.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/UserService.java @@ -1,8 +1,11 @@ package org.jeecg.modules.miniapp.user.service; +import com.alibaba.fastjson.JSONObject; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.miniapp.user.domain.WxLoginInfo; +import javax.servlet.http.HttpServletRequest; + /** * @author Tanzs * @date 2025/2/10 下午1:47 @@ -12,6 +15,20 @@ public interface UserService { Result wxLogin(WxLoginInfo wxLoginInfo); + /** + * 微信小程序登录 + * @param wxLoginInfo + * @return + */ + Result login(WxLoginInfo wxLoginInfo, HttpServletRequest request); + Result getWxphoneNumer(String code); + + /** + * 微信小程序退出登录 + * @param request + * @return + */ + Result logout(HttpServletRequest request); } diff --git a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/impl/UserServiceImpl.java b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/impl/UserServiceImpl.java index 24d7251..cb50089 100644 --- a/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/impl/UserServiceImpl.java +++ b/jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/service/impl/UserServiceImpl.java @@ -3,14 +3,30 @@ package org.jeecg.modules.miniapp.user.service.impl; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.common.util.IpUtils; +import org.jeecg.common.util.PasswordUtil; +import org.jeecg.common.util.RedisUtil; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.base.service.BaseCommonService; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; +import org.jeecg.modules.sysMiniapp.appuser.service.IAppUserService; import org.jeecg.modules.miniapp.user.domain.WxLoginInfo; import org.jeecg.modules.miniapp.user.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import java.util.Date; + /** * @author Tanzs * @date 2025/2/10 下午1:47 @@ -18,11 +34,20 @@ import org.springframework.stereotype.Service; */ @Service @Slf4j -public class UserServiceImpl implements UserService { +public class UserServiceImpl extends JeecgController implements UserService { @Autowired private WxMaService wxMaService; + @Autowired + private RedisUtil redisUtil; + + @Autowired + private IAppUserService appUserService; + + @Autowired + private BaseCommonService baseCommonService; + /** * 微信授权 openid 登录/注册 * @param wxLoginInfo @@ -45,6 +70,63 @@ public class UserServiceImpl implements UserService { return Result.OK(); } + @Override + public Result login(WxLoginInfo wxLoginInfo,HttpServletRequest request) { + Result result = new Result(); + String username = wxLoginInfo.getUsername(); + String password = wxLoginInfo.getPassword(); + if (StrUtil.isBlank(username) || StrUtil.isBlank(password)) { + return result.error500("请输入用户名或密码"); + } + JSONObject obj = new JSONObject(); + + //update-begin-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 + if(isLoginFailOvertimes(username)){ + return result.error500("该用户登录失败次数过多,请于10分钟后再次登录!"); + } + //update-end-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 + //1. 校验用户是否有效 + AppUser appUser = appUserService.getUserByName(username); + result = (Result) appUserService.checkUserIsEffective(appUser); + if(!result.isSuccess()) { + return result; + } + + //2. 校验用户名或密码是否正确 + String userpassword = PasswordUtil.encrypt(username, password, appUser.getPasswordSalt()); // 当前密码 + String syspassword =appUser.getPassword(); // 数据库密码 + if (!syspassword.equals(userpassword)) { + //update-begin-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 + addLoginFailOvertimes(username); + //update-end-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 + result.error500("用户名或密码错误"); + return result; + } + + //3. 设置登录用户信息 + obj.put("userInfo", appUser); + + //4. 生成token + String token = JwtUtil.sign(username, syspassword); + // 设置超时时间 + redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000); + redisUtil.del(CommonConstant.LOGIN_FAIL + username); + + // 5. 更新用户信息 + appUser.setLastLoginAt(new Date()); // 登录时间 + appUser.setLastLoginIp(IpUtils.getIpAddr(request)); + appUserService.saveOrUpdate(appUser); + + //token 信息 + obj.put("token", token); + result.setResult(obj); + result.setSuccess(true); + result.setCode(200); + baseCommonService.addLog("用户名: " + username + ",登录成功【小程序端】!", CommonConstant.LOG_TYPE_1, null); + return result; + } + /** * 根据 code 获取用户授权号码 * @param code @@ -59,4 +141,62 @@ public class UserServiceImpl implements UserService { return Result.error("获取手机号失败,请稍后重试"); } } + + @Override + public Result logout(HttpServletRequest request) { + //用户退出逻辑 + String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN); + if(oConvertUtils.isEmpty(token)) { + return Result.error("退出登录失败!"); + } + String username = JwtUtil.getUsername(token); + AppUser appUser = appUserService.getUserByName(username); + if(appUser!=null) { + //update-begin--Author:wangshuai Date:20200714 for:登出日志没有记录人员 + baseCommonService.addLog("用户名: "+appUser.getNickName()+",退出成功!", CommonConstant.LOG_TYPE_1, null); + //update-end--Author:wangshuai Date:20200714 for:登出日志没有记录人员 + log.info(" 用户名: "+appUser.getNickName()+",退出成功! "); + //清空用户登录Token缓存 + redisUtil.del(CommonConstant.PREFIX_USER_TOKEN + token); + //清空用户登录Shiro权限缓存 + redisUtil.del(CommonConstant.PREFIX_USER_SHIRO_CACHE + appUser.getId()); + //调用shiro的logout + SecurityUtils.getSubject().logout(); + return Result.ok("退出登录成功!"); + }else { + return Result.error("Token无效!"); + } + } + + /** + * 登录失败超出次数5 返回true + * @param username + * @return + */ + private boolean isLoginFailOvertimes(String username){ + String key = CommonConstant.LOGIN_FAIL + username; + Object failTime = redisUtil.get(key); + if(failTime!=null){ + Integer val = Integer.parseInt(failTime.toString()); + if(val>5){ + return true; + } + } + return false; + } + + /** + * 记录登录失败次数 + * @param username + */ + private void addLoginFailOvertimes(String username){ + String key = CommonConstant.LOGIN_FAIL + username; + Object failTime = redisUtil.get(key); + Integer val = 0; + if(failTime!=null){ + val = Integer.parseInt(failTime.toString()); + } + // 10分钟,一分钟为60s + redisUtil.set(key, ++val, 600); + } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java index 8d47b01..09fb57a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java @@ -99,7 +99,7 @@ public class LoginController { result.setCode(HttpStatus.PRECONDITION_FAILED.value()); return result; } - + // step.2 校验用户是否存在且有效 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getUsername,username); @@ -161,11 +161,11 @@ public class LoginController { //update-begin---author:liusq ---date:2022-06-29 for:接口返回值修改,同步修改这里的判断逻辑----------- //update-end---author:scott ---date::2022-06-20 for:vue3前端,支持自定义首页-------------- log.info("2 获取用户信息耗时 (首页面配置)" + (System.currentTimeMillis() - start) + "毫秒"); - + obj.put("userInfo",sysUser); obj.put("sysAllDictItems", sysDictService.queryAllDictItems()); log.info("3 获取用户信息耗时 (字典数据)" + (System.currentTimeMillis() - start) + "毫秒"); - + result.setResult(obj); result.success(""); } @@ -173,7 +173,7 @@ public class LoginController { return result; } - + /** * 退出登录 * @param request @@ -207,7 +207,7 @@ public class LoginController { return Result.error("Token无效!"); } } - + /** * 获取访问量 * @return @@ -238,7 +238,7 @@ public class LoginController { result.success("登录成功"); return result; } - + /** * 获取访问量 * @return @@ -259,8 +259,8 @@ public class LoginController { result.setResult(oConvertUtils.toLowerCasePageList(list)); return result; } - - + + /** * 登陆成功选择用户当前部门 * @param user @@ -274,7 +274,7 @@ public class LoginController { LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); username = sysUser.getUsername(); } - + //获取登录部门 String orgCode= user.getOrgCode(); //获取登录租户 @@ -290,7 +290,7 @@ public class LoginController { /** * 短信登录接口 - * + * * @param jsonObject * @return */ @@ -302,18 +302,18 @@ public class LoginController { //手机号模式 登录模式: "2" 注册模式: "1" String smsmode=jsonObject.get("smsmode").toString(); log.info("-------- IP:{}, 手机号:{},获取绑定验证码", clientIp, mobile); - + if(oConvertUtils.isEmpty(mobile)){ result.setMessage("手机号不允许为空!"); result.setSuccess(false); return result; } - + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 String redisKey = CommonConstant.PHONE_REDIS_KEY_PRE+mobile; Object object = redisUtil.get(redisKey); //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 - + if (object != null) { result.setMessage("验证码10分钟内,仍然有效!"); result.setSuccess(false); @@ -358,7 +358,7 @@ public class LoginController { } return result; } - + /** * smsmode 短信模板方式 0 .登录模板、1.注册模板、2.忘记密码模板 */ @@ -376,12 +376,12 @@ public class LoginController { result.setSuccess(false); return result; } - + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 //验证码10分钟内有效 redisUtil.set(redisKey, captcha, 600); //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 - + //update-begin--Author:scott Date:20190812 for:issues#391 //result.setResult(captcha); //update-end--Author:scott Date:20190812 for:issues#391 @@ -394,11 +394,11 @@ public class LoginController { } return result; } - + /** * 手机号登录接口 - * + * * @param jsonObject * @return */ @@ -418,7 +418,7 @@ public class LoginController { if(!result.isSuccess()) { return result; } - + String smscode = jsonObject.getString("captcha"); //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 @@ -469,7 +469,7 @@ public class LoginController { //3.设置登录用户信息 obj.put("userInfo", sysUser); - + //4.设置登录部门 List departs = sysDepartService.queryUserDeparts(sysUser.getId()); obj.put("departs", departs); @@ -496,7 +496,7 @@ public class LoginController { obj.put("sysAllDictItems", sysDictService.queryAllDictItems()); } //end-begin---author:scott ---date:2024-01-05 for:【QQYUN-7802】前端在登录时加载了两次数据字典,建议优化下,避免数据字典太多时可能产生的性能问题 #956--- - + result.setResult(obj); result.success("登录成功"); return result; @@ -530,13 +530,13 @@ public class LoginController { String code = RandomUtil.randomString(BASE_CHECK_CODES,4); //存到redis中 String lowerCaseCode = code.toLowerCase(); - + //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 // 加入密钥作为混淆,避免简单的拼接,被外部利用,用户自定义该密钥即可 String origin = lowerCaseCode+key+jeecgBaseConfig.getSignatureSecret(); String realKey = Md5Util.md5Encode(origin, "utf-8"); //update-end-author:taoyan date:2022-9-13 for: VUEN-2245 【漏洞】发现新漏洞待处理20220906 - + redisUtil.set(realKey, lowerCaseCode, 60); log.info("获取验证码,Redis key = {},checkCode = {}", realKey, code); //返回前端 @@ -557,11 +557,11 @@ public class LoginController { @RequiresRoles({"admin"}) @GetMapping(value = "/switchVue3Menu") public Result switchVue3Menu(HttpServletResponse response) { - Result res = new Result(); + Result res = new Result(); sysPermissionService.switchVue3Menu(); return res; } - + /** * app登录 * @param sysLoginModel @@ -574,7 +574,7 @@ public class LoginController { String username = sysLoginModel.getUsername(); String password = sysLoginModel.getPassword(); JSONObject obj = new JSONObject(); - + //update-begin-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 if(isLoginFailOvertimes(username)){ return result.error500("该用户登录失败次数过多,请于10分钟后再次登录!"); @@ -586,7 +586,7 @@ public class LoginController { if(!result.isSuccess()) { return result; } - + //2. 校验用户名或密码是否正确 String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); String syspassword = sysUser.getPassword(); @@ -597,17 +597,17 @@ public class LoginController { result.error500("用户名或密码错误"); return result; } - + //3.设置登录部门 String orgCode = sysUser.getOrgCode(); if(oConvertUtils.isEmpty(orgCode)) { //如果当前用户无选择部门 查看部门关联信息 - + List departs = sysDepartService.queryUserDeparts(sysUser.getId()); //update-begin-author:taoyan date:20220117 for: JTC-1068【app】新建用户,没有设置部门及角色,点击登录提示暂未归属部,一直在登录页面 使用手机号登录 可正常 if (departs == null || departs.size() == 0) { /*result.error500("用户暂未归属部门,不可登录!"); - + return result;*/ }else{ orgCode = departs.get(0).getOrgCode(); @@ -625,7 +625,7 @@ public class LoginController { //5. 设置登录用户信息 obj.put("userInfo", sysUser); - + //6. 生成token String token = JwtUtil.sign(username, syspassword); // 设置超时时间 @@ -799,7 +799,7 @@ public class LoginController { return result; } - + /** * 图形验证码 * @param sysLoginModel @@ -824,5 +824,5 @@ public class LoginController { redisUtil.removeAll(realKey); return Result.ok(); } - -} \ No newline at end of file + +}