Browse Source

Merge remote-tracking branch 'origin/dev' into dev

fanxp 1 year ago
parent
commit
4178e675bc
23 changed files with 695 additions and 386 deletions
  1. 119 0
      src/main/java/com/xjrsoft/module/app/controller/BaseAppFunctionController.java
  2. 73 0
      src/main/java/com/xjrsoft/module/app/dto/AddBaseAppFunctionDto.java
  3. 29 0
      src/main/java/com/xjrsoft/module/app/dto/BaseAppFunctionListDto.java
  4. 5 5
      src/main/java/com/xjrsoft/module/app/dto/BaseAppFunctionPageDto.java
  5. 4 4
      src/main/java/com/xjrsoft/module/app/dto/UpdateBaseAppFunctionDto.java
  6. 123 0
      src/main/java/com/xjrsoft/module/app/entity/BaseAppFunction.java
  7. 17 0
      src/main/java/com/xjrsoft/module/app/mapper/BaseAppFunctionMapper.java
  8. 17 0
      src/main/java/com/xjrsoft/module/app/service/IBaseAppFunctionService.java
  9. 25 0
      src/main/java/com/xjrsoft/module/app/service/impl/BaseAppFunctionServiceImpl.java
  10. 74 0
      src/main/java/com/xjrsoft/module/app/vo/BaseAppFunctionListVo.java
  11. 104 0
      src/main/java/com/xjrsoft/module/app/vo/BaseAppFunctionPageVo.java
  12. 74 0
      src/main/java/com/xjrsoft/module/app/vo/BaseAppFunctionVo.java
  13. 0 103
      src/main/java/com/xjrsoft/module/system/controller/BaseMobileWorkflowConfigController.java
  14. 0 43
      src/main/java/com/xjrsoft/module/system/dto/AddBaseMobileWorkflowConfigDto.java
  15. 0 62
      src/main/java/com/xjrsoft/module/system/entity/BaseMobileWorkflowConfig.java
  16. 0 17
      src/main/java/com/xjrsoft/module/system/mapper/BaseMobileWorkflowConfigMapper.java
  17. 0 17
      src/main/java/com/xjrsoft/module/system/service/IBaseMobileWorkflowConfigService.java
  18. 8 5
      src/main/java/com/xjrsoft/module/system/service/impl/AuthorizeServiceImpl.java
  19. 0 25
      src/main/java/com/xjrsoft/module/system/service/impl/BaseMobileWorkflowConfigServiceImpl.java
  20. 0 49
      src/main/java/com/xjrsoft/module/system/vo/BaseMobileWorkflowConfigListVo.java
  21. 0 44
      src/main/java/com/xjrsoft/module/system/vo/BaseMobileWorkflowConfigVo.java
  22. 18 7
      src/main/resources/sqlScript/init_sql.sql
  23. 5 5
      src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

+ 119 - 0
src/main/java/com/xjrsoft/module/app/controller/BaseAppFunctionController.java

