ycl-common/src/main/java/com/ycl/entity/platform/UmsThirdApplications.java
New file @@ -0,0 +1,48 @@ package com.ycl.entity.platform; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import java.io.Serializable; /** * <p> * * </p> * * @author wl * @since 2022-09-08 */ @Getter @Setter @TableName("ums_third_applications") @ApiModel(value = "UmsThirdApplications对象", description = "") public class UmsThirdApplications implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("应用描述") private String applicationName; @ApiModelProperty("应用图标") private String applicationIconUrl; @ApiModelProperty("应用类型(0 网页应用,1手机端应用,2 pc端应用,3 ios ,4 mac)") private Integer applicationType; @ApiModelProperty("网站url") private String websiteUrl; @ApiModelProperty("应用描述") private String description; } ycl-common/src/main/java/com/ycl/entity/platform/UmsWebsiteLogo.java
New file @@ -0,0 +1,51 @@ package com.ycl.entity.platform; 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 io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotBlank; import java.io.Serializable; /** * <p> * * </p> * * @author wl * @since 2022-09-07 */ @Getter @Setter @TableName("ums_website_logo") @ApiModel(value = "UmsWebsiteLogo对象", description = "logo") public class UmsWebsiteLogo implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id",type = IdType.AUTO) private Long id; @ApiModelProperty("网站标题") @NotBlank(message = "网站标题为空") private String title; @ApiModelProperty("登录页图标地址") @NotBlank(message = "登录页图标地址为空") private String loginPageIconUrl; @ApiModelProperty("浏览器标签页图标地址") @NotBlank(message = "浏览器标签页图标地址为空") private String chromeLinkUrl; @ApiModelProperty("网页头部地址") @NotBlank(message = "网页头部地址为空") private String websiteHeadUrl; } ycl-common/src/main/java/com/ycl/entity/user/UmsMenu.java
@@ -54,5 +54,6 @@ @ApiModelProperty(value = "前端隐藏") private Integer hidden; @ApiModelProperty(value = "菜单描述") private String description; } ycl-common/src/main/java/com/ycl/entity/user/vo/UmsMenuVo.java
New file @@ -0,0 +1,60 @@ package com.ycl.entity.user.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * <p> * 菜单vo * </p> * * @author wl * @since 2022-09-08 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("ums_menu") @ApiModel(value="UmsMenuVo对象", description="自定义菜单输出") public class UmsMenuVo implements Serializable { private static final long serialVersionUID=1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty(value = "父级ID") private Long parentId; @ApiModelProperty(value = "创建时间") private Date createTime; @ApiModelProperty(value = "菜单名称") private String title; @ApiModelProperty(value = "菜单级数") private Integer level; @ApiModelProperty(value = "菜单排序") private Integer sort; @ApiModelProperty(value = "前端名称") private String name; @ApiModelProperty(value = "前端图标") private String icon; @ApiModelProperty(value = "前端隐藏") private Integer hidden; List<UmsMenuVo> menuVoArrayList; } ycl-common/src/main/java/com/ycl/mapper/platform/UmsThirdApplicationsMapper.java
New file @@ -0,0 +1,16 @@ package com.ycl.mapper.platform; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.platform.UmsThirdApplications; /** * <p> * Mapper 接口 * </p> * * @author wl * @since 2022-09-08 */ public interface UmsThirdApplicationsMapper extends BaseMapper<UmsThirdApplications> { } ycl-common/src/main/java/com/ycl/mapper/platform/UmsWebsiteLogoMapper.java
New file @@ -0,0 +1,16 @@ package com.ycl.mapper.platform; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.entity.platform.UmsWebsiteLogo; /** * <p> * Mapper 接口 * </p> * * @author wl * @since 2022-09-07 */ public interface UmsWebsiteLogoMapper extends BaseMapper<UmsWebsiteLogo> { } ycl-common/src/main/java/com/ycl/service/platform/UmsThirdApplicationsService.java
New file @@ -0,0 +1,16 @@ package com.ycl.service.platform; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.platform.UmsThirdApplications; /** * <p> * 服务类 * </p> * * @author wl * @since 2022-09-08 */ public interface UmsThirdApplicationsService extends IService<UmsThirdApplications> { } ycl-common/src/main/java/com/ycl/service/platform/UmsWebsiteLogoService.java
New file @@ -0,0 +1,16 @@ package com.ycl.service.platform; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.entity.platform.UmsWebsiteLogo; /** * <p> * 服务类 * </p> * * @author wl * @since 2022-09-07 */ public interface UmsWebsiteLogoService extends IService<UmsWebsiteLogo> { } ycl-common/src/main/java/com/ycl/service/platform/impl/UmsThirdApplicationsServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ycl.service.platform.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.entity.platform.UmsThirdApplications; import com.ycl.mapper.platform.UmsThirdApplicationsMapper; import com.ycl.service.platform.UmsThirdApplicationsService; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author wl * @since 2022-09-08 */ @Service public class UmsThirdApplicationsServiceImpl extends ServiceImpl<UmsThirdApplicationsMapper, UmsThirdApplications> implements UmsThirdApplicationsService { } ycl-common/src/main/java/com/ycl/service/platform/impl/UmsWebsiteLogoServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ycl.service.platform.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.entity.platform.UmsWebsiteLogo; import com.ycl.mapper.platform.UmsWebsiteLogoMapper; import com.ycl.service.platform.UmsWebsiteLogoService; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author wl * @since 2022-09-07 */ @Service public class UmsWebsiteLogoServiceImpl extends ServiceImpl<UmsWebsiteLogoMapper, UmsWebsiteLogo> implements UmsWebsiteLogoService { } ycl-common/src/main/resources/mapper/platform/UmsThirdApplicationsMapper.xml
New file @@ -0,0 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.mapper.platform.UmsThirdApplicationsMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.entity.platform.UmsThirdApplications"> <id column="id" property="id" /> <result column="application_name" property="applicationName" /> <result column="application_icon_url" property="applicationIconUrl" /> <result column="application_type" property="applicationType" /> <result column="website_url" property="websiteUrl" /> <result column="description" property="description" /> </resultMap> </mapper> ycl-common/src/main/resources/mapper/platform/UmsWebsiteLogoMapper.xml
New file @@ -0,0 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.mapper.platform.UmsWebsiteLogoMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.entity.platform.UmsWebsiteLogo"> <id column="id" property="id" /> <result column="title" property="title" /> <result column="login_page_icon_url" property="loginPageIconUrl" /> <result column="chrome_link_url" property="chromeLinkUrl" /> <result column="website_head_url" property="websiteHeadUrl" /> </resultMap> </mapper> ycl-platform/src/main/java/com/ycl/controller/platform/UmsWebsitePortalController.java
New file @@ -0,0 +1,142 @@ package com.ycl.controller.platform; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ycl.api.CommonResult; import com.ycl.entity.platform.UmsThirdApplications; import com.ycl.entity.user.UmsMenu; import com.ycl.entity.platform.UmsWebsiteLogo; import com.ycl.entity.user.vo.UmsMenuVo; import com.ycl.service.platform.UmsThirdApplicationsService; import com.ycl.service.user.UmsMenuService; import com.ycl.service.platform.UmsWebsiteLogoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.stream.Collectors; @Api(tags = "系统管理-门户管理") @RestController @RequestMapping("/system/portal") public class UmsWebsitePortalController { @Autowired UmsWebsiteLogoService umsWebsiteLogoService; @Autowired UmsMenuService umsMenuService; @Autowired UmsThirdApplicationsService umsThirdApplicationsService; @ApiOperation("logo管理-添加logo") @PostMapping("/logo/add") public CommonResult addLogo(@RequestBody @Validated UmsWebsiteLogo umsWebsiteLogo) { return CommonResult.success(umsWebsiteLogoService.save(umsWebsiteLogo)); } @ApiOperation("logo管理-修改logo") @PutMapping("/logo/update") public CommonResult updateLogo(@RequestBody UmsWebsiteLogo umsWebsiteLogo) { return CommonResult.success(umsWebsiteLogoService.updateById(umsWebsiteLogo)); } @ApiOperation("logo管理-查询logo") @GetMapping("/logo/search") public CommonResult searchLogo() { return CommonResult.success(umsWebsiteLogoService.list(new QueryWrapper<>())); } @ApiOperation("logo管理-查询logo") @GetMapping("/logo/searchOne") public CommonResult searchLogo(@RequestParam Integer id) { return CommonResult.success(umsWebsiteLogoService.getOne(new QueryWrapper<UmsWebsiteLogo>().eq("id", id))); } @ApiOperation("logo管理-删除logo") @DeleteMapping("/logo/delete") public CommonResult removeLogo(@RequestParam Integer id) { return CommonResult.success(umsWebsiteLogoService.removeById(id)); } @ApiOperation("自定义菜单-菜单查询") @GetMapping("/menu/search") public CommonResult searchMenus() { List<UmsMenuVo> umsMenuVoList ; List<UmsMenu> firstMenu = umsMenuService.list(new QueryWrapper<UmsMenu>().eq("parent_id", 0)); umsMenuVoList = firstMenu.stream().map(item -> { UmsMenuVo umsMenuVo = new UmsMenuVo(); BeanUtils.copyProperties(item, umsMenuVo); return umsMenuVo; }).collect(Collectors.toList()); if (firstMenu.size()!=0){ umsMenuVoList.forEach(item -> { List<UmsMenuVo> secondMenuListVos; List<UmsMenu> secondMenuList = umsMenuService.list(new QueryWrapper<UmsMenu>().eq("parent_id", item.getId())); secondMenuListVos = secondMenuList.stream().map(itm2 -> { UmsMenuVo umsMenuVo = new UmsMenuVo(); BeanUtils.copyProperties(itm2, umsMenuVo); return umsMenuVo; }).collect(Collectors.toList()); if (secondMenuListVos.size() != 0 && secondMenuListVos != null) { secondMenuListVos.forEach(item1 -> { List<UmsMenuVo> thirdMenuVos; List<UmsMenu> thirdMenu = umsMenuService.list(new QueryWrapper<UmsMenu>().eq("parent_id", item1.getId())); thirdMenuVos = thirdMenu.stream().map(itm3 -> { UmsMenuVo umsMenuVo = new UmsMenuVo(); BeanUtils.copyProperties(itm3, umsMenuVo); return umsMenuVo; }).collect(Collectors.toList()); item1.setMenuVoArrayList(thirdMenuVos); }); } item.setMenuVoArrayList(secondMenuListVos); }); } return CommonResult.success(umsMenuVoList); } @ApiOperation("自定义菜单-添加菜单") @PostMapping("/menu/add") public CommonResult addMenu(@RequestBody UmsMenu umsMenu) { return CommonResult.success(umsMenuService.save(umsMenu)); } @ApiOperation("自定义菜单-修改菜单") @PostMapping("/menu/update") public CommonResult updateMenu(@RequestBody UmsMenu umsMenu) { return CommonResult.success(umsMenuService.updateById(umsMenu)); } @ApiOperation("第三方接口管理-添加") @PostMapping("/thirdApp/add") public CommonResult addThirdApp(@RequestBody @Validated UmsThirdApplications umsThirdApplications) { return CommonResult.success(umsThirdApplicationsService.save(umsThirdApplications)); } @ApiOperation("第三方接口管理-修改") @PutMapping("/thirdApp/update") public CommonResult updateThirdApp(@RequestBody UmsThirdApplications umsThirdApplications) { return CommonResult.success(umsThirdApplicationsService.updateById(umsThirdApplications)); } @ApiOperation("第三方接口管理-查询") @GetMapping("/thirdApp/search") public CommonResult searchThirdApp() { return CommonResult.success(umsThirdApplicationsService.list(new QueryWrapper<>())); } @ApiOperation("第三方接口管理-查询通过id") @GetMapping("/thirdApp/searchOne") public CommonResult searchThirdApp(@RequestParam Integer id) { return CommonResult.success(umsThirdApplicationsService.getOne(new QueryWrapper<UmsThirdApplications>().eq("id", id))); } @ApiOperation("第三方接口管理-删除") @DeleteMapping("/thirdApp/delete") public CommonResult removeThirdApp(@RequestParam Integer id) { return CommonResult.success(umsThirdApplicationsService.removeById(id)); } }