From 271ce790d647f7aaa931361578daaf21e721680f Mon Sep 17 00:00:00 2001 From: tanzs Date: Mon, 17 Feb 2025 22:28:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E4=B8=8E=E4=BA=A7=E5=93=81=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sysMiniapp/appbanner/entity/AppBanner.java | 4 +- .../appuser/controller/AppUserController.java | 46 ----- .../modules/sysMiniapp/appuser/entity/AppUser.java | 4 +- .../appuser/service/IAppUserService.java | 11 -- .../appuser/service/impl/AppUserServiceImpl.java | 36 ---- .../sysMiniapp/notice/entity/AppNotice.java | 4 +- .../product/controller/AppProductController.java | 105 ---------- .../product/controller/ProductController.java | 215 +++++++++++++++++++++ .../sysMiniapp/product/entity/AppProduct.java | 14 +- .../modules/sysMiniapp/product/entity/Product.java | 64 ++++++ .../controller/AppCategoryController.java | 1 + .../controller/ProductCategoryController.java | 44 +++++ .../productCategory/entity/AppCategory.java | 4 +- .../entity/AppProductCategoryJoin.java | 4 +- .../mapper/AppProductCategoryJoinMapper.java | 9 + .../mapper/xml/AppProductCategoryJoinMapper.xml | 5 + .../impl/AppProductCategoryJoinServiceImpl.java | 2 +- .../modules/sysMiniapp/store/entity/AppStore.java | 4 +- .../sysMiniapp/user/controller/UserController.java | 73 +++++++ .../{UserController.java => MUserController.java} | 3 +- .../modules/miniapp/user/service/UserService.java | 10 + .../miniapp/user/service/impl/UserServiceImpl.java | 39 +++- 22 files changed, 477 insertions(+), 224 deletions(-) create mode 100644 jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/ProductController.java create mode 100644 jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/Product.java create mode 100644 jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/ProductCategoryController.java create mode 100644 jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/user/controller/UserController.java rename jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/{UserController.java => MUserController.java} (95%) diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/entity/AppBanner.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/entity/AppBanner.java index 143ed19..2e68371 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/entity/AppBanner.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appbanner/entity/AppBanner.java @@ -30,9 +30,9 @@ public class AppBanner implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**图片地址*/ @Excel(name = "图片地址", width = 15) @ApiModelProperty(value = "图片地址") diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java index c8819c3..1733949 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/controller/AppUserController.java @@ -6,13 +6,9 @@ import java.util.Map; 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.sysMiniapp.appuser.entity.AppUser; import org.jeecg.modules.sysMiniapp.appuser.service.IAppUserService; @@ -23,8 +19,6 @@ import lombok.extern.slf4j.Slf4j; 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.servlet.ModelAndView; import io.swagger.annotations.Api; @@ -72,46 +66,6 @@ public class AppUserController extends JeecgController return Result.OK(pageList); } - /** - * 添加 - * - * @param appUser - * @return - */ - @AutoLog(value = "应用用户表-添加") - @ApiOperation(value="应用用户表-添加", notes="应用用户表-添加") - @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("添加成功!"); - } - - /** - * 编辑 - * - * @param appUser - * @return - */ - @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删除 * diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java index 461cadb..24521ae 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/appuser/entity/AppUser.java @@ -30,9 +30,9 @@ public class AppUser implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**用户名*/ @Excel(name = "用户名", width = 15) @ApiModelProperty(value = "用户名") 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 index f0b3a69..ba8ab4a 100644 --- 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 @@ -1,6 +1,5 @@ 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; @@ -11,14 +10,4 @@ import com.baomidou.mybatisplus.extension.service.IService; * @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 index a3d7753..161c466 100644 --- 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 @@ -1,14 +1,8 @@ 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; @@ -21,34 +15,4 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; */ @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/sysMiniapp/notice/entity/AppNotice.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/entity/AppNotice.java index 2e90541..24f3c5c 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/entity/AppNotice.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/notice/entity/AppNotice.java @@ -30,9 +30,9 @@ public class AppNotice implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**标题*/ @Excel(name = "标题", width = 15) @ApiModelProperty(value = "标题") diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java index 161da71..a2e3bca 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/AppProductController.java @@ -1,16 +1,11 @@ package org.jeecg.modules.sysMiniapp.product.controller; -import java.util.Arrays; 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.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.jeecg.common.system.base.controller.JeecgController; @@ -18,8 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.jeecg.common.aspect.annotation.AutoLog; import org.apache.shiro.authz.annotation.RequiresPermissions; /** @@ -36,104 +29,6 @@ public class AppProductController extends JeecgController> queryPageList(AppProduct appProduct, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(appProduct, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = appProductService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param appProduct - * @return - */ - @AutoLog(value = "产品管理-添加") - @ApiOperation(value="产品管理-添加", notes="产品管理-添加") - @RequiresPermissions("product:app_product:add") - @PostMapping(value = "/add") - public Result add(@RequestBody AppProduct appProduct) { - appProductService.save(appProduct); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param appProduct - * @return - */ - @AutoLog(value = "产品管理-编辑") - @ApiOperation(value="产品管理-编辑", notes="产品管理-编辑") - @RequiresPermissions("product:app_product:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody AppProduct appProduct) { - appProductService.updateById(appProduct); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "产品管理-通过id删除") - @ApiOperation(value="产品管理-通过id删除", notes="产品管理-通过id删除") - @RequiresPermissions("product:app_product:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - appProductService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "产品管理-批量删除") - @ApiOperation(value="产品管理-批量删除", notes="产品管理-批量删除") - @RequiresPermissions("product:app_product:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.appProductService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "产品管理-通过id查询") - @ApiOperation(value="产品管理-通过id查询", notes="产品管理-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - AppProduct appProduct = appProductService.getById(id); - if(appProduct==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(appProduct); - } /** * 导出excel diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/ProductController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/ProductController.java new file mode 100644 index 0000000..6511c59 --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/controller/ProductController.java @@ -0,0 +1,215 @@ +package org.jeecg.modules.sysMiniapp.product.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.commons.lang.StringUtils; +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.constant.SymbolConstant; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.sysMiniapp.product.entity.AppProduct; +import org.jeecg.modules.sysMiniapp.product.service.IAppProductService; +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.jeecg.modules.sysMiniapp.product.entity.Product; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +/** +* @Description: 产品管理 +* @Author: jeecg-boot +* @Date: 2025-02-16 +* @Version: V1.0 +*/ +@Api(tags="产品管理") +@RestController +@RequestMapping("/product/appProduct") +@Slf4j +public class ProductController extends JeecgController { + @Autowired + private IAppProductService appProductService; + + @Autowired + private IAppProductCategoryJoinService appProductCategoryJoinService; + + @Autowired + private AppProductCategoryJoinMapper appProductCategoryJoinMapper; + + /** + * 分页列表查询 + * + * @param appProduct + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "产品管理-分页列表查询") + @ApiOperation(value="产品管理-分页列表查询", notes="产品管理-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(AppProduct appProduct, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(appProduct, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = appProductService.page(page, queryWrapper); + pageList.getRecords().forEach(item -> { + List categoryList = appProductCategoryJoinMapper.getProductCategorysByProductId(item.getId()); + if (oConvertUtils.isNotEmpty(categoryList)) { + item.setCategoryId(StringUtils.join(categoryList.toArray(), SymbolConstant.COMMA)); + } else { + item.setCategoryId(""); + } + }); + return Result.OK(pageList); + } + + + /** + * 添加 + * + * @param product + * @return + */ + @AutoLog(value = "产品管理-添加") + @ApiOperation(value="产品管理-添加", notes="产品管理-添加") + @RequiresPermissions("product:app_product:add") + @PostMapping(value = "/add") + @Transactional + public Result add(@RequestBody Product product) { + List categoryList = Arrays.asList(product.getCategoryId().split(",")); + AppProduct appProduct = new AppProduct(); + BeanUtils.copyProperties(product, appProduct); + appProductService.save(appProduct); + // 新增关联表 + List joinList = new ArrayList(); + for (String category : categoryList){ + AppProductCategoryJoin appProductCategoryJoin = new AppProductCategoryJoin(); + appProductCategoryJoin.setProductId(appProduct.getId()); + appProductCategoryJoin.setCategoryId(Integer.valueOf(category)); + joinList.add(appProductCategoryJoin); + } + appProductCategoryJoinService.saveOrUpdateBatch(joinList); + + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param product + * @return + */ + @AutoLog(value = "产品管理-编辑") + @ApiOperation(value="产品管理-编辑", notes="产品管理-编辑") + @RequiresPermissions("product:app_product:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + @Transactional + public Result edit(@RequestBody Product product) { + AppProduct appProduct = new AppProduct(); + BeanUtils.copyProperties(product, appProduct); + appProductService.updateById(appProduct); + // 查询已有的分类关联 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(AppProductCategoryJoin::getProductId,appProduct.getId()); + List existingJoins = appProductCategoryJoinService.list(query); + Set existingCategoryIds = existingJoins.stream() + .map(AppProductCategoryJoin::getCategoryId) + .collect(Collectors.toSet()); + + // 用户提交的分类ID列表 + List categoryList = Arrays.asList(product.getCategoryId().split(",")); + Set newCategoryIds = categoryList.stream() + .map(Integer::valueOf) + .collect(Collectors.toSet()); + + // 需要删除的关联 + List toDelete = existingJoins.stream() + .filter(join -> !newCategoryIds.contains(join.getCategoryId())) + .collect(Collectors.toList()); + + // 需要新增的关联 + List toAdd = newCategoryIds.stream() + .filter(categoryId -> !existingCategoryIds.contains(categoryId)) + .map(categoryId -> { + AppProductCategoryJoin join = new AppProductCategoryJoin(); + join.setProductId(appProduct.getId()); + join.setCategoryId(categoryId); + return join; + }) + .collect(Collectors.toList()); + + // 执行删除和新增 + if (!toDelete.isEmpty()) { + appProductCategoryJoinService.removeBatchByIds(toDelete); + } + if (!toAdd.isEmpty()) { + appProductCategoryJoinService.saveBatch(toAdd); + } + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "产品管理-通过id删除") + @ApiOperation(value="产品管理-通过id删除", notes="产品管理-通过id删除") + @RequiresPermissions("product:app_product:delete") + @DeleteMapping(value = "/delete") + @Transactional + public Result delete(@RequestParam(name="id",required=true) String id) { + appProductService.removeById(id); + // 删除关联表中的数据 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppProductCategoryJoin::getProductId, id); + appProductCategoryJoinService.remove(queryWrapper); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "产品管理-批量删除") + @ApiOperation(value="产品管理-批量删除", notes="产品管理-批量删除") + @RequiresPermissions("product:app_product:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + @Transactional + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + // 将逗号分隔的ID转换为列表 + List idList = Arrays.asList(ids.split(",")); + + // 批量删除产品 + appProductService.removeByIds(idList); + + // 批量删除关联表中的数据 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(AppProductCategoryJoin::getProductId, idList); + appProductCategoryJoinService.remove(queryWrapper); + return Result.OK("批量删除成功!"); + } +} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/AppProduct.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/AppProduct.java index 2e627a6..0b08bbd 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/AppProduct.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/AppProduct.java @@ -3,6 +3,7 @@ package org.jeecg.modules.sysMiniapp.product.entity; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -29,17 +30,13 @@ public class AppProduct implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**产品名称*/ @Excel(name = "产品名称", width = 15) @ApiModelProperty(value = "产品名称") private java.lang.String name; - /**产品分类*/ - @Excel(name = "产品分类", width = 15) - @ApiModelProperty(value = "产品分类") - private java.lang.Integer categoryId; /**产品内容*/ @Excel(name = "产品内容", width = 15) @ApiModelProperty(value = "产品内容") @@ -67,4 +64,9 @@ public class AppProduct implements Serializable { /**所属部门*/ @ApiModelProperty(value = "所属部门") private java.lang.String sysOrgCode; + /** + * 多分类ids临时用,不持久化数据库(数据库字段不存在) + */ + @TableField(exist = false) + private String categoryId; } diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/Product.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/Product.java new file mode 100644 index 0000000..3ef41b3 --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/product/entity/Product.java @@ -0,0 +1,64 @@ +package org.jeecg.modules.sysMiniapp.product.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; + +/** + * @Description: 产品管理 + * @Author: jeecg-boot + * @Date: 2025-02-16 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="app_product对象", description="产品管理") +public class Product implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @ApiModelProperty(value = "主键") + private Integer id; + /**产品名称*/ + @ApiModelProperty(value = "产品名称") + private String name; + /**产品分类*/ + @ApiModelProperty(value = "产品分类") + private String categoryId; + /**产品内容*/ + @ApiModelProperty(value = "产品内容") + private String content; + /**产品合同模板*/ + @ApiModelProperty(value = "产品合同模板") + private String pdf; + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private String sysOrgCode; +} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java index 30e8813..8bc13e2 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/AppCategoryController.java @@ -3,6 +3,7 @@ package org.jeecg.modules.sysMiniapp.productCategory.controller; import java.util.Arrays; 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.modules.sysMiniapp.productCategory.entity.AppCategory; diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/ProductCategoryController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/ProductCategoryController.java new file mode 100644 index 0000000..51c52cc --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/controller/ProductCategoryController.java @@ -0,0 +1,44 @@ +package org.jeecg.modules.sysMiniapp.productCategory.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.sysMiniapp.productCategory.entity.AppCategory; +import org.jeecg.modules.sysMiniapp.productCategory.service.IAppCategoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** +* @Description: 产品分类管理 +* @Author: jeecg-boot +* @Date: 2025-02-16 +* @Version: V1.0 +*/ +@Api(tags="产品分类管理") +@RestController +@RequestMapping("/productCategory/appCategory") +@Slf4j +public class ProductCategoryController extends JeecgController { + @Autowired + private IAppCategoryService appCategoryService; + + @RequestMapping(value = "/queryList", method = RequestMethod.GET) + public Result> queryList(@RequestParam(name="ids",required=false) String ids) { + Result> result = new Result>(); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + if(oConvertUtils.isNotEmpty(ids)){ + query.in(AppCategory::getId, ids.split(",")); + } + //此处查询忽略时间条件 + List ls = appCategoryService.list(query); + result.setSuccess(true); + result.setResult(ls); + return result; + } + +} diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/entity/AppCategory.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/entity/AppCategory.java index a4af789..bc124d3 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/entity/AppCategory.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategory/entity/AppCategory.java @@ -29,9 +29,9 @@ public class AppCategory implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**名称*/ @Excel(name = "名称", width = 15) @ApiModelProperty(value = "名称") diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/entity/AppProductCategoryJoin.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/entity/AppProductCategoryJoin.java index 07bdd09..45cc723 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/entity/AppProductCategoryJoin.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/entity/AppProductCategoryJoin.java @@ -29,9 +29,9 @@ public class AppProductCategoryJoin implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**产品 id*/ @Excel(name = "产品 id", width = 15) @ApiModelProperty(value = "产品 id") diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/AppProductCategoryJoinMapper.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/AppProductCategoryJoinMapper.java index 0638598..6186993 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/AppProductCategoryJoinMapper.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/AppProductCategoryJoinMapper.java @@ -1,8 +1,11 @@ package org.jeecg.modules.sysMiniapp.productCategoryJoin.mapper; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.sysMiniapp.productCategoryJoin.entity.AppProductCategoryJoin; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; + /** * @Description: 产品分类关联表 * @Author: jeecg-boot @@ -11,4 +14,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface AppProductCategoryJoinMapper extends BaseMapper { + /** + * 通过产品 id 获取产品分类 ids + * @param productId + * @return + */ + List getProductCategorysByProductId(@Param("productId") Integer productId); } diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/xml/AppProductCategoryJoinMapper.xml b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/xml/AppProductCategoryJoinMapper.xml index 230f5d5..78252ef 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/xml/AppProductCategoryJoinMapper.xml +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/mapper/xml/AppProductCategoryJoinMapper.xml @@ -2,4 +2,9 @@ + + diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/productCategoryJoin/service/impl/AppProductCategoryJoinServiceImpl.java index 5cc2413..8ac925e 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/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.sysMiniapp.productCategoryJoin.service.impl; +import org.jeecg.modules.sysMiniapp.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/sysMiniapp/store/entity/AppStore.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/entity/AppStore.java index 45687fb..d89598a 100644 --- a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/entity/AppStore.java +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/store/entity/AppStore.java @@ -30,9 +30,9 @@ public class AppStore implements Serializable { private static final long serialVersionUID = 1L; /**主键*/ - @TableId(type = IdType.ASSIGN_ID) + @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") - private java.lang.String id; + private java.lang.Integer id; /**门店名称*/ @Excel(name = "门店名称", width = 15) @ApiModelProperty(value = "门店名称") diff --git a/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/user/controller/UserController.java b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/user/controller/UserController.java new file mode 100644 index 0000000..451bff5 --- /dev/null +++ b/jeecg-module-demo/src/main/java/org/jeecg/modules/sysMiniapp/user/controller/UserController.java @@ -0,0 +1,73 @@ +package org.jeecg.modules.sysMiniapp.user.controller; + +import cn.hutool.core.util.StrUtil; +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.constant.CacheConstant; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.util.PasswordUtil; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; +import org.jeecg.modules.sysMiniapp.appuser.service.IAppUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.web.bind.annotation.*; + +/** +* @Description: 应用用户表 +* @Author: jeecg-boot +* @Date: 2025-02-16 +* @Version: V1.0 +*/ +@Api(tags="应用用户表") +@RestController +@RequestMapping("/appuser/appUser") +@Slf4j +public class UserController extends JeecgController { + @Autowired + private IAppUserService appUserService; + + /** + * 添加 + * + * @param appUser + * @return + */ + @AutoLog(value = "应用用户表-添加") + @ApiOperation(value="应用用户表-添加", notes="应用用户表-添加") + @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("添加成功!"); + } + + /** + * 编辑 + * + * @param appUser + * @return + */ + @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("编辑成功!"); + } +} 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/MUserController.java similarity index 95% rename from jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/UserController.java rename to jeecg-module-miniapp/src/main/java/org/jeecg/modules/miniapp/user/contoller/MUserController.java index 60573ec..7eb46e8 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/MUserController.java @@ -3,7 +3,6 @@ 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; @@ -22,7 +21,7 @@ import javax.servlet.http.HttpServletRequest; @RestController @RequestMapping("/miniapp/user") @Slf4j -public class UserController { +public class MUserController { @Autowired UserService userService; 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 3067388..2ff8bc7 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 @@ -2,6 +2,7 @@ package org.jeecg.modules.miniapp.user.service; import com.alibaba.fastjson.JSONObject; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.sysMiniapp.appuser.entity.AppUser; import org.jeecg.modules.miniapp.user.domain.WxLoginInfo; import javax.servlet.http.HttpServletRequest; @@ -31,4 +32,13 @@ public interface UserService { * @return */ Result logout(HttpServletRequest request); + + /** + * 通过用户名查询用户信息 + * @param userName + * @return + */ + AppUser getUserByName(String userName); + + Result checkUserIsEffective(AppUser appUser); } 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 cb50089..da20715 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 @@ -9,8 +9,8 @@ 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.CacheConstant; 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; @@ -18,10 +18,12 @@ 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.mapper.AppUserMapper; 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.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -34,7 +36,7 @@ import java.util.Date; */ @Service @Slf4j -public class UserServiceImpl extends JeecgController implements UserService { +public class UserServiceImpl implements UserService { @Autowired private WxMaService wxMaService; @@ -45,6 +47,9 @@ public class UserServiceImpl extends JeecgController i @Autowired private IAppUserService appUserService; + @Autowired + private AppUserMapper appUserMapper; + @Autowired private BaseCommonService baseCommonService; @@ -86,8 +91,8 @@ public class UserServiceImpl extends JeecgController i } //update-end-author:taoyan date:2022-11-7 for: issues/4109 平台用户登录失败锁定用户 //1. 校验用户是否有效 - AppUser appUser = appUserService.getUserByName(username); - result = (Result) appUserService.checkUserIsEffective(appUser); + AppUser appUser = getUserByName(username); + result = (Result) checkUserIsEffective(appUser); if(!result.isSuccess()) { return result; } @@ -150,7 +155,7 @@ public class UserServiceImpl extends JeecgController i return Result.error("退出登录失败!"); } String username = JwtUtil.getUsername(token); - AppUser appUser = appUserService.getUserByName(username); + AppUser appUser = getUserByName(username); if(appUser!=null) { //update-begin--Author:wangshuai Date:20200714 for:登出日志没有记录人员 baseCommonService.addLog("用户名: "+appUser.getNickName()+",退出成功!", CommonConstant.LOG_TYPE_1, null); @@ -168,6 +173,30 @@ public class UserServiceImpl extends JeecgController i } } + @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; + } + /** * 登录失败超出次数5 返回true * @param username