@@ -0,0 +1,119 @@
+package com.xjrsoft.module.app.controller;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.xjrsoft.common.constant.GlobalConstant;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.app.dto.AddBaseAppFunctionDto;
+import com.xjrsoft.module.app.dto.BaseAppFunctionPageDto;
+import com.xjrsoft.module.app.dto.UpdateBaseAppFunctionDto;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+
+import com.xjrsoft.module.app.dto.BaseAppFunctionListDto;
+import com.xjrsoft.module.app.entity.BaseAppFunction;
+import com.xjrsoft.module.app.service.IBaseAppFunctionService;
+import com.xjrsoft.module.app.vo.BaseAppFunctionListVo;
+
+import com.xjrsoft.module.app.vo.BaseAppFunctionPageVo;
+import com.xjrsoft.module.app.vo.BaseAppFunctionVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+* @title: APP端功能模块管理
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/app" + "/baseappfunction")
+@Api(value = "/app"  + "/baseappfunction",tags = "APP端功能模块管理代码")
+@AllArgsConstructor
+public class BaseAppFunctionController {
+
+
+    private final IBaseAppFunctionService baseAppFunctionService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="APP端功能模块管理列表(分页)")
+    @SaCheckPermission("baseappfunction:detail")
+    public RT<PageOutput<BaseAppFunctionPageVo>> page(@Valid BaseAppFunctionPageDto dto){
+
+        LambdaQueryWrapper<BaseAppFunction> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper
+                .orderByDesc(BaseAppFunction::getId)
+                .select(BaseAppFunction.class,x -> VoToColumnUtil.fieldsToColumns(BaseAppFunctionPageVo.class).contains(x.getProperty()));
+        IPage<BaseAppFunction> page = baseAppFunctionService.page(ConventPage.getPage(dto), queryWrapper);
+        PageOutput<BaseAppFunctionPageVo> pageOutput = ConventPage.getPageOutput(page, BaseAppFunctionPageVo.class);
+        return RT.ok(pageOutput);
+    }
+    @GetMapping(value = "/list")
+    @ApiOperation(value="根据Type返回模块")
+    @SaCheckPermission("baseappfunction:detail")
+    public RT<List<BaseAppFunctionListVo>> list(@Valid BaseAppFunctionListDto dto) {
+
+        LambdaQueryWrapper<BaseAppFunction> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper
+                .orderByDesc(BaseAppFunction::getSortCode)
+                .eq(BaseAppFunction::getType, dto.getType())
+                .select(BaseAppFunction.class, x -> VoToColumnUtil.fieldsToColumns(BaseAppFunctionListVo.class).contains(x.getProperty()));
+
+        List<BaseAppFunction> list = baseAppFunctionService.list(queryWrapper);
+        List<BaseAppFunctionListVo> listVos = BeanUtil.copyToList(list, BaseAppFunctionListVo.class);
+        return RT.ok(listVos);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询APP端功能模块管理信息")
+    @SaCheckPermission("baseappfunction:detail")
+    public RT<BaseAppFunctionVo> info(@RequestParam Long id){
+        BaseAppFunction baseAppFunction = baseAppFunctionService.getById(id);
+        if (baseAppFunction == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(baseAppFunction, BaseAppFunctionVo.class));
+    }
+
+
+    @PostMapping
+    @ApiOperation(value = "新增APP端功能模块管理")
+    @SaCheckPermission("baseappfunction:add")
+    public RT<Boolean> add(@Valid @RequestBody AddBaseAppFunctionDto dto){
+        BaseAppFunction baseAppFunction = BeanUtil.toBean(dto, BaseAppFunction.class);
+        boolean isSuccess = baseAppFunctionService.save(baseAppFunction);
+    return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改APP端功能模块管理")
+    @SaCheckPermission("baseappfunction:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateBaseAppFunctionDto dto){
+
+        BaseAppFunction baseAppFunction = BeanUtil.toBean(dto, BaseAppFunction.class);
+        return RT.ok(baseAppFunctionService.updateById(baseAppFunction));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除APP端功能模块管理")
+    @SaCheckPermission("baseappfunction:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(baseAppFunctionService.removeBatchByIds(ids));
+
+    }
+
+}

+ 73 - 0
src/main/java/com/xjrsoft/module/app/dto/AddBaseAppFunctionDto.java

@@ -0,0 +1,73 @@
+package com.xjrsoft.module.app.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: APP端功能模块管理
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Data
+public class AddBaseAppFunctionDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 功能分类(xjr_dictionary_item[APPFUNC])
+    */
+    @ApiModelProperty("功能分类(xjr_dictionary_item[APPFUNC])")
+    private String type;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 图标
+    */
+    @ApiModelProperty("图标")
+    private String icon;
+    /**
+    * 图标前缀
+    */
+    @ApiModelProperty("图标前缀")
+    private String prefix;
+    /**
+    * 图标颜色
+    */
+    @ApiModelProperty("图标颜色")
+    private String color;
+    /**
+    * 模板ID
+    */
+    @ApiModelProperty("模板ID")
+    private Long schemaId;
+    /**
+    * 排序
+    */
+    @ApiModelProperty("排序")
+    private Integer sortCode;
+    /**
+    * 菜单类型 0=菜单 1=目录
+    */
+    @ApiModelProperty("菜单类型 0=菜单 1=目录")
+    private Integer isDirectory;
+    /**
+    * 功能地址
+    */
+    @ApiModelProperty("功能地址")
+    private String url;
+
+}

+ 29 - 0
src/main/java/com/xjrsoft/module/app/dto/BaseAppFunctionListDto.java

@@ -0,0 +1,29 @@
+package com.xjrsoft.module.app.dto;
+
+import com.xjrsoft.common.page.ListInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+/**
+* @title: APP端功能模块管理列表查询入参
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseAppFunctionListDto extends ListInput {
+    /**
+     * 功能分类(xjr_dictionary_item[APPFUNC])
+     */
+    @ApiModelProperty("功能分类(xjr_dictionary_item[APPFUNC])")
+    private String type;
+}

+ 5 - 5
src/main/java/com/xjrsoft/module/system/dto/BaseMobileWorkflowConfigListDto.java → src/main/java/com/xjrsoft/module/app/dto/BaseAppFunctionPageDto.java

