From b141d951614fc8e0a8090b3b1a726313016594bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 23 Jul 2024 22:27:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EMpAd=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cms/controller/MpController.java | 15 ++++++++++++ .../cms/controller/WebsiteController.java | 3 +++ .../com/gxwebsoft/cms/entity/MpField.java | 19 ++++++++++----- .../java/com/gxwebsoft/cms/entity/MpMenu.java | 3 +++ .../com/gxwebsoft/cms/entity/MpPages.java | 6 +++++ .../cms/mapper/xml/MpFieldMapper.xml | 5 +++- .../oa/controller/AppController.java | 14 +++++++++++ .../controller/GoodsCategoryController.java | 23 +++++++++++++++++++ .../gxwebsoft/shop/entity/GoodsCategory.java | 15 ++++++++---- 9 files changed, 92 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gxwebsoft/cms/controller/MpController.java b/src/main/java/com/gxwebsoft/cms/controller/MpController.java index 02a800a..4d7f22f 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/MpController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/MpController.java @@ -76,6 +76,7 @@ public class MpController extends BaseController { // 获取小程序信息 final Mp mp = mpService.getOne(new LambdaQueryWrapper().eq(Mp::getTenantId, tenantId).last("limit 1")); + mp.setAppSecret(null); map.put("mp", mp); // 原生导航条 @@ -203,6 +204,20 @@ public class MpController extends BaseController { mpFieldService.save(field); } + @PreAuthorize("hasAuthority('cms:mp:remove')") + @ApiOperation("清除缓存") + @DeleteMapping("/clearSiteInfo/{key}") + public ApiResult clearSiteInfo(@PathVariable("key") String key) { + final String siteInfo = redisUtil.get(key); + if(StrUtil.isNotBlank(siteInfo)){ + redisUtil.delete(key); + // 选择支付方式 + redisUtil.delete("SelectPayment:".concat(getTenantId().toString())); + return success("清除成功"); + } + return success("清除失败"); + } + @ApiOperation("分页查询小程序信息") @GetMapping("/page") public ApiResult> page(MpParam param) { diff --git a/src/main/java/com/gxwebsoft/cms/controller/WebsiteController.java b/src/main/java/com/gxwebsoft/cms/controller/WebsiteController.java index fef49c7..19e70fc 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/WebsiteController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/WebsiteController.java @@ -427,7 +427,10 @@ public class WebsiteController extends BaseController { public ApiResult clearSiteInfo(@PathVariable("key") String key) { final String siteInfo = redisUtil.get(key); if(StrUtil.isNotBlank(siteInfo)){ + // 清除指定key redisUtil.delete(key); + // 清除小程序缓存 + redisUtil.delete("MpInfo:".concat(getTenantId().toString())); // 选择支付方式 redisUtil.delete("SelectPayment:".concat(getTenantId().toString())); return success("清除成功"); diff --git a/src/main/java/com/gxwebsoft/cms/entity/MpField.java b/src/main/java/com/gxwebsoft/cms/entity/MpField.java index d704c1d..d256021 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/MpField.java +++ b/src/main/java/com/gxwebsoft/cms/entity/MpField.java @@ -1,11 +1,11 @@ package com.gxwebsoft.cms.entity; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.*; + import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.TableLogic; import java.io.Serializable; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -40,6 +40,13 @@ public class MpField implements Serializable { @ApiModelProperty(value = "名称") private String value; + @ApiModelProperty(value = "页面ID") + private Integer pageId; + + @ApiModelProperty(value = "页面名称") + @TableField(exist = false) + private String pageName; + @ApiModelProperty(value = "排序(数字越小越靠前)") private Integer sortNumber; @@ -50,7 +57,7 @@ public class MpField implements Serializable { @ApiModelProperty(value = "租户id") private Integer tenantId; - @ApiModelProperty(value = "注册时间") - private LocalDateTime createTime; + @ApiModelProperty(value = "创建时间") + private Date createTime; } diff --git a/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java b/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java index 541c7de..46bc18d 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java +++ b/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java @@ -61,6 +61,9 @@ public class MpMenu implements Serializable { @ApiModelProperty(value = "图标颜色") private String color; + @ApiModelProperty(value = "上传图标") + private String avatar; + @ApiModelProperty(value = "是否隐藏, 0否, 1是(仅注册路由不显示在左侧菜单)") private Integer hide; diff --git a/src/main/java/com/gxwebsoft/cms/entity/MpPages.java b/src/main/java/com/gxwebsoft/cms/entity/MpPages.java index c3912c2..794d97c 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/MpPages.java +++ b/src/main/java/com/gxwebsoft/cms/entity/MpPages.java @@ -48,6 +48,12 @@ public class MpPages implements Serializable { @ApiModelProperty(value = "图标") private String icon; + @ApiModelProperty(value = "未选中") + private String iconPath; + + @ApiModelProperty(value = "已选中") + private String selectedIconPath; + @ApiModelProperty(value = "排序(数字越小越靠前)") private Integer sortNumber; diff --git a/src/main/java/com/gxwebsoft/cms/mapper/xml/MpFieldMapper.xml b/src/main/java/com/gxwebsoft/cms/mapper/xml/MpFieldMapper.xml index 97000f0..80a257c 100644 --- a/src/main/java/com/gxwebsoft/cms/mapper/xml/MpFieldMapper.xml +++ b/src/main/java/com/gxwebsoft/cms/mapper/xml/MpFieldMapper.xml @@ -4,8 +4,9 @@ - SELECT a.* + SELECT a.*,b.title as pageName FROM cms_mp_field a + LEFT JOIN cms_mp_pages b ON a.page_id = b.id AND a.id = #{param.id} @@ -39,6 +40,8 @@ AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + OR a.name LIKE CONCAT('%', #{param.keywords}, '%' + OR a.value LIKE CONCAT('%', #{param.keywords}, '%' ) diff --git a/src/main/java/com/gxwebsoft/oa/controller/AppController.java b/src/main/java/com/gxwebsoft/oa/controller/AppController.java index 16334e3..4c7d759 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/AppController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/AppController.java @@ -301,4 +301,18 @@ public class AppController extends BaseController { return success("应用信息",appInfo); } + @ApiOperation("查询我的项目信息") + @GetMapping("/getMyApp") + public ApiResult getMyApp() { + final User loginUser = getLoginUser(); + // 未登录情况 + if(loginUser == null){ + return fail("请先登录",null); + } + appService.list(); + + // 使用关联查询 + return success("查询成功",null); + } + } diff --git a/src/main/java/com/gxwebsoft/shop/controller/GoodsCategoryController.java b/src/main/java/com/gxwebsoft/shop/controller/GoodsCategoryController.java index 225a83e..0872503 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/GoodsCategoryController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/GoodsCategoryController.java @@ -1,19 +1,27 @@ package com.gxwebsoft.shop.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.common.core.web.BatchParam; import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.shop.entity.Goods; import com.gxwebsoft.shop.entity.GoodsCategory; import com.gxwebsoft.shop.param.GoodsCategoryParam; import com.gxwebsoft.shop.service.GoodsCategoryService; +import com.gxwebsoft.shop.service.GoodsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import static com.gxwebsoft.common.core.utils.CommonUtil.toTreeData; /** * 商品分类控制器 @@ -27,7 +35,22 @@ import java.util.List; public class GoodsCategoryController extends BaseController { @Resource private GoodsCategoryService goodsCategoryService; + @Resource + private GoodsService goodsService; + @ApiOperation("查询全部商品分类(树型结构)") + @GetMapping("/getTree") + public ApiResult> getTree(GoodsCategoryParam param) { + final List list = goodsCategoryService.listRel(param); + final Set categoryIds = list.stream().map(GoodsCategory::getCategoryId).collect(Collectors.toSet()); + final List goods = goodsService.list(new LambdaQueryWrapper().in(Goods::getCategoryId, categoryIds).eq(Goods::getStatus,0).eq(Goods::getDeleted,0)); + final Map> collectGoods = goods.stream().collect(Collectors.groupingBy(Goods::getCategoryId)); + list.forEach(d -> { + d.setName(d.getTitle()); + d.setChildrens(collectGoods.get(d.getCategoryId())); + }); + return success(list); + } @ApiOperation("分页查询商品分类") @GetMapping("/page") public ApiResult> page(GoodsCategoryParam param) { diff --git a/src/main/java/com/gxwebsoft/shop/entity/GoodsCategory.java b/src/main/java/com/gxwebsoft/shop/entity/GoodsCategory.java index 9426502..67d8cd8 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/GoodsCategory.java +++ b/src/main/java/com/gxwebsoft/shop/entity/GoodsCategory.java @@ -1,12 +1,11 @@ package com.gxwebsoft.shop.entity; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.*; + import java.time.LocalDateTime; -import com.baomidou.mybatisplus.annotation.TableLogic; import java.io.Serializable; import java.util.Date; +import java.util.List; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -36,6 +35,10 @@ public class GoodsCategory implements Serializable { @ApiModelProperty(value = "分类名称") private String title; + @ApiModelProperty(value = "分类别名") + @TableField(exist = false) + private String name; + @ApiModelProperty(value = "类型 0列表 1单页 2外链") private Integer type; @@ -91,4 +94,8 @@ public class GoodsCategory implements Serializable { @ApiModelProperty(value = "修改时间") private Date updateTime; + @ApiModelProperty("商品列表") + @TableField(exist = false) + private List childrens; + }