@@ -1,6 +1,6 @@
-package com.xjrsoft.module.system.dto;
+package com.xjrsoft.module.app.dto;
 
-import com.xjrsoft.common.page.ListInput;
+import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -13,14 +13,14 @@ import java.util.Date;
 
 
 /**
-* @title: APP 流程单独配置列表查询入参
+* @title: APP端功能模块管理分页查询入参
 * @Author fanxp
-* @Date: 2023-11-06
+* @Date: 2023-11-07
 * @Version 1.0
 */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class BaseMobileWorkflowConfigListDto extends ListInput {
+public class BaseAppFunctionPageDto extends PageInput {
 
 
 }

+ 4 - 4
src/main/java/com/xjrsoft/module/system/dto/UpdateBaseMobileWorkflowConfigDto.java → src/main/java/com/xjrsoft/module/app/dto/UpdateBaseAppFunctionDto.java

@@ -1,4 +1,4 @@
-package com.xjrsoft.module.system.dto;
+package com.xjrsoft.module.app.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,13 +14,13 @@ import java.util.Date;
 
 
 /**
-* @title: APP 流程单独配置
+* @title: APP端功能模块管理
 * @Author fanxp
-* @Date: 2023-11-06
+* @Date: 2023-11-07
 * @Version 1.0
 */
 @Data
-public class UpdateBaseMobileWorkflowConfigDto extends AddBaseMobileWorkflowConfigDto {
+public class UpdateBaseAppFunctionDto extends AddBaseAppFunctionDto {
 
     private static final long serialVersionUID = 1L;
 

+ 123 - 0
src/main/java/com/xjrsoft/module/app/entity/BaseAppFunction.java

@@ -0,0 +1,123 @@
+package com.xjrsoft.module.app.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: APP端功能模块管理
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Data
+@TableName("base_app_function")
+@ApiModel(value = "APP端功能模块管理对象", description = "APP端功能模块管理")
+public class BaseAppFunction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    @TableId
+    private Long id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 功能分类(xjr_dictionary_item[APPFUNC])
+    */
+    @ApiModelProperty("功能分类(xjr_dictionary_item[APPFUNC])")
+    private String type;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 图标
+    */
+    @ApiModelProperty("图标")
+    private String icon;
+    /**
+    * 图标前缀
+    */
+    @ApiModelProperty("图标前缀")
+    private String prefix;
+    /**
+    * 图标颜色
+    */
+    @ApiModelProperty("图标颜色")
+    private String color;
+    /**
+    * 模板ID
+    */
+    @ApiModelProperty("模板ID")
+    private Long schemaId;
+    /**
+    * 排序
+    */
+    @ApiModelProperty("排序")
+    private Integer sortCode;
+    /**
+    * 菜单类型 0=菜单 1=目录
+    */
+    @ApiModelProperty("菜单类型 0=菜单 1=目录")
+    private Integer isDirectory;
+    /**
+    * 功能地址
+    */
+    @ApiModelProperty("功能地址")
+    private String url;
+
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/app/mapper/BaseAppFunctionMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.app.entity.BaseAppFunction;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: APP端功能模块管理
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Mapper
+public interface BaseAppFunctionMapper extends BaseMapper<BaseAppFunction> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/app/service/IBaseAppFunctionService.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.app.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.app.entity.BaseAppFunction;
+import lombok.Data;
+import java.util.List;
+
+/**
+* @title: APP端功能模块管理
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+
+public interface IBaseAppFunctionService extends IService<BaseAppFunction> {
+}

+ 25 - 0
src/main/java/com/xjrsoft/module/app/service/impl/BaseAppFunctionServiceImpl.java

@@ -0,0 +1,25 @@
+package com.xjrsoft.module.app.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.app.entity.BaseAppFunction;
+import com.xjrsoft.module.app.mapper.BaseAppFunctionMapper;
+import com.xjrsoft.module.app.service.IBaseAppFunctionService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+/**
+* @title: APP端功能模块管理
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class BaseAppFunctionServiceImpl extends ServiceImpl<BaseAppFunctionMapper, BaseAppFunction> implements IBaseAppFunctionService {
+}

+ 74 - 0
src/main/java/com/xjrsoft/module/app/vo/BaseAppFunctionListVo.java

@@ -0,0 +1,74 @@
+package com.xjrsoft.module.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import com.xjrsoft.common.annotation.Trans;
+import com.xjrsoft.common.enums.TransType;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+* @title: APP端功能模块管理列表列表入参
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Data
+public class BaseAppFunctionListVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private String id;
+    /**
+    * 功能分类(xjr_dictionary_item[APPFUNC])
+    */
+    @ApiModelProperty("功能分类(xjr_dictionary_item[APPFUNC])")
+    private String type;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 图标
+    */
+    @ApiModelProperty("图标")
+    private String icon;
+    /**
+    * 图标前缀
+    */
+    @ApiModelProperty("图标前缀")
+    private String prefix;
+    /**
+    * 图标颜色
+    */
+    @ApiModelProperty("图标颜色")
+    private String color;
+    /**
+    * 模板ID
+    */
+    @ApiModelProperty("模板ID")
+    private Long schemaId;
+    /**
+    * 排序
+    */
+    @ApiModelProperty("排序")
+    private Integer sortCode;
+    /**
+    * 菜单类型 0=菜单 1=目录
+    */
+    @ApiModelProperty("菜单类型 0=菜单 1=目录")
+    private Integer isDirectory;
+    /**
+    * 功能地址
+    */
+    @ApiModelProperty("功能地址")
+    private String url;
+
+}

+ 104 - 0
src/main/java/com/xjrsoft/module/app/vo/BaseAppFunctionPageVo.java

@@ -0,0 +1,104 @@
+package com.xjrsoft.module.app.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import com.xjrsoft.common.annotation.Trans;
+import com.xjrsoft.common.enums.TransType;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+* @title: APP端功能模块管理分页列表出参
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Data
+public class BaseAppFunctionPageVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private String id;
+    /**
+    * 创建人
+    */
+    @ApiModelProperty("创建人")
+    private Long createUserId;
+    /**
+    * 创建时间
+    */
+    @ApiModelProperty("创建时间")
+    private Date createDate;
+    /**
+    * 修改人
+    */
+    @ApiModelProperty("修改人")
+    private Long modifyUserId;
+    /**
+    * 修改时间
+    */
+    @ApiModelProperty("修改时间")
+    private Date modifyDate;
+    /**
+    * 删除标记
+    */
+    @ApiModelProperty("删除标记")
+    private Integer deleteMark;
+    /**
+    * 有效标志
+    */
+    @ApiModelProperty("有效标志")
+    private Integer enabledMark;
+    /**
+    * 功能分类(xjr_dictionary_item[APPFUNC])
+    */
+    @ApiModelProperty("功能分类(xjr_dictionary_item[APPFUNC])")
+    private String type;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 图标
+    */
+    @ApiModelProperty("图标")
+    private String icon;
+    /**
+    * 图标前缀
+    */
+    @ApiModelProperty("图标前缀")
+    private String prefix;
+    /**
+    * 图标颜色
+    */
+    @ApiModelProperty("图标颜色")
+    private String color;
+    /**
+    * 模板ID
+    */
+    @ApiModelProperty("模板ID")
+    private Long schemaId;
+    /**
+    * 排序
+    */
+    @ApiModelProperty("排序")
+    private Integer sortCode;
+    /**
+    * 菜单类型 0=菜单 1=目录
+    */
+    @ApiModelProperty("菜单类型 0=菜单 1=目录")
+    private Integer isDirectory;
+    /**
+    * 功能地址
+    */
+    @ApiModelProperty("功能地址")
+    private String url;
+
+}

+ 74 - 0
src/main/java/com/xjrsoft/module/app/vo/BaseAppFunctionVo.java

@@ -0,0 +1,74 @@
+package com.xjrsoft.module.app.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+/**
+* @title: APP端功能模块管理表单出参
+* @Author fanxp
+* @Date: 2023-11-07
+* @Version 1.0
+*/
+@Data
+public class BaseAppFunctionVo {
+
+    /**
+    * 主键编号
+    */
+    @ApiModelProperty("主键编号")
+    private Long id;
+    /**
+    * 功能分类(xjr_dictionary_item[APPFUNC])
+    */
+    @ApiModelProperty("功能分类(xjr_dictionary_item[APPFUNC])")
+    private String type;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 图标
+    */
+    @ApiModelProperty("图标")
+    private String icon;
+    /**
+    * 图标前缀
+    */
+    @ApiModelProperty("图标前缀")
+    private String prefix;
+    /**
+    * 图标颜色
+    */
+    @ApiModelProperty("图标颜色")
+    private String color;
+    /**
+    * 模板ID
+    */
+    @ApiModelProperty("模板ID")
+    private Long schemaId;
+    /**
+    * 排序
+    */
+    @ApiModelProperty("排序")
+    private Integer sortCode;
+    /**
+    * 菜单类型 0=菜单 1=目录
+    */
+    @ApiModelProperty("菜单类型 0=菜单 1=目录")
+    private Integer isDirectory;
+    /**
+    * 功能地址
+    */
+    @ApiModelProperty("功能地址")
+    private String url;
+
+
+
+}

+ 0 - 103
src/main/java/com/xjrsoft/module/system/controller/BaseMobileWorkflowConfigController.java

@@ -1,103 +0,0 @@
-package com.xjrsoft.module.system.controller;
-
-import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.xjrsoft.common.constant.GlobalConstant;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.xjrsoft.common.page.ConventPage;
-import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.model.result.RT;
-import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.system.dto.AddBaseMobileWorkflowConfigDto;
-import com.xjrsoft.module.system.dto.UpdateBaseMobileWorkflowConfigDto;
-import cn.dev33.satoken.annotation.SaCheckPermission;
-
-import com.xjrsoft.module.system.dto.BaseMobileWorkflowConfigListDto;
-import com.xjrsoft.module.system.entity.BaseMobileWorkflowConfig;
-import com.xjrsoft.module.system.service.IBaseMobileWorkflowConfigService;
-import com.xjrsoft.module.system.vo.BaseMobileWorkflowConfigListVo;
-
-import com.xjrsoft.module.system.vo.BaseMobileWorkflowConfigVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-/**
-* @title: APP 流程单独配置
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@RestController
-@RequestMapping("/system" + "/basemobileworkflowconfig")
-@Api(value = "/system"  + "/basemobileworkflowconfig",tags = "APP 流程单独配置代码")
-@AllArgsConstructor
-public class BaseMobileWorkflowConfigController {
-
-
-    private final IBaseMobileWorkflowConfigService baseMobileWorkflowConfigService;
-
-    @GetMapping(value = "/list")
-    @ApiOperation(value="APP 流程单独配置列表(不分页)")
-    @SaCheckPermission("basemobileworkflowconfig:detail")
-    public RT<List<BaseMobileWorkflowConfigListVo>> list(@Valid BaseMobileWorkflowConfigListDto dto){
-
-        LambdaQueryWrapper<BaseMobileWorkflowConfig> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper
-                    .orderByDesc(BaseMobileWorkflowConfig::getId)
-                    .select(BaseMobileWorkflowConfig.class,x -> VoToColumnUtil.fieldsToColumns(BaseMobileWorkflowConfigListVo.class).contains(x.getProperty()));
-
-        List<BaseMobileWorkflowConfig> list = baseMobileWorkflowConfigService.list(queryWrapper);
-        List<BaseMobileWorkflowConfigListVo> listVos = BeanUtil.copyToList(list, BaseMobileWorkflowConfigListVo.class);
-        return RT.ok(listVos);
-    }
-
-    @GetMapping(value = "/info")
-    @ApiOperation(value="根据id查询APP 流程单独配置信息")
-    @SaCheckPermission("basemobileworkflowconfig:detail")
-    public RT<BaseMobileWorkflowConfigVo> info(@RequestParam Long id){
-        BaseMobileWorkflowConfig baseMobileWorkflowConfig = baseMobileWorkflowConfigService.getById(id);
-        if (baseMobileWorkflowConfig == null) {
-           return RT.error("找不到此数据!");
-        }
-        return RT.ok(BeanUtil.toBean(baseMobileWorkflowConfig, BaseMobileWorkflowConfigVo.class));
-    }
-
-
-    @PostMapping
-    @ApiOperation(value = "新增APP 流程单独配置")
-    @SaCheckPermission("basemobileworkflowconfig:add")
-    public RT<Boolean> add(@Valid @RequestBody AddBaseMobileWorkflowConfigDto dto){
-        BaseMobileWorkflowConfig baseMobileWorkflowConfig = BeanUtil.toBean(dto, BaseMobileWorkflowConfig.class);
-        boolean isSuccess = baseMobileWorkflowConfigService.save(baseMobileWorkflowConfig);
-    return RT.ok(isSuccess);
-    }
-
-    @PutMapping
-    @ApiOperation(value = "修改APP 流程单独配置")
-    @SaCheckPermission("basemobileworkflowconfig:edit")
-    public RT<Boolean> update(@Valid @RequestBody UpdateBaseMobileWorkflowConfigDto dto){
-
-        BaseMobileWorkflowConfig baseMobileWorkflowConfig = BeanUtil.toBean(dto, BaseMobileWorkflowConfig.class);
-        return RT.ok(baseMobileWorkflowConfigService.updateById(baseMobileWorkflowConfig));
-
-    }
-
-    @DeleteMapping
-    @ApiOperation(value = "删除APP 流程单独配置")
-    @SaCheckPermission("basemobileworkflowconfig:delete")
-    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
-        return RT.ok(baseMobileWorkflowConfigService.removeBatchByIds(ids));
-
-    }
-
-}

+ 0 - 43
src/main/java/com/xjrsoft/module/system/dto/AddBaseMobileWorkflowConfigDto.java

@@ -1,43 +0,0 @@
-package com.xjrsoft.module.system.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonFormat;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
-
-
-
-/**
-* @title: APP 流程单独配置
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@Data
-public class AddBaseMobileWorkflowConfigDto implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-    * 名称
-    */
-    @ApiModelProperty("名称")
-    private String name;
-    /**
-    * 编号 统一标识,手机端根据标识查询
-    */
-    @ApiModelProperty("编号 统一标识,手机端根据标识查询")
-    private String code;
-    /**
-    * 流程ID
-    */
-    @ApiModelProperty("流程ID")
-    private Long workflowId;
-
-}

+ 0 - 62
src/main/java/com/xjrsoft/module/system/entity/BaseMobileWorkflowConfig.java

@@ -1,62 +0,0 @@
-package com.xjrsoft.module.system.entity;
-
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.github.yulichang.annotation.EntityMapping;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import java.io.Serializable;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
-
-
-/**
-* @title: APP 流程单独配置
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@Data
-@TableName("base_mobile_workflow_config")
-@ApiModel(value = "APP 流程单独配置对象", description = "APP 流程单独配置")
-public class BaseMobileWorkflowConfig implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-    * 主键编号
-    */
-    @ApiModelProperty("主键编号")
-    @TableId
-    private Long id;
-    /**
-    * 名称
-    */
-    @ApiModelProperty("名称")
-    private String name;
-    /**
-    * 编号 统一标识,手机端根据标识查询
-    */
-    @ApiModelProperty("编号 统一标识,手机端根据标识查询")
-    private String code;
-    /**
-    * 流程ID
-    */
-    @ApiModelProperty("流程ID")
-    private Long workflowId;
-    /**
-    * 创建时间
-    */
-    @ApiModelProperty("创建时间")
-    @TableField(fill = FieldFill.INSERT)
-    private Date createDate;
-
-
-}

+ 0 - 17
src/main/java/com/xjrsoft/module/system/mapper/BaseMobileWorkflowConfigMapper.java

@@ -1,17 +0,0 @@
-package com.xjrsoft.module.system.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.github.yulichang.base.MPJBaseMapper;
-import com.xjrsoft.module.system.entity.BaseMobileWorkflowConfig;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
-* @title: APP 流程单独配置
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@Mapper
-public interface BaseMobileWorkflowConfigMapper extends BaseMapper<BaseMobileWorkflowConfig> {
-
-}

+ 0 - 17
src/main/java/com/xjrsoft/module/system/service/IBaseMobileWorkflowConfigService.java

@@ -1,17 +0,0 @@
-package com.xjrsoft.module.system.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.system.entity.BaseMobileWorkflowConfig;
-import lombok.Data;
-import java.util.List;
-
-/**
-* @title: APP 流程单独配置
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-
-public interface IBaseMobileWorkflowConfigService extends IService<BaseMobileWorkflowConfig> {
-}

+ 8 - 5
src/main/java/com/xjrsoft/module/system/service/impl/AuthorizeServiceImpl.java

@@ -113,7 +113,7 @@ public class AuthorizeServiceImpl extends ServiceImpl<AuthorizeMapper, Authorize
             formList = menuFormMapper.selectList(null);
         } else {
             List<Authorize> authorizeList = authorizeMapper.selectList(Wrappers.lambdaQuery(Authorize.class)
-                    .in(roleIdList.size() > 0,Authorize::getRoleId, roleIdList)
+                    .in(roleIdList.size() > 0, Authorize::getRoleId, roleIdList)
             );
 
             List<Long> buttonIds = authorizeList.stream().filter(x -> x.getAuthorizeType() == AuthorizeType.BUTTON.getCode()).map(Authorize::getObjectId).collect(Collectors.toList());
@@ -126,7 +126,7 @@ public class AuthorizeServiceImpl extends ServiceImpl<AuthorizeMapper, Authorize
             List<Long> columnIds = authorizeList.stream().filter(x -> x.getAuthorizeType() == AuthorizeType.COLUMN.getCode()).map(Authorize::getObjectId).collect(Collectors.toList());
             if (columnIds.size() > 0) {
                 LambdaQueryWrapper<MenuColumn> queryWrapper = Wrappers.lambdaQuery(MenuColumn.class);
-                queryWrapper.in(MenuColumn::getId, columnIds).select(MenuColumn::getMenuId,MenuColumn::getCode);
+                queryWrapper.in(MenuColumn::getId, columnIds).select(MenuColumn::getMenuId, MenuColumn::getCode);
                 columnList = menuColumnMapper.selectList(queryWrapper);
             }
 
@@ -147,7 +147,7 @@ public class AuthorizeServiceImpl extends ServiceImpl<AuthorizeMapper, Authorize
             vo.setButtonAuthCode(buttonList.stream().filter(x -> x.getMenuId().equals(menu.getId())).map(MenuButton::getCode).collect(Collectors.toSet()));
             vo.setColumnAuthCode(columnList.stream().filter(x -> x.getMenuId().equals(menu.getId())).map(MenuColumn::getCode).collect(Collectors.toSet()));
             // 处理表单字段,可能存在子表的情况
-            Set<Object> formAuthCodeList= new LinkedHashSet<>(formTreeVoList.size());
+            Set<Object> formAuthCodeList = new LinkedHashSet<>(formTreeVoList.size());
             for (MenuFormTreeVo treeVo : formTreeVoList) {
                 if (treeVo.getMenuId().equals(menu.getId())) {
                     List<MenuFormTreeVo> children = treeVo.getChildren();
@@ -169,8 +169,11 @@ public class AuthorizeServiceImpl extends ServiceImpl<AuthorizeMapper, Authorize
         }
 
         // 自定义接口权限
-        List<InterfaceAuth> interfaceAuthList = interfaceAuthMapper.selectList(Wrappers.lambdaQuery(InterfaceAuth.class)
-                .in(InterfaceAuth::getRoleId, roleIdList));
+        List<InterfaceAuth> interfaceAuthList = new ArrayList<>();
+        if (roleIdList.size() > 0) { // 学生和家长 没有
+            interfaceAuthList = interfaceAuthMapper.selectList(Wrappers.lambdaQuery(InterfaceAuth.class)
+                    .in(InterfaceAuth::getRoleId, roleIdList));
+        }
         if (CollectionUtils.isNotEmpty(interfaceAuthList)) {
             List<String> interfaceIdList = interfaceAuthList.stream().map(InterfaceAuth::getInterfaceId).collect(Collectors.toList());
             tokenSession.set(GlobalConstant.LOGIN_USER_INTERFACE_AUTH_CODE_KEY, interfaceIdList);

+ 0 - 25
src/main/java/com/xjrsoft/module/system/service/impl/BaseMobileWorkflowConfigServiceImpl.java

@@ -1,25 +0,0 @@
-package com.xjrsoft.module.system.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.github.yulichang.base.MPJBaseServiceImpl;
-import com.xjrsoft.module.system.entity.BaseMobileWorkflowConfig;
-import com.xjrsoft.module.system.mapper.BaseMobileWorkflowConfigMapper;
-import com.xjrsoft.module.system.service.IBaseMobileWorkflowConfigService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-
-/**
-* @title: APP 流程单独配置
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@Service
-@AllArgsConstructor
-public class BaseMobileWorkflowConfigServiceImpl extends ServiceImpl<BaseMobileWorkflowConfigMapper, BaseMobileWorkflowConfig> implements IBaseMobileWorkflowConfigService {
-}

+ 0 - 49
src/main/java/com/xjrsoft/module/system/vo/BaseMobileWorkflowConfigListVo.java

@@ -1,49 +0,0 @@
-package com.xjrsoft.module.system.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import com.xjrsoft.common.annotation.Trans;
-import com.xjrsoft.common.enums.TransType;
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
-* @title: APP 流程单独配置列表列表入参
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@Data
-public class BaseMobileWorkflowConfigListVo {
-
-    /**
-    * 主键编号
-    */
-    @ApiModelProperty("主键编号")
-    private String id;
-    /**
-    * 名称
-    */
-    @ApiModelProperty("名称")
-    private String name;
-    /**
-    * 编号 统一标识,手机端根据标识查询
-    */
-    @ApiModelProperty("编号 统一标识,手机端根据标识查询")
-    private String code;
-    /**
-    * 流程ID
-    */
-    @ApiModelProperty("流程ID")
-    private Long workflowId;
-    /**
-    * 创建时间
-    */
-    @ApiModelProperty("创建时间")
-    private Date createDate;
-
-}

+ 0 - 44
src/main/java/com/xjrsoft/module/system/vo/BaseMobileWorkflowConfigVo.java

@@ -1,44 +0,0 @@
-package com.xjrsoft.module.system.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalTime;
-import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
-
-/**
-* @title: APP 流程单独配置表单出参
-* @Author fanxp
-* @Date: 2023-11-06
-* @Version 1.0
-*/
-@Data
-public class BaseMobileWorkflowConfigVo {
-
-    /**
-    * 主键编号
-    */
-    @ApiModelProperty("主键编号")
-    private Long id;
-    /**
-    * 名称
-    */
-    @ApiModelProperty("名称")
-    private String name;
-    /**
-    * 编号 统一标识,手机端根据标识查询
-    */
-    @ApiModelProperty("编号 统一标识,手机端根据标识查询")
-    private String code;
-    /**
-    * 流程ID
-    */
-    @ApiModelProperty("流程ID")
-    private Long workflowId;
-
-
-
-}

+ 18 - 7
src/main/resources/sqlScript/init_sql.sql

@@ -1065,17 +1065,28 @@ create table file_receive
 ) engine=innodb default charset=utf8mb4 COLLATE = utf8mb4_0900_ai_ci comment '文件接收管理';
 
 -- ----------------------------
--- APP 流程单独配置
+-- APP端功能模块管理
 -- ----------------------------
-drop table if exists base_mobile_workflow_config;
-create table base_mobile_workflow_config
+drop table if exists base_app_function;
+create table base_app_function
 (
     id bigint not null comment '主键编号',
-    `name` varchar(100) NULL DEFAULT NULL COMMENT '名称',
-    `code` varchar(20) NULL DEFAULT NULL COMMENT '编号 统一标识,手机端根据标识查询',
-    `workflow_id`  bigint NULL DEFAULT NULL COMMENT '流程ID',
+    `create_user_id` bigint NULL DEFAULT NULL COMMENT '创建人',
     `create_date` date NULL DEFAULT NULL COMMENT '创建时间',
+    `modify_user_id` bigint NULL DEFAULT NULL COMMENT '修改人',
+    `modify_date` date NULL DEFAULT NULL COMMENT '修改时间',
+    `delete_mark` int NOT NULL COMMENT '删除标记',
+    `enabled_mark` int NOT NULL COMMENT '有效标志',
+    `type` varchar(20) NULL DEFAULT NULL COMMENT '功能分类(xjr_dictionary_item[APPFUNC])',
+    `name` varchar(100) NULL DEFAULT NULL COMMENT '名称',
+    `icon` varchar(100) NULL DEFAULT NULL COMMENT '图标',
+    `prefix` varchar(50) NULL DEFAULT NULL COMMENT '图标前缀',
+    `color` varchar(10) NULL DEFAULT NULL COMMENT '图标颜色',
+    `schema_id` bigint NULL DEFAULT NULL COMMENT '模板ID',
+    `sort_code` int NULL DEFAULT NULL COMMENT '排序',
+    `is_directory`  int NULL DEFAULT NULL COMMENT '菜单类型 0=菜单 1=目录',
+    `url` varchar(100) NULL DEFAULT NULL COMMENT '功能地址',
     primary key (`id`)
-) engine=innodb default charset=utf8mb4 COLLATE = utf8mb4_0900_ai_ci comment 'APP 流程单独配置';
+) engine=innodb default charset=utf8mb4 COLLATE = utf8mb4_0900_ai_ci comment 'APP端功能模块管理';
 
 SET FOREIGN_KEY_CHECKS = 1;

+ 5 - 5
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -328,10 +328,10 @@ public class FreeMarkerGeneratorTest {
 
 
     @Test
-    public void gcMobileWorkflowConfig() throws IOException {
+    public void gcAppFunction() throws IOException {
         List<TableConfig> tableConfigs = new ArrayList<>();
         TableConfig mainTable = new TableConfig();
-        mainTable.setTableName("base_mobile_workflow_config");
+        mainTable.setTableName("base_app_function");
         mainTable.setIsMain(true);
         mainTable.setPkField(GlobalConstant.DEFAULT_PK);
         mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);
@@ -340,12 +340,12 @@ public class FreeMarkerGeneratorTest {
 
         ApiGenerateCodesDto params = new ApiGenerateCodesDto();
         params.setAuthor("fanxp");
-        params.setPackageName("system");
+        params.setPackageName("app");
         params.setTableConfigs(tableConfigs);
-        params.setPage(false);
+        params.setPage(true);
         params.setImport(false);
         params.setExport(false);
-        params.setOutMainDir(true);
+        params.setOutMainDir(false);
         params.setDs(ds);