This commit is contained in:
gxwebsoft
2022-11-17 11:17:05 +08:00
parent b9ba66dcb2
commit 7ba1abf59f
654 changed files with 6609 additions and 201997 deletions

View File

@@ -1,5 +0,0 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.cms.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.cms.service.ArticleService;
import com.gxwebsoft.cms.entity.Article;
import com.gxwebsoft.cms.param.ArticleParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 文章记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Api(tags = "文章记录表管理")
@RestController
@RequestMapping("/api/cms/article")
public class ArticleController extends BaseController {
@Resource
private ArticleService articleService;
@PreAuthorize("hasAuthority('cms:article:list')")
@OperationLog
@ApiOperation("分页查询文章记录表")
@GetMapping("/page")
public ApiResult<PageResult<Article>> page(ArticleParam param) {
PageParam<Article, ArticleParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(articleService.page(page, page.getWrapper()));
// 使用关联查询
//return success(articleService.pageRel(param));
}
@PreAuthorize("hasAuthority('cms:article:list')")
@OperationLog
@ApiOperation("查询全部文章记录表")
@GetMapping()
public ApiResult<List<Article>> list(ArticleParam param) {
PageParam<Article, ArticleParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(articleService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(articleService.listRel(param));
}
@PreAuthorize("hasAuthority('cms:article:list')")
@OperationLog
@ApiOperation("根据id查询文章记录表")
@GetMapping("/{id}")
public ApiResult<Article> get(@PathVariable("id") Integer id) {
return success(articleService.getById(id));
// 使用关联查询
//return success(articleService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('cms:article:save')")
@OperationLog
@ApiOperation("添加文章记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Article article) {
if (articleService.save(article)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('cms:article:update')")
@OperationLog
@ApiOperation("修改文章记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Article article) {
if (articleService.updateById(article)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('cms:article:remove')")
@OperationLog
@ApiOperation("删除文章记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (articleService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('cms:article:save')")
@OperationLog
@ApiOperation("批量添加文章记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Article> list) {
if (articleService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('cms:article:update')")
@OperationLog
@ApiOperation("批量修改文章记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Article> batchParam) {
if (batchParam.update(articleService, "article_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('cms:article:remove')")
@OperationLog
@ApiOperation("批量删除文章记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (articleService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.cms.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.cms.service.CategoryService;
import com.gxwebsoft.cms.entity.Category;
import com.gxwebsoft.cms.param.CategoryParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 文章分类表控制器
*
* @author 科技小王子
* @since 2022-11-16 12:11:38
*/
@Api(tags = "文章分类表管理")
@RestController
@RequestMapping("/api/cms/category")
public class CategoryController extends BaseController {
@Resource
private CategoryService categoryService;
@PreAuthorize("hasAuthority('cms:category:list')")
@OperationLog
@ApiOperation("分页查询文章分类表")
@GetMapping("/page")
public ApiResult<PageResult<Category>> page(CategoryParam param) {
PageParam<Category, CategoryParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(categoryService.page(page, page.getWrapper()));
// 使用关联查询
//return success(categoryService.pageRel(param));
}
@PreAuthorize("hasAuthority('cms:category:list')")
@OperationLog
@ApiOperation("查询全部文章分类表")
@GetMapping()
public ApiResult<List<Category>> list(CategoryParam param) {
PageParam<Category, CategoryParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(categoryService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(categoryService.listRel(param));
}
@PreAuthorize("hasAuthority('cms:category:list')")
@OperationLog
@ApiOperation("根据id查询文章分类表")
@GetMapping("/{id}")
public ApiResult<Category> get(@PathVariable("id") Integer id) {
return success(categoryService.getById(id));
// 使用关联查询
//return success(categoryService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('cms:category:save')")
@OperationLog
@ApiOperation("添加文章分类表")
@PostMapping()
public ApiResult<?> save(@RequestBody Category category) {
if (categoryService.save(category)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('cms:category:update')")
@OperationLog
@ApiOperation("修改文章分类表")
@PutMapping()
public ApiResult<?> update(@RequestBody Category category) {
if (categoryService.updateById(category)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('cms:category:remove')")
@OperationLog
@ApiOperation("删除文章分类表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (categoryService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('cms:category:save')")
@OperationLog
@ApiOperation("批量添加文章分类表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Category> list) {
if (categoryService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('cms:category:update')")
@OperationLog
@ApiOperation("批量修改文章分类表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Category> batchParam) {
if (batchParam.update(categoryService, "category_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('cms:category:remove')")
@OperationLog
@ApiOperation("批量删除文章分类表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (categoryService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.cms.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.cms.service.DocsService;
import com.gxwebsoft.cms.entity.Docs;
import com.gxwebsoft.cms.param.DocsParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 文档管理记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Api(tags = "文档管理记录表管理")
@RestController
@RequestMapping("/api/cms/docs")
public class DocsController extends BaseController {
@Resource
private DocsService docsService;
@PreAuthorize("hasAuthority('cms:docs:list')")
@OperationLog
@ApiOperation("分页查询文档管理记录表")
@GetMapping("/page")
public ApiResult<PageResult<Docs>> page(DocsParam param) {
PageParam<Docs, DocsParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(docsService.page(page, page.getWrapper()));
// 使用关联查询
//return success(docsService.pageRel(param));
}
@PreAuthorize("hasAuthority('cms:docs:list')")
@OperationLog
@ApiOperation("查询全部文档管理记录表")
@GetMapping()
public ApiResult<List<Docs>> list(DocsParam param) {
PageParam<Docs, DocsParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(docsService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(docsService.listRel(param));
}
@PreAuthorize("hasAuthority('cms:docs:list')")
@OperationLog
@ApiOperation("根据id查询文档管理记录表")
@GetMapping("/{id}")
public ApiResult<Docs> get(@PathVariable("id") Integer id) {
return success(docsService.getById(id));
// 使用关联查询
//return success(docsService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('cms:docs:save')")
@OperationLog
@ApiOperation("添加文档管理记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Docs docs) {
if (docsService.save(docs)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('cms:docs:update')")
@OperationLog
@ApiOperation("修改文档管理记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Docs docs) {
if (docsService.updateById(docs)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('cms:docs:remove')")
@OperationLog
@ApiOperation("删除文档管理记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (docsService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('cms:docs:save')")
@OperationLog
@ApiOperation("批量添加文档管理记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Docs> list) {
if (docsService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('cms:docs:update')")
@OperationLog
@ApiOperation("批量修改文档管理记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Docs> batchParam) {
if (batchParam.update(docsService, "docs_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('cms:docs:remove')")
@OperationLog
@ApiOperation("批量删除文档管理记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (docsService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,85 @@
package com.gxwebsoft.cms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 文章记录表
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Article对象", description = "文章记录表")
@TableName("cms_article")
public class Article implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文章ID")
@TableId(value = "article_id", type = IdType.AUTO)
private Integer articleId;
@ApiModelProperty(value = "文章标题")
private String title;
@ApiModelProperty(value = "列表显示方式(10小图展示 20大图展示)")
private Integer showType;
@ApiModelProperty(value = "文章分类ID")
private Integer categoryId;
@ApiModelProperty(value = "封面图ID")
private String avatar;
@ApiModelProperty(value = "来源")
private String source;
@ApiModelProperty(value = "文章内容")
private String content;
@ApiModelProperty(value = "虚拟阅读量(仅用作展示)")
private Integer virtualViews;
@ApiModelProperty(value = "实际阅读量")
private Integer actualViews;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,67 @@
package com.gxwebsoft.cms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 文章分类表
*
* @author 科技小王子
* @since 2022-11-16 12:11:38
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Category对象", description = "文章分类表")
@TableName("cms_category")
public class Category implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文章分类ID")
@TableId(value = "category_id", type = IdType.AUTO)
private Integer categoryId;
@ApiModelProperty(value = "分类名称")
private String name;
@ApiModelProperty(value = "上级分类ID")
private Integer parentId;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,76 @@
package com.gxwebsoft.cms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 文档管理记录表
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Docs对象", description = "文档管理记录表")
@TableName("cms_docs")
public class Docs implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文档ID")
@TableId(value = "docs_id", type = IdType.AUTO)
private Integer docsId;
@ApiModelProperty(value = "文档标题")
private String title;
@ApiModelProperty(value = "上级目录")
private Integer parentId;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "所属门店ID")
private Integer shopId;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "文档内容")
private String content;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.cms.entity.Article;
import com.gxwebsoft.cms.param.ArticleParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
public interface ArticleMapper extends BaseMapper<Article> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Article>
*/
List<Article> selectPageRel(@Param("page") IPage<Article> page,
@Param("param") ArticleParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Article> selectListRel(@Param("param") ArticleParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.cms.entity.Category;
import com.gxwebsoft.cms.param.CategoryParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章分类表Mapper
*
* @author 科技小王子
* @since 2022-11-16 12:11:38
*/
public interface CategoryMapper extends BaseMapper<Category> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Category>
*/
List<Category> selectPageRel(@Param("page") IPage<Category> page,
@Param("param") CategoryParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Category> selectListRel(@Param("param") CategoryParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.cms.entity.Docs;
import com.gxwebsoft.cms.param.DocsParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文档管理记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
public interface DocsMapper extends BaseMapper<Docs> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Docs>
*/
List<Docs> selectPageRel(@Param("page") IPage<Docs> page,
@Param("param") DocsParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Docs> selectListRel(@Param("param") DocsParam param);
}

View File

@@ -0,0 +1,77 @@
<?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.gxwebsoft.cms.mapper.ArticleMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM cms_article a
<where>
<if test="param.articleId != null">
AND a.article_id = #{param.articleId}
</if>
<if test="param.title != null">
AND a.title LIKE CONCAT('%', #{param.title}, '%')
</if>
<if test="param.showType != null">
AND a.show_type = #{param.showType}
</if>
<if test="param.categoryId != null">
AND a.category_id = #{param.categoryId}
</if>
<if test="param.avatar != null">
AND a.avatar LIKE CONCAT('%', #{param.avatar}, '%')
</if>
<if test="param.source != null">
AND a.source LIKE CONCAT('%', #{param.source}, '%')
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.virtualViews != null">
AND a.virtual_views = #{param.virtualViews}
</if>
<if test="param.actualViews != null">
AND a.actual_views = #{param.actualViews}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.shopId != null">
AND a.shop_id = #{param.shopId}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.cms.entity.Article">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.cms.entity.Article">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,59 @@
<?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.gxwebsoft.cms.mapper.CategoryMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM cms_category a
<where>
<if test="param.categoryId != null">
AND a.category_id = #{param.categoryId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.parentId != null">
AND a.parent_id = #{param.parentId}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.shopId != null">
AND a.shop_id = #{param.shopId}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.cms.entity.Category">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.cms.entity.Category">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,68 @@
<?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.gxwebsoft.cms.mapper.DocsMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM cms_docs a
<where>
<if test="param.docsId != null">
AND a.docs_id = #{param.docsId}
</if>
<if test="param.title != null">
AND a.title LIKE CONCAT('%', #{param.title}, '%')
</if>
<if test="param.parentId != null">
AND a.parent_id = #{param.parentId}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.shopId != null">
AND a.shop_id = #{param.shopId}
</if>
<if test="param.visibility != null">
AND a.visibility LIKE CONCAT('%', #{param.visibility}, '%')
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.cms.entity.Docs">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.cms.entity.Docs">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,80 @@
package com.gxwebsoft.cms.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 文章记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "ArticleParam对象", description = "文章记录表查询参数")
public class ArticleParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文章ID")
@QueryField(type = QueryType.EQ)
private Integer articleId;
@ApiModelProperty(value = "文章标题")
private String title;
@ApiModelProperty(value = "列表显示方式(10小图展示 20大图展示)")
@QueryField(type = QueryType.EQ)
private Integer showType;
@ApiModelProperty(value = "文章分类ID")
@QueryField(type = QueryType.EQ)
private Integer categoryId;
@ApiModelProperty(value = "封面图ID")
private String avatar;
@ApiModelProperty(value = "来源")
private String source;
@ApiModelProperty(value = "文章内容")
private String content;
@ApiModelProperty(value = "虚拟阅读量(仅用作展示)")
@QueryField(type = QueryType.EQ)
private Integer virtualViews;
@ApiModelProperty(value = "实际阅读量")
@QueryField(type = QueryType.EQ)
private Integer actualViews;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
@QueryField(type = QueryType.EQ)
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,59 @@
package com.gxwebsoft.cms.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 文章分类表查询参数
*
* @author 科技小王子
* @since 2022-11-16 12:11:38
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CategoryParam对象", description = "文章分类表查询参数")
public class CategoryParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文章分类ID")
@QueryField(type = QueryType.EQ)
private Integer categoryId;
@ApiModelProperty(value = "分类名称")
private String name;
@ApiModelProperty(value = "上级分类ID")
@QueryField(type = QueryType.EQ)
private Integer parentId;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
@QueryField(type = QueryType.EQ)
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,69 @@
package com.gxwebsoft.cms.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 文档管理记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "DocsParam对象", description = "文档管理记录表查询参数")
public class DocsParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "文档ID")
@QueryField(type = QueryType.EQ)
private Integer docsId;
@ApiModelProperty(value = "文档标题")
private String title;
@ApiModelProperty(value = "上级目录")
@QueryField(type = QueryType.EQ)
private Integer parentId;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "所属门店ID")
@QueryField(type = QueryType.EQ)
private Integer shopId;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "文档内容")
private String content;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.cms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.cms.entity.Article;
import com.gxwebsoft.cms.param.ArticleParam;
import java.util.List;
/**
* 文章记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
public interface ArticleService extends IService<Article> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Article>
*/
PageResult<Article> pageRel(ArticleParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Article>
*/
List<Article> listRel(ArticleParam param);
/**
* 根据id查询
*
* @param articleId 文章ID
* @return Article
*/
Article getByIdRel(Integer articleId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.cms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.cms.entity.Category;
import com.gxwebsoft.cms.param.CategoryParam;
import java.util.List;
/**
* 文章分类表Service
*
* @author 科技小王子
* @since 2022-11-16 12:11:38
*/
public interface CategoryService extends IService<Category> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Category>
*/
PageResult<Category> pageRel(CategoryParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Category>
*/
List<Category> listRel(CategoryParam param);
/**
* 根据id查询
*
* @param categoryId 文章分类ID
* @return Category
*/
Category getByIdRel(Integer categoryId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.cms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.cms.entity.Docs;
import com.gxwebsoft.cms.param.DocsParam;
import java.util.List;
/**
* 文档管理记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
public interface DocsService extends IService<Docs> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Docs>
*/
PageResult<Docs> pageRel(DocsParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Docs>
*/
List<Docs> listRel(DocsParam param);
/**
* 根据id查询
*
* @param docsId 文档ID
* @return Docs
*/
Docs getByIdRel(Integer docsId);
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.cms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.cms.mapper.ArticleMapper;
import com.gxwebsoft.cms.service.ArticleService;
import com.gxwebsoft.cms.entity.Article;
import com.gxwebsoft.cms.param.ArticleParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 文章记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Service
public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements ArticleService {
@Override
public PageResult<Article> pageRel(ArticleParam param) {
PageParam<Article, ArticleParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Article> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Article> listRel(ArticleParam param) {
List<Article> list = baseMapper.selectListRel(param);
// 排序
PageParam<Article, ArticleParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Article getByIdRel(Integer articleId) {
ArticleParam param = new ArticleParam();
param.setArticleId(articleId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.cms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.cms.mapper.CategoryMapper;
import com.gxwebsoft.cms.service.CategoryService;
import com.gxwebsoft.cms.entity.Category;
import com.gxwebsoft.cms.param.CategoryParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 文章分类表Service实现
*
* @author 科技小王子
* @since 2022-11-16 12:11:38
*/
@Service
public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> implements CategoryService {
@Override
public PageResult<Category> pageRel(CategoryParam param) {
PageParam<Category, CategoryParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Category> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Category> listRel(CategoryParam param) {
List<Category> list = baseMapper.selectListRel(param);
// 排序
PageParam<Category, CategoryParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Category getByIdRel(Integer categoryId) {
CategoryParam param = new CategoryParam();
param.setCategoryId(categoryId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.cms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.cms.mapper.DocsMapper;
import com.gxwebsoft.cms.service.DocsService;
import com.gxwebsoft.cms.entity.Docs;
import com.gxwebsoft.cms.param.DocsParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 文档管理记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:40:27
*/
@Service
public class DocsServiceImpl extends ServiceImpl<DocsMapper, Docs> implements DocsService {
@Override
public PageResult<Docs> pageRel(DocsParam param) {
PageParam<Docs, DocsParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Docs> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Docs> listRel(DocsParam param) {
List<Docs> list = baseMapper.selectListRel(param);
// 排序
PageParam<Docs, DocsParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Docs getByIdRel(Integer docsId) {
DocsParam param = new DocsParam();
param.setDocsId(docsId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.AssetsService;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.param.AssetsParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 服务器资产记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:13:16
*/
@Api(tags = "服务器资产记录表管理")
@RestController
@RequestMapping("/api/oa/assets")
public class AssetsController extends BaseController {
@Resource
private AssetsService assetsService;
@PreAuthorize("hasAuthority('oa:assets:list')")
@OperationLog
@ApiOperation("分页查询服务器资产记录表")
@GetMapping("/page")
public ApiResult<PageResult<Assets>> page(AssetsParam param) {
PageParam<Assets, AssetsParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(assetsService.page(page, page.getWrapper()));
// 使用关联查询
//return success(assetsService.pageRel(param));
}
@PreAuthorize("hasAuthority('oa:assets:list')")
@OperationLog
@ApiOperation("查询全部服务器资产记录表")
@GetMapping()
public ApiResult<List<Assets>> list(AssetsParam param) {
PageParam<Assets, AssetsParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(assetsService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(assetsService.listRel(param));
}
@PreAuthorize("hasAuthority('oa:assets:list')")
@OperationLog
@ApiOperation("根据id查询服务器资产记录表")
@GetMapping("/{id}")
public ApiResult<Assets> get(@PathVariable("id") Integer id) {
return success(assetsService.getById(id));
// 使用关联查询
//return success(assetsService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('oa:assets:save')")
@OperationLog
@ApiOperation("添加服务器资产记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Assets assets) {
if (assetsService.save(assets)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:assets:update')")
@OperationLog
@ApiOperation("修改服务器资产记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Assets assets) {
if (assetsService.updateById(assets)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:assets:remove')")
@OperationLog
@ApiOperation("删除服务器资产记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (assetsService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('oa:assets:save')")
@OperationLog
@ApiOperation("批量添加服务器资产记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Assets> list) {
if (assetsService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:assets:update')")
@OperationLog
@ApiOperation("批量修改服务器资产记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Assets> batchParam) {
if (batchParam.update(assetsService, "assets_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:assets:remove')")
@OperationLog
@ApiOperation("批量删除服务器资产记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (assetsService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.CustomerService;
import com.gxwebsoft.oa.entity.Customer;
import com.gxwebsoft.oa.param.CustomerParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 客户管理记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:16:14
*/
@Api(tags = "客户管理记录表管理")
@RestController
@RequestMapping("/api/oa/customer")
public class CustomerController extends BaseController {
@Resource
private CustomerService customerService;
@PreAuthorize("hasAuthority('oa:customer:list')")
@OperationLog
@ApiOperation("分页查询客户管理记录表")
@GetMapping("/page")
public ApiResult<PageResult<Customer>> page(CustomerParam param) {
PageParam<Customer, CustomerParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(customerService.page(page, page.getWrapper()));
// 使用关联查询
//return success(customerService.pageRel(param));
}
@PreAuthorize("hasAuthority('oa:customer:list')")
@OperationLog
@ApiOperation("查询全部客户管理记录表")
@GetMapping()
public ApiResult<List<Customer>> list(CustomerParam param) {
PageParam<Customer, CustomerParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(customerService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(customerService.listRel(param));
}
@PreAuthorize("hasAuthority('oa:customer:list')")
@OperationLog
@ApiOperation("根据id查询客户管理记录表")
@GetMapping("/{id}")
public ApiResult<Customer> get(@PathVariable("id") Integer id) {
return success(customerService.getById(id));
// 使用关联查询
//return success(customerService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('oa:customer:save')")
@OperationLog
@ApiOperation("添加客户管理记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Customer customer) {
if (customerService.save(customer)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:customer:update')")
@OperationLog
@ApiOperation("修改客户管理记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Customer customer) {
if (customerService.updateById(customer)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:customer:remove')")
@OperationLog
@ApiOperation("删除客户管理记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (customerService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('oa:customer:save')")
@OperationLog
@ApiOperation("批量添加客户管理记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Customer> list) {
if (customerService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:customer:update')")
@OperationLog
@ApiOperation("批量修改客户管理记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Customer> batchParam) {
if (batchParam.update(customerService, "customer_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:customer:remove')")
@OperationLog
@ApiOperation("批量删除客户管理记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (customerService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.LinkService;
import com.gxwebsoft.oa.entity.Link;
import com.gxwebsoft.oa.param.LinkParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 常用链接推荐记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:10:56
*/
@Api(tags = "常用链接推荐记录表管理")
@RestController
@RequestMapping("/api/oa/link")
public class LinkController extends BaseController {
@Resource
private LinkService linkService;
@PreAuthorize("hasAuthority('oa:link:list')")
@OperationLog
@ApiOperation("分页查询常用链接推荐记录表")
@GetMapping("/page")
public ApiResult<PageResult<Link>> page(LinkParam param) {
PageParam<Link, LinkParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(linkService.page(page, page.getWrapper()));
// 使用关联查询
//return success(linkService.pageRel(param));
}
@PreAuthorize("hasAuthority('oa:link:list')")
@OperationLog
@ApiOperation("查询全部常用链接推荐记录表")
@GetMapping()
public ApiResult<List<Link>> list(LinkParam param) {
PageParam<Link, LinkParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(linkService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(linkService.listRel(param));
}
@PreAuthorize("hasAuthority('oa:link:list')")
@OperationLog
@ApiOperation("根据id查询常用链接推荐记录表")
@GetMapping("/{id}")
public ApiResult<Link> get(@PathVariable("id") Integer id) {
return success(linkService.getById(id));
// 使用关联查询
//return success(linkService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('oa:link:save')")
@OperationLog
@ApiOperation("添加常用链接推荐记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Link link) {
if (linkService.save(link)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:link:update')")
@OperationLog
@ApiOperation("修改常用链接推荐记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Link link) {
if (linkService.updateById(link)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:link:remove')")
@OperationLog
@ApiOperation("删除常用链接推荐记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (linkService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('oa:link:save')")
@OperationLog
@ApiOperation("批量添加常用链接推荐记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Link> list) {
if (linkService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:link:update')")
@OperationLog
@ApiOperation("批量修改常用链接推荐记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Link> batchParam) {
if (batchParam.update(linkService, "link_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:link:remove')")
@OperationLog
@ApiOperation("批量删除常用链接推荐记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (linkService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.ProjectService;
import com.gxwebsoft.oa.entity.Project;
import com.gxwebsoft.oa.param.ProjectParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 项目管理表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:00:43
*/
@Api(tags = "项目管理表管理")
@RestController
@RequestMapping("/api/oa/project")
public class ProjectController extends BaseController {
@Resource
private ProjectService projectService;
@PreAuthorize("hasAuthority('oa:project:list')")
@OperationLog
@ApiOperation("分页查询项目管理表")
@GetMapping("/page")
public ApiResult<PageResult<Project>> page(ProjectParam param) {
PageParam<Project, ProjectParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(projectService.page(page, page.getWrapper()));
// 使用关联查询
//return success(projectService.pageRel(param));
}
@PreAuthorize("hasAuthority('oa:project:list')")
@OperationLog
@ApiOperation("查询全部项目管理表")
@GetMapping()
public ApiResult<List<Project>> list(ProjectParam param) {
PageParam<Project, ProjectParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(projectService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(projectService.listRel(param));
}
@PreAuthorize("hasAuthority('oa:project:list')")
@OperationLog
@ApiOperation("根据id查询项目管理表")
@GetMapping("/{id}")
public ApiResult<Project> get(@PathVariable("id") Integer id) {
return success(projectService.getById(id));
// 使用关联查询
//return success(projectService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('oa:project:save')")
@OperationLog
@ApiOperation("添加项目管理表")
@PostMapping()
public ApiResult<?> save(@RequestBody Project project) {
if (projectService.save(project)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:project:update')")
@OperationLog
@ApiOperation("修改项目管理表")
@PutMapping()
public ApiResult<?> update(@RequestBody Project project) {
if (projectService.updateById(project)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:project:remove')")
@OperationLog
@ApiOperation("删除项目管理表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (projectService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('oa:project:save')")
@OperationLog
@ApiOperation("批量添加项目管理表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Project> list) {
if (projectService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:project:update')")
@OperationLog
@ApiOperation("批量修改项目管理表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Project> batchParam) {
if (batchParam.update(projectService, "project_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:project:remove')")
@OperationLog
@ApiOperation("批量删除项目管理表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (projectService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.TaskService;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.param.TaskParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 文章记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:21:43
*/
@Api(tags = "文章记录表管理")
@RestController
@RequestMapping("/api/oa/task")
public class TaskController extends BaseController {
@Resource
private TaskService taskService;
@PreAuthorize("hasAuthority('oa:task:list')")
@OperationLog
@ApiOperation("分页查询文章记录表")
@GetMapping("/page")
public ApiResult<PageResult<Task>> page(TaskParam param) {
PageParam<Task, TaskParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskService.page(page, page.getWrapper()));
// 使用关联查询
//return success(taskService.pageRel(param));
}
@PreAuthorize("hasAuthority('oa:task:list')")
@OperationLog
@ApiOperation("查询全部文章记录表")
@GetMapping()
public ApiResult<List<Task>> list(TaskParam param) {
PageParam<Task, TaskParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(taskService.listRel(param));
}
@PreAuthorize("hasAuthority('oa:task:list')")
@OperationLog
@ApiOperation("根据id查询文章记录表")
@GetMapping("/{id}")
public ApiResult<Task> get(@PathVariable("id") Integer id) {
return success(taskService.getById(id));
// 使用关联查询
//return success(taskService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('oa:task:save')")
@OperationLog
@ApiOperation("添加文章记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Task task) {
if (taskService.save(task)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:task:update')")
@OperationLog
@ApiOperation("修改文章记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Task task) {
if (taskService.updateById(task)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:task:remove')")
@OperationLog
@ApiOperation("删除文章记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (taskService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('oa:task:save')")
@OperationLog
@ApiOperation("批量添加文章记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Task> list) {
if (taskService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:task:update')")
@OperationLog
@ApiOperation("批量修改文章记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Task> batchParam) {
if (batchParam.update(taskService, "task_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:task:remove')")
@OperationLog
@ApiOperation("批量删除文章记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (taskService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,141 @@
package com.gxwebsoft.oa.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 服务器资产记录表
*
* @author 科技小王子
* @since 2022-11-16 11:13:16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Assets对象", description = "服务器资产记录表")
@TableName("oa_assets")
public class Assets implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "资产ID")
@TableId(value = "assets_id", type = IdType.AUTO)
private Integer assetsId;
@ApiModelProperty(value = "资产名称")
private String name;
@ApiModelProperty(value = "资产标识")
private String code;
@ApiModelProperty(value = "资产类型")
private String type;
@ApiModelProperty(value = "服务器厂商")
private String brand;
@ApiModelProperty(value = "服务器配置")
private String configuration;
@ApiModelProperty(value = "初始账号")
private String account;
@ApiModelProperty(value = "初始密码")
private String password;
@ApiModelProperty(value = "(阿里云/腾讯云)登录账号")
private String brandAccount;
@ApiModelProperty(value = "(阿里云/腾讯云)登录密码")
private String brandPassword;
@ApiModelProperty(value = "宝塔面板")
private String panel;
@ApiModelProperty(value = "宝塔面板账号")
private String panelAccount;
@ApiModelProperty(value = "宝塔面板密码")
private String panelPassword;
@ApiModelProperty(value = "财务信息-合同金额")
private BigDecimal financeAmount;
@ApiModelProperty(value = "购买年限")
private Integer financeYears;
@ApiModelProperty(value = "续费金额")
private BigDecimal financeRenew;
@ApiModelProperty(value = "客户名称")
private String financeCustomerName;
@ApiModelProperty(value = "客户联系人")
private String financeCustomerContact;
@ApiModelProperty(value = "客户联系电话")
private String financeCustomerPhone;
@ApiModelProperty(value = "客户ID")
private Integer customerId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "开放端口")
private String openPort;
@ApiModelProperty(value = "详情内容")
private String content;
@ApiModelProperty(value = "购买时间")
private Date startTime;
@ApiModelProperty(value = "到期时间")
private Date endTime;
@ApiModelProperty(value = "置顶状态")
private String isTop;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "描述")
private String comments;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private String status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,106 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 客户管理记录表
*
* @author 科技小王子
* @since 2022-11-16 11:16:14
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Customer对象", description = "客户管理记录表")
@TableName("oa_customer")
public class Customer implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "客户ID")
@TableId(value = "customer_id", type = IdType.AUTO)
private Integer customerId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "客户标识")
private String customerCode;
@ApiModelProperty(value = "客户全称")
private String customerFullName;
@ApiModelProperty(value = "头像")
private String customerAvatar;
@ApiModelProperty(value = "客户类型")
private String customerType;
@ApiModelProperty(value = "客户来源")
private String customerSource;
@ApiModelProperty(value = "公司座机")
private String customerPhone;
@ApiModelProperty(value = "手机号码")
private String customerMobile;
@ApiModelProperty(value = "联系人")
private String customerContacts;
@ApiModelProperty(value = "所在省份")
private String customerProvince;
@ApiModelProperty(value = "所在城市")
private String customerCity;
@ApiModelProperty(value = "所在地区")
private String customerRegion;
@ApiModelProperty(value = "所在地址")
private String customerAddress;
@ApiModelProperty(value = "跟进状态")
private String progress;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,96 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 常用链接推荐记录表
*
* @author 科技小王子
* @since 2022-11-16 11:10:56
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Link对象", description = "常用链接推荐记录表")
@TableName("oa_link")
public class Link implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "链接ID")
@TableId(value = "link_id", type = IdType.AUTO)
private Integer linkId;
@ApiModelProperty(value = "链接名称")
private String linkName;
@ApiModelProperty(value = "链接地址")
private String linkUrl;
@ApiModelProperty(value = "链接图标")
private String linkIcon;
@ApiModelProperty(value = "链接地址")
private String linkDown;
@ApiModelProperty(value = "路由地址")
private String linkPath;
@ApiModelProperty(value = "组件路径")
private String linkComponent;
@ApiModelProperty(value = "访问账号")
private String linkAccount;
@ApiModelProperty(value = "访问密码")
private String linkPassword;
@ApiModelProperty(value = "链接类型")
private String type;
@ApiModelProperty(value = "链接类别")
private String category;
@ApiModelProperty(value = "点击次数")
private Integer clicks;
@ApiModelProperty(value = "推荐理由")
private String comments;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,125 @@
package com.gxwebsoft.oa.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 项目管理表
*
* @author 科技小王子
* @since 2022-11-16 11:00:43
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Project对象", description = "项目管理表")
@TableName("oa_project")
public class Project implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "项目ID")
@TableId(value = "project_id", type = IdType.AUTO)
private Integer projectId;
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "项目标识")
private String projectCode;
@ApiModelProperty(value = "商品分类")
private String projectCategory;
@ApiModelProperty(value = "项目商标")
private String projectAvatar;
@ApiModelProperty(value = "项目域名")
private String url;
@ApiModelProperty(value = "开发版域名")
private String urlDev;
@ApiModelProperty(value = "后台管理地址")
private String urlAdmin;
@ApiModelProperty(value = "默认账号密码")
private String account;
@ApiModelProperty(value = "项目金额")
private BigDecimal money;
@ApiModelProperty(value = "实际金额")
private BigDecimal realMoney;
@ApiModelProperty(value = "年费")
private BigDecimal annualFee;
@ApiModelProperty(value = "项目详情")
private String content;
@ApiModelProperty(value = "开发参数(json)")
private String param;
@ApiModelProperty(value = "二维码")
private String qrcode;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "项目进度10待安排 20策划设计 30功能开发 40待验收 50完成")
private Integer progress;
@ApiModelProperty(value = "初始浏览数")
private Integer views;
@ApiModelProperty(value = "状态(10上架 20下架)")
private Integer status;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "是否精选客户案例")
private Boolean isCase;
@ApiModelProperty(value = "负责人")
private Integer commander;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "项目归属者")
private Integer customerId;
@ApiModelProperty(value = "项目描述")
private String comments;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,107 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 文章记录表
*
* @author 科技小王子
* @since 2022-11-16 11:21:42
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Task对象", description = "文章记录表")
@TableName("oa_task")
public class Task implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "任务ID")
@TableId(value = "task_id", type = IdType.AUTO)
private Integer taskId;
@ApiModelProperty(value = "任务名称")
private String name;
@ApiModelProperty(value = "任务类型")
private String taskType;
@ApiModelProperty(value = "客户ID")
private Integer customerId;
@ApiModelProperty(value = "项目ID")
private Integer projectId;
@ApiModelProperty(value = "资产ID")
private Integer assetsId;
@ApiModelProperty(value = "开始时间")
private Date startTime;
@ApiModelProperty(value = "结束时间")
private Date endTime;
@ApiModelProperty(value = "任务内容")
private String content;
@ApiModelProperty(value = "任务发起人")
private Integer promoter;
@ApiModelProperty(value = "负责人")
private String commander;
@ApiModelProperty(value = "任务状态")
private String progress;
@ApiModelProperty(value = "优先级")
private String priority;
@ApiModelProperty(value = "品质要求")
private String quality;
@ApiModelProperty(value = "时限(天)")
private Integer day;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "所属门店ID")
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.param.AssetsParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 服务器资产记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:13:16
*/
public interface AssetsMapper extends BaseMapper<Assets> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Assets>
*/
List<Assets> selectPageRel(@Param("page") IPage<Assets> page,
@Param("param") AssetsParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Assets> selectListRel(@Param("param") AssetsParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Customer;
import com.gxwebsoft.oa.param.CustomerParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 客户管理记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:16:14
*/
public interface CustomerMapper extends BaseMapper<Customer> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Customer>
*/
List<Customer> selectPageRel(@Param("page") IPage<Customer> page,
@Param("param") CustomerParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Customer> selectListRel(@Param("param") CustomerParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Link;
import com.gxwebsoft.oa.param.LinkParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 常用链接推荐记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:10:56
*/
public interface LinkMapper extends BaseMapper<Link> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Link>
*/
List<Link> selectPageRel(@Param("page") IPage<Link> page,
@Param("param") LinkParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Link> selectListRel(@Param("param") LinkParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Project;
import com.gxwebsoft.oa.param.ProjectParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 项目管理表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:00:43
*/
public interface ProjectMapper extends BaseMapper<Project> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Project>
*/
List<Project> selectPageRel(@Param("page") IPage<Project> page,
@Param("param") ProjectParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Project> selectListRel(@Param("param") ProjectParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.param.TaskParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 文章记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:21:43
*/
public interface TaskMapper extends BaseMapper<Task> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Task>
*/
List<Task> selectPageRel(@Param("page") IPage<Task> page,
@Param("param") TaskParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Task> selectListRel(@Param("param") TaskParam param);
}

View File

@@ -0,0 +1,131 @@
<?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.gxwebsoft.oa.mapper.AssetsMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_assets a
<where>
<if test="param.assetsId != null">
AND a.assets_id = #{param.assetsId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.code != null">
AND a.code LIKE CONCAT('%', #{param.code}, '%')
</if>
<if test="param.type != null">
AND a.type LIKE CONCAT('%', #{param.type}, '%')
</if>
<if test="param.brand != null">
AND a.brand LIKE CONCAT('%', #{param.brand}, '%')
</if>
<if test="param.configuration != null">
AND a.configuration LIKE CONCAT('%', #{param.configuration}, '%')
</if>
<if test="param.account != null">
AND a.account LIKE CONCAT('%', #{param.account}, '%')
</if>
<if test="param.password != null">
AND a.password LIKE CONCAT('%', #{param.password}, '%')
</if>
<if test="param.brandAccount != null">
AND a.brand_account LIKE CONCAT('%', #{param.brandAccount}, '%')
</if>
<if test="param.brandPassword != null">
AND a.brand_password LIKE CONCAT('%', #{param.brandPassword}, '%')
</if>
<if test="param.panel != null">
AND a.panel LIKE CONCAT('%', #{param.panel}, '%')
</if>
<if test="param.panelAccount != null">
AND a.panel_account LIKE CONCAT('%', #{param.panelAccount}, '%')
</if>
<if test="param.panelPassword != null">
AND a.panel_password LIKE CONCAT('%', #{param.panelPassword}, '%')
</if>
<if test="param.financeAmount != null">
AND a.finance_amount = #{param.financeAmount}
</if>
<if test="param.financeYears != null">
AND a.finance_years = #{param.financeYears}
</if>
<if test="param.financeRenew != null">
AND a.finance_renew = #{param.financeRenew}
</if>
<if test="param.financeCustomerName != null">
AND a.finance_customer_name LIKE CONCAT('%', #{param.financeCustomerName}, '%')
</if>
<if test="param.financeCustomerContact != null">
AND a.finance_customer_contact LIKE CONCAT('%', #{param.financeCustomerContact}, '%')
</if>
<if test="param.financeCustomerPhone != null">
AND a.finance_customer_phone LIKE CONCAT('%', #{param.financeCustomerPhone}, '%')
</if>
<if test="param.customerId != null">
AND a.customer_id = #{param.customerId}
</if>
<if test="param.customerName != null">
AND a.customer_name LIKE CONCAT('%', #{param.customerName}, '%')
</if>
<if test="param.openPort != null">
AND a.open_port LIKE CONCAT('%', #{param.openPort}, '%')
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.startTime != null">
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
</if>
<if test="param.endTime != null">
AND a.end_time LIKE CONCAT('%', #{param.endTime}, '%')
</if>
<if test="param.isTop != null">
AND a.is_top LIKE CONCAT('%', #{param.isTop}, '%')
</if>
<if test="param.visibility != null">
AND a.visibility LIKE CONCAT('%', #{param.visibility}, '%')
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.status != null">
AND a.status LIKE CONCAT('%', #{param.status}, '%')
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Assets">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Assets">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,98 @@
<?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.gxwebsoft.oa.mapper.CustomerMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_customer a
<where>
<if test="param.customerId != null">
AND a.customer_id = #{param.customerId}
</if>
<if test="param.customerName != null">
AND a.customer_name LIKE CONCAT('%', #{param.customerName}, '%')
</if>
<if test="param.customerCode != null">
AND a.customer_code LIKE CONCAT('%', #{param.customerCode}, '%')
</if>
<if test="param.customerFullName != null">
AND a.customer_full_name LIKE CONCAT('%', #{param.customerFullName}, '%')
</if>
<if test="param.customerAvatar != null">
AND a.customer_avatar LIKE CONCAT('%', #{param.customerAvatar}, '%')
</if>
<if test="param.customerType != null">
AND a.customer_type LIKE CONCAT('%', #{param.customerType}, '%')
</if>
<if test="param.customerSource != null">
AND a.customer_source LIKE CONCAT('%', #{param.customerSource}, '%')
</if>
<if test="param.customerPhone != null">
AND a.customer_phone LIKE CONCAT('%', #{param.customerPhone}, '%')
</if>
<if test="param.customerMobile != null">
AND a.customer_mobile LIKE CONCAT('%', #{param.customerMobile}, '%')
</if>
<if test="param.customerContacts != null">
AND a.customer_contacts LIKE CONCAT('%', #{param.customerContacts}, '%')
</if>
<if test="param.customerProvince != null">
AND a.customer_province LIKE CONCAT('%', #{param.customerProvince}, '%')
</if>
<if test="param.customerCity != null">
AND a.customer_city LIKE CONCAT('%', #{param.customerCity}, '%')
</if>
<if test="param.customerRegion != null">
AND a.customer_region LIKE CONCAT('%', #{param.customerRegion}, '%')
</if>
<if test="param.customerAddress != null">
AND a.customer_address LIKE CONCAT('%', #{param.customerAddress}, '%')
</if>
<if test="param.progress != null">
AND a.progress LIKE CONCAT('%', #{param.progress}, '%')
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.visibility != null">
AND a.visibility LIKE CONCAT('%', #{param.visibility}, '%')
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Customer">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Customer">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,89 @@
<?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.gxwebsoft.oa.mapper.LinkMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_link a
<where>
<if test="param.linkId != null">
AND a.link_id = #{param.linkId}
</if>
<if test="param.linkName != null">
AND a.link_name LIKE CONCAT('%', #{param.linkName}, '%')
</if>
<if test="param.linkUrl != null">
AND a.link_url LIKE CONCAT('%', #{param.linkUrl}, '%')
</if>
<if test="param.linkIcon != null">
AND a.link_icon LIKE CONCAT('%', #{param.linkIcon}, '%')
</if>
<if test="param.linkDown != null">
AND a.link_down LIKE CONCAT('%', #{param.linkDown}, '%')
</if>
<if test="param.linkPath != null">
AND a.link_path LIKE CONCAT('%', #{param.linkPath}, '%')
</if>
<if test="param.linkComponent != null">
AND a.link_component LIKE CONCAT('%', #{param.linkComponent}, '%')
</if>
<if test="param.linkAccount != null">
AND a.link_account LIKE CONCAT('%', #{param.linkAccount}, '%')
</if>
<if test="param.linkPassword != null">
AND a.link_password LIKE CONCAT('%', #{param.linkPassword}, '%')
</if>
<if test="param.type != null">
AND a.type LIKE CONCAT('%', #{param.type}, '%')
</if>
<if test="param.category != null">
AND a.category LIKE CONCAT('%', #{param.category}, '%')
</if>
<if test="param.clicks != null">
AND a.clicks = #{param.clicks}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.visibility != null">
AND a.visibility LIKE CONCAT('%', #{param.visibility}, '%')
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Link">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Link">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,116 @@
<?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.gxwebsoft.oa.mapper.ProjectMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_project a
<where>
<if test="param.projectId != null">
AND a.project_id = #{param.projectId}
</if>
<if test="param.projectName != null">
AND a.project_name LIKE CONCAT('%', #{param.projectName}, '%')
</if>
<if test="param.projectCode != null">
AND a.project_code LIKE CONCAT('%', #{param.projectCode}, '%')
</if>
<if test="param.projectCategory != null">
AND a.project_category LIKE CONCAT('%', #{param.projectCategory}, '%')
</if>
<if test="param.projectAvatar != null">
AND a.project_avatar LIKE CONCAT('%', #{param.projectAvatar}, '%')
</if>
<if test="param.url != null">
AND a.url LIKE CONCAT('%', #{param.url}, '%')
</if>
<if test="param.urlDev != null">
AND a.url_dev LIKE CONCAT('%', #{param.urlDev}, '%')
</if>
<if test="param.urlAdmin != null">
AND a.url_admin LIKE CONCAT('%', #{param.urlAdmin}, '%')
</if>
<if test="param.account != null">
AND a.account LIKE CONCAT('%', #{param.account}, '%')
</if>
<if test="param.money != null">
AND a.money = #{param.money}
</if>
<if test="param.realMoney != null">
AND a.real_money = #{param.realMoney}
</if>
<if test="param.annualFee != null">
AND a.annual_fee = #{param.annualFee}
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.param != null">
AND a.param LIKE CONCAT('%', #{param.param}, '%')
</if>
<if test="param.qrcode != null">
AND a.qrcode LIKE CONCAT('%', #{param.qrcode}, '%')
</if>
<if test="param.customerName != null">
AND a.customer_name LIKE CONCAT('%', #{param.customerName}, '%')
</if>
<if test="param.progress != null">
AND a.progress = #{param.progress}
</if>
<if test="param.views != null">
AND a.views = #{param.views}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.isCase != null">
AND a.is_case = #{param.isCase}
</if>
<if test="param.commander != null">
AND a.commander = #{param.commander}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.visibility != null">
AND a.visibility LIKE CONCAT('%', #{param.visibility}, '%')
</if>
<if test="param.customerId != null">
AND a.customer_id = #{param.customerId}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Project">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Project">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,98 @@
<?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.gxwebsoft.oa.mapper.TaskMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_task a
<where>
<if test="param.taskId != null">
AND a.task_id = #{param.taskId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.taskType != null">
AND a.task_type LIKE CONCAT('%', #{param.taskType}, '%')
</if>
<if test="param.customerId != null">
AND a.customer_id = #{param.customerId}
</if>
<if test="param.projectId != null">
AND a.project_id = #{param.projectId}
</if>
<if test="param.assetsId != null">
AND a.assets_id = #{param.assetsId}
</if>
<if test="param.startTime != null">
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
</if>
<if test="param.endTime != null">
AND a.end_time LIKE CONCAT('%', #{param.endTime}, '%')
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.promoter != null">
AND a.promoter = #{param.promoter}
</if>
<if test="param.commander != null">
AND a.commander LIKE CONCAT('%', #{param.commander}, '%')
</if>
<if test="param.progress != null">
AND a.progress LIKE CONCAT('%', #{param.progress}, '%')
</if>
<if test="param.priority != null">
AND a.priority LIKE CONCAT('%', #{param.priority}, '%')
</if>
<if test="param.quality != null">
AND a.quality LIKE CONCAT('%', #{param.quality}, '%')
</if>
<if test="param.day != null">
AND a.day = #{param.day}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.shopId != null">
AND a.shop_id = #{param.shopId}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Task">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Task">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,135 @@
package com.gxwebsoft.oa.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 服务器资产记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:13:16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AssetsParam对象", description = "服务器资产记录表查询参数")
public class AssetsParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "资产ID")
@QueryField(type = QueryType.EQ)
private Integer assetsId;
@ApiModelProperty(value = "资产名称")
private String name;
@ApiModelProperty(value = "资产标识")
private String code;
@ApiModelProperty(value = "资产类型")
private String type;
@ApiModelProperty(value = "服务器厂商")
private String brand;
@ApiModelProperty(value = "服务器配置")
private String configuration;
@ApiModelProperty(value = "初始账号")
private String account;
@ApiModelProperty(value = "初始密码")
private String password;
@ApiModelProperty(value = "(阿里云/腾讯云)登录账号")
private String brandAccount;
@ApiModelProperty(value = "(阿里云/腾讯云)登录密码")
private String brandPassword;
@ApiModelProperty(value = "宝塔面板")
private String panel;
@ApiModelProperty(value = "宝塔面板账号")
private String panelAccount;
@ApiModelProperty(value = "宝塔面板密码")
private String panelPassword;
@ApiModelProperty(value = "财务信息-合同金额")
@QueryField(type = QueryType.EQ)
private BigDecimal financeAmount;
@ApiModelProperty(value = "购买年限")
@QueryField(type = QueryType.EQ)
private Integer financeYears;
@ApiModelProperty(value = "续费金额")
@QueryField(type = QueryType.EQ)
private BigDecimal financeRenew;
@ApiModelProperty(value = "客户名称")
private String financeCustomerName;
@ApiModelProperty(value = "客户联系人")
private String financeCustomerContact;
@ApiModelProperty(value = "客户联系电话")
private String financeCustomerPhone;
@ApiModelProperty(value = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer customerId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "开放端口")
private String openPort;
@ApiModelProperty(value = "详情内容")
private String content;
@ApiModelProperty(value = "购买时间")
private String startTime;
@ApiModelProperty(value = "到期时间")
private String endTime;
@ApiModelProperty(value = "置顶状态")
private String isTop;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "描述")
private String comments;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private String status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,97 @@
package com.gxwebsoft.oa.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 客户管理记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:16:14
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CustomerParam对象", description = "客户管理记录表查询参数")
public class CustomerParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer customerId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "客户标识")
private String customerCode;
@ApiModelProperty(value = "客户全称")
private String customerFullName;
@ApiModelProperty(value = "头像")
private String customerAvatar;
@ApiModelProperty(value = "客户类型")
private String customerType;
@ApiModelProperty(value = "客户来源")
private String customerSource;
@ApiModelProperty(value = "公司座机")
private String customerPhone;
@ApiModelProperty(value = "手机号码")
private String customerMobile;
@ApiModelProperty(value = "联系人")
private String customerContacts;
@ApiModelProperty(value = "所在省份")
private String customerProvince;
@ApiModelProperty(value = "所在城市")
private String customerCity;
@ApiModelProperty(value = "所在地区")
private String customerRegion;
@ApiModelProperty(value = "所在地址")
private String customerAddress;
@ApiModelProperty(value = "跟进状态")
private String progress;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,89 @@
package com.gxwebsoft.oa.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 常用链接推荐记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:10:56
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "LinkParam对象", description = "常用链接推荐记录表查询参数")
public class LinkParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "链接ID")
@QueryField(type = QueryType.EQ)
private Integer linkId;
@ApiModelProperty(value = "链接名称")
private String linkName;
@ApiModelProperty(value = "链接地址")
private String linkUrl;
@ApiModelProperty(value = "链接图标")
private String linkIcon;
@ApiModelProperty(value = "链接地址")
private String linkDown;
@ApiModelProperty(value = "路由地址")
private String linkPath;
@ApiModelProperty(value = "组件路径")
private String linkComponent;
@ApiModelProperty(value = "访问账号")
private String linkAccount;
@ApiModelProperty(value = "访问密码")
private String linkPassword;
@ApiModelProperty(value = "链接类型")
private String type;
@ApiModelProperty(value = "链接类别")
private String category;
@ApiModelProperty(value = "点击次数")
@QueryField(type = QueryType.EQ)
private Integer clicks;
@ApiModelProperty(value = "推荐理由")
private String comments;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
}

View File

@@ -0,0 +1,125 @@
package com.gxwebsoft.oa.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 项目管理表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:00:43
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "ProjectParam对象", description = "项目管理表查询参数")
public class ProjectParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "项目ID")
@QueryField(type = QueryType.EQ)
private Integer projectId;
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "项目标识")
private String projectCode;
@ApiModelProperty(value = "商品分类")
private String projectCategory;
@ApiModelProperty(value = "项目商标")
private String projectAvatar;
@ApiModelProperty(value = "项目域名")
private String url;
@ApiModelProperty(value = "开发版域名")
private String urlDev;
@ApiModelProperty(value = "后台管理地址")
private String urlAdmin;
@ApiModelProperty(value = "默认账号密码")
private String account;
@ApiModelProperty(value = "项目金额")
@QueryField(type = QueryType.EQ)
private BigDecimal money;
@ApiModelProperty(value = "实际金额")
@QueryField(type = QueryType.EQ)
private BigDecimal realMoney;
@ApiModelProperty(value = "年费")
@QueryField(type = QueryType.EQ)
private BigDecimal annualFee;
@ApiModelProperty(value = "项目详情")
private String content;
@ApiModelProperty(value = "开发参数(json)")
private String param;
@ApiModelProperty(value = "二维码")
private String qrcode;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "项目进度10待安排 20策划设计 30功能开发 40待验收 50完成")
@QueryField(type = QueryType.EQ)
private Integer progress;
@ApiModelProperty(value = "初始浏览数")
@QueryField(type = QueryType.EQ)
private Integer views;
@ApiModelProperty(value = "状态(10上架 20下架)")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "是否精选客户案例")
@QueryField(type = QueryType.EQ)
private Boolean isCase;
@ApiModelProperty(value = "负责人")
@QueryField(type = QueryType.EQ)
private Integer commander;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "项目归属者")
@QueryField(type = QueryType.EQ)
private Integer customerId;
@ApiModelProperty(value = "项目描述")
private String comments;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,103 @@
package com.gxwebsoft.oa.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 文章记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:21:42
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "TaskParam对象", description = "文章记录表查询参数")
public class TaskParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "任务ID")
@QueryField(type = QueryType.EQ)
private Integer taskId;
@ApiModelProperty(value = "任务名称")
private String name;
@ApiModelProperty(value = "任务类型")
private String taskType;
@ApiModelProperty(value = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer customerId;
@ApiModelProperty(value = "项目ID")
@QueryField(type = QueryType.EQ)
private Integer projectId;
@ApiModelProperty(value = "资产ID")
@QueryField(type = QueryType.EQ)
private Integer assetsId;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "任务内容")
private String content;
@ApiModelProperty(value = "任务发起人")
@QueryField(type = QueryType.EQ)
private Integer promoter;
@ApiModelProperty(value = "负责人")
private String commander;
@ApiModelProperty(value = "任务状态")
private String progress;
@ApiModelProperty(value = "优先级")
private String priority;
@ApiModelProperty(value = "品质要求")
private String quality;
@ApiModelProperty(value = "时限(天)")
@QueryField(type = QueryType.EQ)
private Integer day;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "所属门店ID")
@QueryField(type = QueryType.EQ)
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.param.AssetsParam;
import java.util.List;
/**
* 服务器资产记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:13:16
*/
public interface AssetsService extends IService<Assets> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Assets>
*/
PageResult<Assets> pageRel(AssetsParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Assets>
*/
List<Assets> listRel(AssetsParam param);
/**
* 根据id查询
*
* @param assetsId 资产ID
* @return Assets
*/
Assets getByIdRel(Integer assetsId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Customer;
import com.gxwebsoft.oa.param.CustomerParam;
import java.util.List;
/**
* 客户管理记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:16:14
*/
public interface CustomerService extends IService<Customer> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Customer>
*/
PageResult<Customer> pageRel(CustomerParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Customer>
*/
List<Customer> listRel(CustomerParam param);
/**
* 根据id查询
*
* @param customerId 客户ID
* @return Customer
*/
Customer getByIdRel(Integer customerId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Link;
import com.gxwebsoft.oa.param.LinkParam;
import java.util.List;
/**
* 常用链接推荐记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:10:56
*/
public interface LinkService extends IService<Link> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Link>
*/
PageResult<Link> pageRel(LinkParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Link>
*/
List<Link> listRel(LinkParam param);
/**
* 根据id查询
*
* @param linkId 链接ID
* @return Link
*/
Link getByIdRel(Integer linkId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Project;
import com.gxwebsoft.oa.param.ProjectParam;
import java.util.List;
/**
* 项目管理表Service
*
* @author 科技小王子
* @since 2022-11-16 11:00:43
*/
public interface ProjectService extends IService<Project> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Project>
*/
PageResult<Project> pageRel(ProjectParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Project>
*/
List<Project> listRel(ProjectParam param);
/**
* 根据id查询
*
* @param projectId 项目ID
* @return Project
*/
Project getByIdRel(Integer projectId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.param.TaskParam;
import java.util.List;
/**
* 文章记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:21:43
*/
public interface TaskService extends IService<Task> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Task>
*/
PageResult<Task> pageRel(TaskParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Task>
*/
List<Task> listRel(TaskParam param);
/**
* 根据id查询
*
* @param taskId 任务ID
* @return Task
*/
Task getByIdRel(Integer taskId);
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.oa.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.oa.mapper.AssetsMapper;
import com.gxwebsoft.oa.service.AssetsService;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.param.AssetsParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 服务器资产记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:13:16
*/
@Service
public class AssetsServiceImpl extends ServiceImpl<AssetsMapper, Assets> implements AssetsService {
@Override
public PageResult<Assets> pageRel(AssetsParam param) {
PageParam<Assets, AssetsParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Assets> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Assets> listRel(AssetsParam param) {
List<Assets> list = baseMapper.selectListRel(param);
// 排序
PageParam<Assets, AssetsParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Assets getByIdRel(Integer assetsId) {
AssetsParam param = new AssetsParam();
param.setAssetsId(assetsId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.oa.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.oa.mapper.CustomerMapper;
import com.gxwebsoft.oa.service.CustomerService;
import com.gxwebsoft.oa.entity.Customer;
import com.gxwebsoft.oa.param.CustomerParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 客户管理记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:16:14
*/
@Service
public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements CustomerService {
@Override
public PageResult<Customer> pageRel(CustomerParam param) {
PageParam<Customer, CustomerParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Customer> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Customer> listRel(CustomerParam param) {
List<Customer> list = baseMapper.selectListRel(param);
// 排序
PageParam<Customer, CustomerParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Customer getByIdRel(Integer customerId) {
CustomerParam param = new CustomerParam();
param.setCustomerId(customerId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.oa.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.oa.mapper.LinkMapper;
import com.gxwebsoft.oa.service.LinkService;
import com.gxwebsoft.oa.entity.Link;
import com.gxwebsoft.oa.param.LinkParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 常用链接推荐记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:10:56
*/
@Service
public class LinkServiceImpl extends ServiceImpl<LinkMapper, Link> implements LinkService {
@Override
public PageResult<Link> pageRel(LinkParam param) {
PageParam<Link, LinkParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Link> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Link> listRel(LinkParam param) {
List<Link> list = baseMapper.selectListRel(param);
// 排序
PageParam<Link, LinkParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Link getByIdRel(Integer linkId) {
LinkParam param = new LinkParam();
param.setLinkId(linkId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.oa.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.oa.mapper.ProjectMapper;
import com.gxwebsoft.oa.service.ProjectService;
import com.gxwebsoft.oa.entity.Project;
import com.gxwebsoft.oa.param.ProjectParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 项目管理表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:00:43
*/
@Service
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
@Override
public PageResult<Project> pageRel(ProjectParam param) {
PageParam<Project, ProjectParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Project> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Project> listRel(ProjectParam param) {
List<Project> list = baseMapper.selectListRel(param);
// 排序
PageParam<Project, ProjectParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Project getByIdRel(Integer projectId) {
ProjectParam param = new ProjectParam();
param.setProjectId(projectId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.oa.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.oa.mapper.TaskMapper;
import com.gxwebsoft.oa.service.TaskService;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.param.TaskParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 文章记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:21:43
*/
@Service
public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements TaskService {
@Override
public PageResult<Task> pageRel(TaskParam param) {
PageParam<Task, TaskParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Task> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Task> listRel(TaskParam param) {
List<Task> list = baseMapper.selectListRel(param);
// 排序
PageParam<Task, TaskParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Task getByIdRel(Integer taskId) {
TaskParam param = new TaskParam();
param.setTaskId(taskId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.shop.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.shop.service.GoodsService;
import com.gxwebsoft.shop.entity.Goods;
import com.gxwebsoft.shop.param.GoodsParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 商品记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:28:00
*/
@Api(tags = "商品记录表管理")
@RestController
@RequestMapping("/api/shop/goods")
public class GoodsController extends BaseController {
@Resource
private GoodsService goodsService;
@PreAuthorize("hasAuthority('shop:goods:list')")
@OperationLog
@ApiOperation("分页查询商品记录表")
@GetMapping("/page")
public ApiResult<PageResult<Goods>> page(GoodsParam param) {
PageParam<Goods, GoodsParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(goodsService.page(page, page.getWrapper()));
// 使用关联查询
//return success(goodsService.pageRel(param));
}
@PreAuthorize("hasAuthority('shop:goods:list')")
@OperationLog
@ApiOperation("查询全部商品记录表")
@GetMapping()
public ApiResult<List<Goods>> list(GoodsParam param) {
PageParam<Goods, GoodsParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(goodsService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(goodsService.listRel(param));
}
@PreAuthorize("hasAuthority('shop:goods:list')")
@OperationLog
@ApiOperation("根据id查询商品记录表")
@GetMapping("/{id}")
public ApiResult<Goods> get(@PathVariable("id") Integer id) {
return success(goodsService.getById(id));
// 使用关联查询
//return success(goodsService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('shop:goods:save')")
@OperationLog
@ApiOperation("添加商品记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Goods goods) {
if (goodsService.save(goods)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:goods:update')")
@OperationLog
@ApiOperation("修改商品记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Goods goods) {
if (goodsService.updateById(goods)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:goods:remove')")
@OperationLog
@ApiOperation("删除商品记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (goodsService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('shop:goods:save')")
@OperationLog
@ApiOperation("批量添加商品记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Goods> list) {
if (goodsService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:goods:update')")
@OperationLog
@ApiOperation("批量修改商品记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Goods> batchParam) {
if (batchParam.update(goodsService, "goods_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:goods:remove')")
@OperationLog
@ApiOperation("批量删除商品记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (goodsService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,133 @@
package com.gxwebsoft.shop.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.shop.service.OrderService;
import com.gxwebsoft.shop.entity.Order;
import com.gxwebsoft.shop.param.OrderParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.annotation.OperationLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 订单记录表控制器
*
* @author 科技小王子
* @since 2022-11-16 11:25:58
*/
@Api(tags = "订单记录表管理")
@RestController
@RequestMapping("/api/shop/order")
public class OrderController extends BaseController {
@Resource
private OrderService orderService;
@PreAuthorize("hasAuthority('shop:order:list')")
@OperationLog
@ApiOperation("分页查询订单记录表")
@GetMapping("/page")
public ApiResult<PageResult<Order>> page(OrderParam param) {
PageParam<Order, OrderParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(orderService.page(page, page.getWrapper()));
// 使用关联查询
//return success(orderService.pageRel(param));
}
@PreAuthorize("hasAuthority('shop:order:list')")
@OperationLog
@ApiOperation("查询全部订单记录表")
@GetMapping()
public ApiResult<List<Order>> list(OrderParam param) {
PageParam<Order, OrderParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(orderService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(orderService.listRel(param));
}
@PreAuthorize("hasAuthority('shop:order:list')")
@OperationLog
@ApiOperation("根据id查询订单记录表")
@GetMapping("/{id}")
public ApiResult<Order> get(@PathVariable("id") Integer id) {
return success(orderService.getById(id));
// 使用关联查询
//return success(orderService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('shop:order:save')")
@OperationLog
@ApiOperation("添加订单记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Order order) {
if (orderService.save(order)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:order:update')")
@OperationLog
@ApiOperation("修改订单记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Order order) {
if (orderService.updateById(order)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:order:remove')")
@OperationLog
@ApiOperation("删除订单记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (orderService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('shop:order:save')")
@OperationLog
@ApiOperation("批量添加订单记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Order> list) {
if (orderService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:order:update')")
@OperationLog
@ApiOperation("批量修改订单记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Order> batchParam) {
if (batchParam.update(orderService, "order_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:order:remove')")
@OperationLog
@ApiOperation("批量删除订单记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (orderService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}

View File

@@ -0,0 +1,157 @@
package com.gxwebsoft.shop.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 商品记录表
*
* @author 科技小王子
* @since 2022-11-16 11:28:00
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Goods对象", description = "商品记录表")
@TableName("shop_goods")
public class Goods implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "商品ID")
@TableId(value = "goods_id", type = IdType.AUTO)
private Integer goodsId;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "商品编码")
private String goodsNo;
@ApiModelProperty(value = "主图视频ID")
private Integer videoId;
@ApiModelProperty(value = "主图视频ID")
private Integer videoCoverId;
@ApiModelProperty(value = "商品卖点")
private String sellingPoint;
@ApiModelProperty(value = "商品规格(10单规格 20多规格)")
private Integer specType;
@ApiModelProperty(value = "商品价格(最低)")
private BigDecimal goodsPriceMin;
@ApiModelProperty(value = "商品价格(最高)")
private BigDecimal goodsPriceMax;
@ApiModelProperty(value = "划线价格(最低)")
private BigDecimal linePriceMin;
@ApiModelProperty(value = "划线价格(最高)")
private BigDecimal linePriceMax;
@ApiModelProperty(value = "库存总量(包含所有sku)")
private Integer stockTotal;
@ApiModelProperty(value = "库存计算方式(10下单减库存 20付款减库存)")
private Integer deductStockType;
@ApiModelProperty(value = "商品详情")
private String content;
@ApiModelProperty(value = "初始销量")
private Integer salesInitial;
@ApiModelProperty(value = "实际销量")
private Integer salesActual;
@ApiModelProperty(value = "配送模板ID")
private Integer deliveryId;
@ApiModelProperty(value = "是否开启积分赠送(1开启 0关闭)")
private Integer isPointsGift;
@ApiModelProperty(value = "是否允许使用积分抵扣(1允许 0不允许)")
private Integer isPointsDiscount;
@ApiModelProperty(value = "积分抵扣设置(0默认抵扣 1单独设置抵扣)")
private Integer isAlonePointsDiscount;
@ApiModelProperty(value = "单独设置积分抵扣的配置")
private String pointsDiscountConfig;
@ApiModelProperty(value = "是否开启会员折扣(1开启 0关闭)")
private Integer isEnableGrade;
@ApiModelProperty(value = "会员折扣设置(0默认等级折扣 1单独设置折扣)")
private Integer isAloneGrade;
@ApiModelProperty(value = "单独设置折扣的配置")
private String aloneGradeEquity;
@ApiModelProperty(value = "是否推荐")
private Integer isHot;
@ApiModelProperty(value = "规格单位")
private String unit;
@ApiModelProperty(value = "商品优惠属性: 0无 1限时特惠 2特惠专区")
private Integer attribute;
@ApiModelProperty(value = "是否开启单独分销(0关闭 1开启)")
private Integer isIndDealer;
@ApiModelProperty(value = "分销佣金类型(10百分比 20固定金额)")
private Integer dealerMoneyType;
@ApiModelProperty(value = "分销佣金(一级)")
private BigDecimal firstMoney;
@ApiModelProperty(value = "分销佣金(二级)")
private BigDecimal secondMoney;
@ApiModelProperty(value = "分销佣金(三级)")
private BigDecimal thirdMoney;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "商城ID")
private Integer storeId;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,169 @@
package com.gxwebsoft.shop.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
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;
import lombok.EqualsAndHashCode;
/**
* 订单记录表
*
* @author 科技小王子
* @since 2022-11-16 11:25:58
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Order对象", description = "订单记录表")
@TableName("shop_order")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "订单ID")
@TableId(value = "order_id", type = IdType.AUTO)
private Integer orderId;
@ApiModelProperty(value = "订单号")
private String orderNo;
@ApiModelProperty(value = "商品总金额(不含优惠折扣)")
private BigDecimal totalPrice;
@ApiModelProperty(value = "订单金额(含优惠折扣)")
private BigDecimal orderPrice;
@ApiModelProperty(value = "优惠券ID")
private Integer couponId;
@ApiModelProperty(value = "优惠券抵扣金额")
private BigDecimal couponMoney;
@ApiModelProperty(value = "积分抵扣金额")
private BigDecimal pointsMoney;
@ApiModelProperty(value = "积分抵扣数量")
private Integer pointsNum;
@ApiModelProperty(value = "实际付款金额(包含运费)")
private BigDecimal payPrice;
@ApiModelProperty(value = "后台修改的订单金额(差价)")
private BigDecimal updatePrice;
@ApiModelProperty(value = "买家留言")
private String buyerRemark;
@ApiModelProperty(value = "支付方式(废弃)")
private Integer payType;
@ApiModelProperty(value = "支付方式(余额/微信/支付宝)")
private String payMethod;
@ApiModelProperty(value = "付款状态(10未付款 20已付款)")
private Integer payStatus;
@ApiModelProperty(value = "付款时间")
private Integer payTime;
@ApiModelProperty(value = "第三方交易记录ID")
private Integer tradeId;
@ApiModelProperty(value = "配送方式(10快递配送 20门店自提)")
private Integer deliveryType;
@ApiModelProperty(value = "自提门店ID")
private Integer extractShopId;
@ApiModelProperty(value = "核销店员ID")
private Integer extractClerkId;
@ApiModelProperty(value = "运费金额")
private BigDecimal expressPrice;
@ApiModelProperty(value = "物流公司ID (废弃)")
private Integer expressId;
@ApiModelProperty(value = "物流单号 (废弃)")
private String expressNo;
@ApiModelProperty(value = "发货状态(10未发货 20已发货 30部分发货)")
private Integer deliveryStatus;
@ApiModelProperty(value = "发货时间")
private Integer deliveryTime;
@ApiModelProperty(value = "收货状态(10未收货 20已收货)")
private Integer receiptStatus;
@ApiModelProperty(value = "收货时间")
private Integer receiptTime;
@ApiModelProperty(value = "订单状态(10进行中 20取消 21待取消 30已完成)")
private Integer orderStatus;
@ApiModelProperty(value = "赠送的积分数量")
private Integer pointsBonus;
@ApiModelProperty(value = "商家备注")
private String merchantRemark;
@ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)")
private Integer isSettled;
@ApiModelProperty(value = "微信支付交易号(废弃)")
private String transactionId;
@ApiModelProperty(value = "是否已评价(0否 1是)")
private Integer isComment;
@ApiModelProperty(value = "订单来源(10普通订单 20砍价订单 30秒杀订单)")
private Integer orderSource;
@ApiModelProperty(value = "来源记录ID")
private Integer orderSourceId;
@ApiModelProperty(value = "来源记录的参数 (json格式)")
private String orderSourceData;
@ApiModelProperty(value = "来源客户端 (APP、H5、小程序等)")
private String platform;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "商城ID")
private Integer storeId;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.shop.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.shop.entity.Goods;
import com.gxwebsoft.shop.param.GoodsParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 商品记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:28:00
*/
public interface GoodsMapper extends BaseMapper<Goods> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Goods>
*/
List<Goods> selectPageRel(@Param("page") IPage<Goods> page,
@Param("param") GoodsParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Goods> selectListRel(@Param("param") GoodsParam param);
}

View File

@@ -0,0 +1,37 @@
package com.gxwebsoft.shop.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.shop.entity.Order;
import com.gxwebsoft.shop.param.OrderParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 订单记录表Mapper
*
* @author 科技小王子
* @since 2022-11-16 11:25:58
*/
public interface OrderMapper extends BaseMapper<Order> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Order>
*/
List<Order> selectPageRel(@Param("page") IPage<Order> page,
@Param("param") OrderParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Order> selectListRel(@Param("param") OrderParam param);
}

View File

@@ -0,0 +1,149 @@
<?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.gxwebsoft.shop.mapper.GoodsMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM shop_goods a
<where>
<if test="param.goodsId != null">
AND a.goods_id = #{param.goodsId}
</if>
<if test="param.goodsName != null">
AND a.goods_name LIKE CONCAT('%', #{param.goodsName}, '%')
</if>
<if test="param.goodsNo != null">
AND a.goods_no LIKE CONCAT('%', #{param.goodsNo}, '%')
</if>
<if test="param.videoId != null">
AND a.video_id = #{param.videoId}
</if>
<if test="param.videoCoverId != null">
AND a.video_cover_id = #{param.videoCoverId}
</if>
<if test="param.sellingPoint != null">
AND a.selling_point LIKE CONCAT('%', #{param.sellingPoint}, '%')
</if>
<if test="param.specType != null">
AND a.spec_type = #{param.specType}
</if>
<if test="param.goodsPriceMin != null">
AND a.goods_price_min = #{param.goodsPriceMin}
</if>
<if test="param.goodsPriceMax != null">
AND a.goods_price_max = #{param.goodsPriceMax}
</if>
<if test="param.linePriceMin != null">
AND a.line_price_min = #{param.linePriceMin}
</if>
<if test="param.linePriceMax != null">
AND a.line_price_max = #{param.linePriceMax}
</if>
<if test="param.stockTotal != null">
AND a.stock_total = #{param.stockTotal}
</if>
<if test="param.deductStockType != null">
AND a.deduct_stock_type = #{param.deductStockType}
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.salesInitial != null">
AND a.sales_initial = #{param.salesInitial}
</if>
<if test="param.salesActual != null">
AND a.sales_actual = #{param.salesActual}
</if>
<if test="param.deliveryId != null">
AND a.delivery_id = #{param.deliveryId}
</if>
<if test="param.isPointsGift != null">
AND a.is_points_gift = #{param.isPointsGift}
</if>
<if test="param.isPointsDiscount != null">
AND a.is_points_discount = #{param.isPointsDiscount}
</if>
<if test="param.isAlonePointsDiscount != null">
AND a.is_alone_points_discount = #{param.isAlonePointsDiscount}
</if>
<if test="param.pointsDiscountConfig != null">
AND a.points_discount_config LIKE CONCAT('%', #{param.pointsDiscountConfig}, '%')
</if>
<if test="param.isEnableGrade != null">
AND a.is_enable_grade = #{param.isEnableGrade}
</if>
<if test="param.isAloneGrade != null">
AND a.is_alone_grade = #{param.isAloneGrade}
</if>
<if test="param.aloneGradeEquity != null">
AND a.alone_grade_equity LIKE CONCAT('%', #{param.aloneGradeEquity}, '%')
</if>
<if test="param.isHot != null">
AND a.is_hot = #{param.isHot}
</if>
<if test="param.unit != null">
AND a.unit LIKE CONCAT('%', #{param.unit}, '%')
</if>
<if test="param.attribute != null">
AND a.attribute = #{param.attribute}
</if>
<if test="param.isIndDealer != null">
AND a.is_ind_dealer = #{param.isIndDealer}
</if>
<if test="param.dealerMoneyType != null">
AND a.dealer_money_type = #{param.dealerMoneyType}
</if>
<if test="param.firstMoney != null">
AND a.first_money = #{param.firstMoney}
</if>
<if test="param.secondMoney != null">
AND a.second_money = #{param.secondMoney}
</if>
<if test="param.thirdMoney != null">
AND a.third_money = #{param.thirdMoney}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.shopId != null">
AND a.shop_id = #{param.shopId}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.storeId != null">
AND a.store_id = #{param.storeId}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.shop.entity.Goods">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.shop.entity.Goods">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,161 @@
<?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.gxwebsoft.shop.mapper.OrderMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM shop_order a
<where>
<if test="param.orderId != null">
AND a.order_id = #{param.orderId}
</if>
<if test="param.orderNo != null">
AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%')
</if>
<if test="param.totalPrice != null">
AND a.total_price = #{param.totalPrice}
</if>
<if test="param.orderPrice != null">
AND a.order_price = #{param.orderPrice}
</if>
<if test="param.couponId != null">
AND a.coupon_id = #{param.couponId}
</if>
<if test="param.couponMoney != null">
AND a.coupon_money = #{param.couponMoney}
</if>
<if test="param.pointsMoney != null">
AND a.points_money = #{param.pointsMoney}
</if>
<if test="param.pointsNum != null">
AND a.points_num = #{param.pointsNum}
</if>
<if test="param.payPrice != null">
AND a.pay_price = #{param.payPrice}
</if>
<if test="param.updatePrice != null">
AND a.update_price = #{param.updatePrice}
</if>
<if test="param.buyerRemark != null">
AND a.buyer_remark LIKE CONCAT('%', #{param.buyerRemark}, '%')
</if>
<if test="param.payType != null">
AND a.pay_type = #{param.payType}
</if>
<if test="param.payMethod != null">
AND a.pay_method LIKE CONCAT('%', #{param.payMethod}, '%')
</if>
<if test="param.payStatus != null">
AND a.pay_status = #{param.payStatus}
</if>
<if test="param.payTime != null">
AND a.pay_time = #{param.payTime}
</if>
<if test="param.tradeId != null">
AND a.trade_id = #{param.tradeId}
</if>
<if test="param.deliveryType != null">
AND a.delivery_type = #{param.deliveryType}
</if>
<if test="param.extractShopId != null">
AND a.extract_shop_id = #{param.extractShopId}
</if>
<if test="param.extractClerkId != null">
AND a.extract_clerk_id = #{param.extractClerkId}
</if>
<if test="param.expressPrice != null">
AND a.express_price = #{param.expressPrice}
</if>
<if test="param.expressId != null">
AND a.express_id = #{param.expressId}
</if>
<if test="param.expressNo != null">
AND a.express_no LIKE CONCAT('%', #{param.expressNo}, '%')
</if>
<if test="param.deliveryStatus != null">
AND a.delivery_status = #{param.deliveryStatus}
</if>
<if test="param.deliveryTime != null">
AND a.delivery_time = #{param.deliveryTime}
</if>
<if test="param.receiptStatus != null">
AND a.receipt_status = #{param.receiptStatus}
</if>
<if test="param.receiptTime != null">
AND a.receipt_time = #{param.receiptTime}
</if>
<if test="param.orderStatus != null">
AND a.order_status = #{param.orderStatus}
</if>
<if test="param.pointsBonus != null">
AND a.points_bonus = #{param.pointsBonus}
</if>
<if test="param.merchantRemark != null">
AND a.merchant_remark LIKE CONCAT('%', #{param.merchantRemark}, '%')
</if>
<if test="param.isSettled != null">
AND a.is_settled = #{param.isSettled}
</if>
<if test="param.transactionId != null">
AND a.transaction_id LIKE CONCAT('%', #{param.transactionId}, '%')
</if>
<if test="param.isComment != null">
AND a.is_comment = #{param.isComment}
</if>
<if test="param.orderSource != null">
AND a.order_source = #{param.orderSource}
</if>
<if test="param.orderSourceId != null">
AND a.order_source_id = #{param.orderSourceId}
</if>
<if test="param.orderSourceData != null">
AND a.order_source_data LIKE CONCAT('%', #{param.orderSourceData}, '%')
</if>
<if test="param.platform != null">
AND a.platform LIKE CONCAT('%', #{param.platform}, '%')
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.shopId != null">
AND a.shop_id = #{param.shopId}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.storeId != null">
AND a.store_id = #{param.storeId}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.shop.entity.Order">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.shop.entity.Order">
<include refid="selectSql"></include>
</select>
</mapper>

View File

@@ -0,0 +1,175 @@
package com.gxwebsoft.shop.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 商品记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:28:00
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "GoodsParam对象", description = "商品记录表查询参数")
public class GoodsParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "商品ID")
@QueryField(type = QueryType.EQ)
private Integer goodsId;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "商品编码")
private String goodsNo;
@ApiModelProperty(value = "主图视频ID")
@QueryField(type = QueryType.EQ)
private Integer videoId;
@ApiModelProperty(value = "主图视频ID")
@QueryField(type = QueryType.EQ)
private Integer videoCoverId;
@ApiModelProperty(value = "商品卖点")
private String sellingPoint;
@ApiModelProperty(value = "商品规格(10单规格 20多规格)")
@QueryField(type = QueryType.EQ)
private Integer specType;
@ApiModelProperty(value = "商品价格(最低)")
@QueryField(type = QueryType.EQ)
private BigDecimal goodsPriceMin;
@ApiModelProperty(value = "商品价格(最高)")
@QueryField(type = QueryType.EQ)
private BigDecimal goodsPriceMax;
@ApiModelProperty(value = "划线价格(最低)")
@QueryField(type = QueryType.EQ)
private BigDecimal linePriceMin;
@ApiModelProperty(value = "划线价格(最高)")
@QueryField(type = QueryType.EQ)
private BigDecimal linePriceMax;
@ApiModelProperty(value = "库存总量(包含所有sku)")
@QueryField(type = QueryType.EQ)
private Integer stockTotal;
@ApiModelProperty(value = "库存计算方式(10下单减库存 20付款减库存)")
@QueryField(type = QueryType.EQ)
private Integer deductStockType;
@ApiModelProperty(value = "商品详情")
private String content;
@ApiModelProperty(value = "初始销量")
@QueryField(type = QueryType.EQ)
private Integer salesInitial;
@ApiModelProperty(value = "实际销量")
@QueryField(type = QueryType.EQ)
private Integer salesActual;
@ApiModelProperty(value = "配送模板ID")
@QueryField(type = QueryType.EQ)
private Integer deliveryId;
@ApiModelProperty(value = "是否开启积分赠送(1开启 0关闭)")
@QueryField(type = QueryType.EQ)
private Integer isPointsGift;
@ApiModelProperty(value = "是否允许使用积分抵扣(1允许 0不允许)")
@QueryField(type = QueryType.EQ)
private Integer isPointsDiscount;
@ApiModelProperty(value = "积分抵扣设置(0默认抵扣 1单独设置抵扣)")
@QueryField(type = QueryType.EQ)
private Integer isAlonePointsDiscount;
@ApiModelProperty(value = "单独设置积分抵扣的配置")
private String pointsDiscountConfig;
@ApiModelProperty(value = "是否开启会员折扣(1开启 0关闭)")
@QueryField(type = QueryType.EQ)
private Integer isEnableGrade;
@ApiModelProperty(value = "会员折扣设置(0默认等级折扣 1单独设置折扣)")
@QueryField(type = QueryType.EQ)
private Integer isAloneGrade;
@ApiModelProperty(value = "单独设置折扣的配置")
private String aloneGradeEquity;
@ApiModelProperty(value = "是否推荐")
@QueryField(type = QueryType.EQ)
private Integer isHot;
@ApiModelProperty(value = "规格单位")
private String unit;
@ApiModelProperty(value = "商品优惠属性: 0无 1限时特惠 2特惠专区")
@QueryField(type = QueryType.EQ)
private Integer attribute;
@ApiModelProperty(value = "是否开启单独分销(0关闭 1开启)")
@QueryField(type = QueryType.EQ)
private Integer isIndDealer;
@ApiModelProperty(value = "分销佣金类型(10百分比 20固定金额)")
@QueryField(type = QueryType.EQ)
private Integer dealerMoneyType;
@ApiModelProperty(value = "分销佣金(一级)")
@QueryField(type = QueryType.EQ)
private BigDecimal firstMoney;
@ApiModelProperty(value = "分销佣金(二级)")
@QueryField(type = QueryType.EQ)
private BigDecimal secondMoney;
@ApiModelProperty(value = "分销佣金(三级)")
@QueryField(type = QueryType.EQ)
private BigDecimal thirdMoney;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
@QueryField(type = QueryType.EQ)
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "商城ID")
@QueryField(type = QueryType.EQ)
private Integer storeId;
}

View File

@@ -0,0 +1,190 @@
package com.gxwebsoft.shop.param;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 订单记录表查询参数
*
* @author 科技小王子
* @since 2022-11-16 11:25:58
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "OrderParam对象", description = "订单记录表查询参数")
public class OrderParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "订单ID")
@QueryField(type = QueryType.EQ)
private Integer orderId;
@ApiModelProperty(value = "订单号")
private String orderNo;
@ApiModelProperty(value = "商品总金额(不含优惠折扣)")
@QueryField(type = QueryType.EQ)
private BigDecimal totalPrice;
@ApiModelProperty(value = "订单金额(含优惠折扣)")
@QueryField(type = QueryType.EQ)
private BigDecimal orderPrice;
@ApiModelProperty(value = "优惠券ID")
@QueryField(type = QueryType.EQ)
private Integer couponId;
@ApiModelProperty(value = "优惠券抵扣金额")
@QueryField(type = QueryType.EQ)
private BigDecimal couponMoney;
@ApiModelProperty(value = "积分抵扣金额")
@QueryField(type = QueryType.EQ)
private BigDecimal pointsMoney;
@ApiModelProperty(value = "积分抵扣数量")
@QueryField(type = QueryType.EQ)
private Integer pointsNum;
@ApiModelProperty(value = "实际付款金额(包含运费)")
@QueryField(type = QueryType.EQ)
private BigDecimal payPrice;
@ApiModelProperty(value = "后台修改的订单金额(差价)")
@QueryField(type = QueryType.EQ)
private BigDecimal updatePrice;
@ApiModelProperty(value = "买家留言")
private String buyerRemark;
@ApiModelProperty(value = "支付方式(废弃)")
@QueryField(type = QueryType.EQ)
private Integer payType;
@ApiModelProperty(value = "支付方式(余额/微信/支付宝)")
private String payMethod;
@ApiModelProperty(value = "付款状态(10未付款 20已付款)")
@QueryField(type = QueryType.EQ)
private Integer payStatus;
@ApiModelProperty(value = "付款时间")
@QueryField(type = QueryType.EQ)
private Integer payTime;
@ApiModelProperty(value = "第三方交易记录ID")
@QueryField(type = QueryType.EQ)
private Integer tradeId;
@ApiModelProperty(value = "配送方式(10快递配送 20门店自提)")
@QueryField(type = QueryType.EQ)
private Integer deliveryType;
@ApiModelProperty(value = "自提门店ID")
@QueryField(type = QueryType.EQ)
private Integer extractShopId;
@ApiModelProperty(value = "核销店员ID")
@QueryField(type = QueryType.EQ)
private Integer extractClerkId;
@ApiModelProperty(value = "运费金额")
@QueryField(type = QueryType.EQ)
private BigDecimal expressPrice;
@ApiModelProperty(value = "物流公司ID (废弃)")
@QueryField(type = QueryType.EQ)
private Integer expressId;
@ApiModelProperty(value = "物流单号 (废弃)")
private String expressNo;
@ApiModelProperty(value = "发货状态(10未发货 20已发货 30部分发货)")
@QueryField(type = QueryType.EQ)
private Integer deliveryStatus;
@ApiModelProperty(value = "发货时间")
@QueryField(type = QueryType.EQ)
private Integer deliveryTime;
@ApiModelProperty(value = "收货状态(10未收货 20已收货)")
@QueryField(type = QueryType.EQ)
private Integer receiptStatus;
@ApiModelProperty(value = "收货时间")
@QueryField(type = QueryType.EQ)
private Integer receiptTime;
@ApiModelProperty(value = "订单状态(10进行中 20取消 21待取消 30已完成)")
@QueryField(type = QueryType.EQ)
private Integer orderStatus;
@ApiModelProperty(value = "赠送的积分数量")
@QueryField(type = QueryType.EQ)
private Integer pointsBonus;
@ApiModelProperty(value = "商家备注")
private String merchantRemark;
@ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)")
@QueryField(type = QueryType.EQ)
private Integer isSettled;
@ApiModelProperty(value = "微信支付交易号(废弃)")
private String transactionId;
@ApiModelProperty(value = "是否已评价(0否 1是)")
@QueryField(type = QueryType.EQ)
private Integer isComment;
@ApiModelProperty(value = "订单来源(10普通订单 20砍价订单 30秒杀订单)")
@QueryField(type = QueryType.EQ)
private Integer orderSource;
@ApiModelProperty(value = "来源记录ID")
@QueryField(type = QueryType.EQ)
private Integer orderSourceId;
@ApiModelProperty(value = "来源记录的参数 (json格式)")
private String orderSourceData;
@ApiModelProperty(value = "来源客户端 (APP、H5、小程序等)")
private String platform;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "所属门店ID")
@QueryField(type = QueryType.EQ)
private Integer shopId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "商城ID")
@QueryField(type = QueryType.EQ)
private Integer storeId;
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.shop.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.shop.entity.Goods;
import com.gxwebsoft.shop.param.GoodsParam;
import java.util.List;
/**
* 商品记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:28:00
*/
public interface GoodsService extends IService<Goods> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Goods>
*/
PageResult<Goods> pageRel(GoodsParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Goods>
*/
List<Goods> listRel(GoodsParam param);
/**
* 根据id查询
*
* @param goodsId 商品ID
* @return Goods
*/
Goods getByIdRel(Integer goodsId);
}

View File

@@ -0,0 +1,42 @@
package com.gxwebsoft.shop.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.shop.entity.Order;
import com.gxwebsoft.shop.param.OrderParam;
import java.util.List;
/**
* 订单记录表Service
*
* @author 科技小王子
* @since 2022-11-16 11:25:58
*/
public interface OrderService extends IService<Order> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Order>
*/
PageResult<Order> pageRel(OrderParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Order>
*/
List<Order> listRel(OrderParam param);
/**
* 根据id查询
*
* @param orderId 订单ID
* @return Order
*/
Order getByIdRel(Integer orderId);
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.shop.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.shop.mapper.GoodsMapper;
import com.gxwebsoft.shop.service.GoodsService;
import com.gxwebsoft.shop.entity.Goods;
import com.gxwebsoft.shop.param.GoodsParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 商品记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:28:00
*/
@Service
public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements GoodsService {
@Override
public PageResult<Goods> pageRel(GoodsParam param) {
PageParam<Goods, GoodsParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Goods> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Goods> listRel(GoodsParam param) {
List<Goods> list = baseMapper.selectListRel(param);
// 排序
PageParam<Goods, GoodsParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Goods getByIdRel(Integer goodsId) {
GoodsParam param = new GoodsParam();
param.setGoodsId(goodsId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,47 @@
package com.gxwebsoft.shop.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gxwebsoft.shop.mapper.OrderMapper;
import com.gxwebsoft.shop.service.OrderService;
import com.gxwebsoft.shop.entity.Order;
import com.gxwebsoft.shop.param.OrderParam;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.common.core.web.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 订单记录表Service实现
*
* @author 科技小王子
* @since 2022-11-16 11:25:58
*/
@Service
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
@Override
public PageResult<Order> pageRel(OrderParam param) {
PageParam<Order, OrderParam> page = new PageParam<>(param);
//page.setDefaultOrder("create_time desc");
List<Order> list = baseMapper.selectPageRel(page, param);
return new PageResult<>(list, page.getTotal());
}
@Override
public List<Order> listRel(OrderParam param) {
List<Order> list = baseMapper.selectListRel(param);
// 排序
PageParam<Order, OrderParam> page = new PageParam<>();
//page.setDefaultOrder("create_time desc");
return page.sortRecords(list);
}
@Override
public Order getByIdRel(Integer orderId) {
OrderParam param = new OrderParam();
param.setOrderId(orderId);
return param.getOne(baseMapper.selectListRel(param));
}
}

View File

@@ -0,0 +1,8 @@
{
"properties": [
{
"name": "config.upload-path",
"type": "java.lang.String",
"description": "Description for config.upload-path."
}
] }

View File

@@ -0,0 +1,177 @@
package com.gxwebsoft.generator;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.gxwebsoft.generator.engine.BeetlTemplateEnginePlus;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 代码生成工具
*
* @author WebSoft
* @since 2021-09-05 00:31:14
*/
public class CmsGenerator {
// 输出位置
private static final String OUTPUT_LOCATION = System.getProperty("user.dir");
//private static final String OUTPUT_LOCATION = "D:/codegen"; // 不想生成到项目中可以写磁盘路径
// 输出目录
private static final String OUTPUT_DIR = "/src/main/java";
// 作者名称
private static final String AUTHOR = "科技小王子";
// 是否在xml中添加二级缓存配置
private static final boolean ENABLE_CACHE = false;
// 数据库连接配置
private static final String DB_URL = "jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8";
private static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DB_USERNAME = "com_gxwebsoft_oa";
private static final String DB_PASSWORD = "EZfW2R4YiWfbLHLw";
// 包名
private static final String PACKAGE_NAME = "com.gxwebsoft";
// 模块名
private static final String MODULE_NAME = "cms";
// 需要生成的表
private static final String[] TABLE_NAMES = new String[]{
// "cms_article",
"cms_category",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
// "cms_docs",
};
// 需要去除的表前缀
private static final String[] TABLE_PREFIX = new String[]{
"cms_",
"tb_"
};
// 不需要作为查询参数的字段
private static final String[] PARAM_EXCLUDE_FIELDS = new String[]{
"tenant_id",
"create_time",
"update_time"
};
// 查询参数使用String的类型
private static final String[] PARAM_TO_STRING_TYPE = new String[]{
"Date",
"LocalDate",
"LocalTime",
"LocalDateTime"
};
// 查询参数使用EQ的类型
private static final String[] PARAM_EQ_TYPE = new String[]{
"Integer",
"Boolean",
"BigDecimal"
};
// 是否添加权限注解
private static final boolean AUTH_ANNOTATION = true;
// 是否添加日志注解
private static final boolean LOG_ANNOTATION = true;
// controller的mapping前缀
private static final String CONTROLLER_MAPPING_PREFIX = "/api";
// 模板所在位置
private static final String TEMPLATES_DIR = "/src/test/java/com/gxwebsoft/generator/templates";
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(OUTPUT_LOCATION + OUTPUT_DIR);
gc.setAuthor(AUTHOR);
gc.setOpen(false);
gc.setFileOverride(true);
gc.setEnableCache(ENABLE_CACHE);
gc.setSwagger2(true);
gc.setIdType(IdType.AUTO);
gc.setServiceName("%sService");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(DB_URL);
// dsc.setSchemaName("public");
dsc.setDriverName(DB_DRIVER);
dsc.setUsername(DB_USERNAME);
dsc.setPassword(DB_PASSWORD);
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(MODULE_NAME);
pc.setParent(PACKAGE_NAME);
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setInclude(TABLE_NAMES);
strategy.setTablePrefix(TABLE_PREFIX);
strategy.setSuperControllerClass(PACKAGE_NAME + ".common.core.web.BaseController");
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true);
strategy.setLogicDeleteFieldName("deleted");
mpg.setStrategy(strategy);
// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setController(TEMPLATES_DIR + "/controller.java");
templateConfig.setEntity(TEMPLATES_DIR + "/entity.java");
templateConfig.setMapper(TEMPLATES_DIR + "/mapper.java");
templateConfig.setXml(TEMPLATES_DIR + "/mapper.xml");
templateConfig.setService(TEMPLATES_DIR + "/service.java");
templateConfig.setServiceImpl(TEMPLATES_DIR + "/serviceImpl.java");
mpg.setTemplate(templateConfig);
mpg.setTemplateEngine(new BeetlTemplateEnginePlus());
// 自定义模板配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<>();
map.put("packageName", PACKAGE_NAME);
map.put("paramExcludeFields", PARAM_EXCLUDE_FIELDS);
map.put("paramToStringType", PARAM_TO_STRING_TYPE);
map.put("paramEqType", PARAM_EQ_TYPE);
map.put("authAnnotation", AUTH_ANNOTATION);
map.put("logAnnotation", LOG_ANNOTATION);
map.put("controllerMappingPrefix", CONTROLLER_MAPPING_PREFIX);
this.setMap(map);
}
};
String templatePath = TEMPLATES_DIR + "/param.java.btl";
List<FileOutConfig> focList = new ArrayList<>();
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
return OUTPUT_LOCATION + OUTPUT_DIR + "/"
+ PACKAGE_NAME.replace(".", "/")
+ "/" + pc.getModuleName() + "/param/"
+ tableInfo.getEntityName() + "Param" + StringPool.DOT_JAVA;
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
mpg.execute();
}
}

View File

@@ -0,0 +1,178 @@
package com.gxwebsoft.generator;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.gxwebsoft.generator.engine.BeetlTemplateEnginePlus;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 代码生成工具
*
* @author WebSoft
* @since 2021-09-05 00:31:14
*/
public class OaGenerator {
// 输出位置
private static final String OUTPUT_LOCATION = System.getProperty("user.dir");
//private static final String OUTPUT_LOCATION = "D:/codegen"; // 不想生成到项目中可以写磁盘路径
// 输出目录
private static final String OUTPUT_DIR = "/src/main/java";
// 作者名称
private static final String AUTHOR = "科技小王子";
// 是否在xml中添加二级缓存配置
private static final boolean ENABLE_CACHE = false;
// 数据库连接配置
private static final String DB_URL = "jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8";
private static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DB_USERNAME = "com_gxwebsoft_oa";
private static final String DB_PASSWORD = "EZfW2R4YiWfbLHLw";
// 包名
private static final String PACKAGE_NAME = "com.gxwebsoft";
// 模块名
private static final String MODULE_NAME = "oa";
// 需要生成的表
private static final String[] TABLE_NAMES = new String[]{
// "oa_project",
// "oa_link",
// "oa_assets",
// "oa_customer",
"oa_task",
// "oa_assets",
// "oa_assets",
// "oa_assets",
// "oa_assets",
// "oa_assets",
// "oa_assets",
// "oa_assets",
};
// 需要去除的表前缀
private static final String[] TABLE_PREFIX = new String[]{
"oa_",
"tb_"
};
// 不需要作为查询参数的字段
private static final String[] PARAM_EXCLUDE_FIELDS = new String[]{
"tenant_id",
"create_time",
"update_time"
};
// 查询参数使用String的类型
private static final String[] PARAM_TO_STRING_TYPE = new String[]{
"Date",
"LocalDate",
"LocalTime",
"LocalDateTime"
};
// 查询参数使用EQ的类型
private static final String[] PARAM_EQ_TYPE = new String[]{
"Integer",
"Boolean",
"BigDecimal"
};
// 是否添加权限注解
private static final boolean AUTH_ANNOTATION = true;
// 是否添加日志注解
private static final boolean LOG_ANNOTATION = true;
// controller的mapping前缀
private static final String CONTROLLER_MAPPING_PREFIX = "/api";
// 模板所在位置
private static final String TEMPLATES_DIR = "/src/test/java/com/gxwebsoft/generator/templates";
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(OUTPUT_LOCATION + OUTPUT_DIR);
gc.setAuthor(AUTHOR);
gc.setOpen(false);
gc.setFileOverride(true);
gc.setEnableCache(ENABLE_CACHE);
gc.setSwagger2(true);
gc.setIdType(IdType.AUTO);
gc.setServiceName("%sService");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(DB_URL);
// dsc.setSchemaName("public");
dsc.setDriverName(DB_DRIVER);
dsc.setUsername(DB_USERNAME);
dsc.setPassword(DB_PASSWORD);
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(MODULE_NAME);
pc.setParent(PACKAGE_NAME);
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setInclude(TABLE_NAMES);
strategy.setTablePrefix(TABLE_PREFIX);
strategy.setSuperControllerClass(PACKAGE_NAME + ".common.core.web.BaseController");
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true);
strategy.setLogicDeleteFieldName("deleted");
mpg.setStrategy(strategy);
// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setController(TEMPLATES_DIR + "/controller.java");
templateConfig.setEntity(TEMPLATES_DIR + "/entity.java");
templateConfig.setMapper(TEMPLATES_DIR + "/mapper.java");
templateConfig.setXml(TEMPLATES_DIR + "/mapper.xml");
templateConfig.setService(TEMPLATES_DIR + "/service.java");
templateConfig.setServiceImpl(TEMPLATES_DIR + "/serviceImpl.java");
mpg.setTemplate(templateConfig);
mpg.setTemplateEngine(new BeetlTemplateEnginePlus());
// 自定义模板配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<>();
map.put("packageName", PACKAGE_NAME);
map.put("paramExcludeFields", PARAM_EXCLUDE_FIELDS);
map.put("paramToStringType", PARAM_TO_STRING_TYPE);
map.put("paramEqType", PARAM_EQ_TYPE);
map.put("authAnnotation", AUTH_ANNOTATION);
map.put("logAnnotation", LOG_ANNOTATION);
map.put("controllerMappingPrefix", CONTROLLER_MAPPING_PREFIX);
this.setMap(map);
}
};
String templatePath = TEMPLATES_DIR + "/param.java.btl";
List<FileOutConfig> focList = new ArrayList<>();
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
return OUTPUT_LOCATION + OUTPUT_DIR + "/"
+ PACKAGE_NAME.replace(".", "/")
+ "/" + pc.getModuleName() + "/param/"
+ tableInfo.getEntityName() + "Param" + StringPool.DOT_JAVA;
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
mpg.execute();
}
}

View File

@@ -0,0 +1,171 @@
package com.gxwebsoft.generator;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.gxwebsoft.generator.engine.BeetlTemplateEnginePlus;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 代码生成工具
*
* @author WebSoft
* @since 2021-09-05 00:31:14
*/
public class ShopGenerator {
// 输出位置
private static final String OUTPUT_LOCATION = System.getProperty("user.dir");
//private static final String OUTPUT_LOCATION = "D:/codegen"; // 不想生成到项目中可以写磁盘路径
// 输出目录
private static final String OUTPUT_DIR = "/src/main/java";
// 作者名称
private static final String AUTHOR = "科技小王子";
// 是否在xml中添加二级缓存配置
private static final boolean ENABLE_CACHE = false;
// 数据库连接配置
private static final String DB_URL = "jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8";
private static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DB_USERNAME = "com_gxwebsoft_oa";
private static final String DB_PASSWORD = "EZfW2R4YiWfbLHLw";
// 包名
private static final String PACKAGE_NAME = "com.gxwebsoft";
// 模块名
private static final String MODULE_NAME = "shop";
// 需要生成的表
private static final String[] TABLE_NAMES = new String[]{
// "shop_order",
"shop_goods",
// "oa_assets",
// "oa_assets",
// "oa_assets",
// "oa_assets",
};
// 需要去除的表前缀
private static final String[] TABLE_PREFIX = new String[]{
"shop_",
"tb_"
};
// 不需要作为查询参数的字段
private static final String[] PARAM_EXCLUDE_FIELDS = new String[]{
"tenant_id",
"create_time",
"update_time"
};
// 查询参数使用String的类型
private static final String[] PARAM_TO_STRING_TYPE = new String[]{
"Date",
"LocalDate",
"LocalTime",
"LocalDateTime"
};
// 查询参数使用EQ的类型
private static final String[] PARAM_EQ_TYPE = new String[]{
"Integer",
"Boolean",
"BigDecimal"
};
// 是否添加权限注解
private static final boolean AUTH_ANNOTATION = true;
// 是否添加日志注解
private static final boolean LOG_ANNOTATION = true;
// controller的mapping前缀
private static final String CONTROLLER_MAPPING_PREFIX = "/api";
// 模板所在位置
private static final String TEMPLATES_DIR = "/src/test/java/com/gxwebsoft/generator/templates";
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(OUTPUT_LOCATION + OUTPUT_DIR);
gc.setAuthor(AUTHOR);
gc.setOpen(false);
gc.setFileOverride(true);
gc.setEnableCache(ENABLE_CACHE);
gc.setSwagger2(true);
gc.setIdType(IdType.AUTO);
gc.setServiceName("%sService");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(DB_URL);
// dsc.setSchemaName("public");
dsc.setDriverName(DB_DRIVER);
dsc.setUsername(DB_USERNAME);
dsc.setPassword(DB_PASSWORD);
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(MODULE_NAME);
pc.setParent(PACKAGE_NAME);
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setInclude(TABLE_NAMES);
strategy.setTablePrefix(TABLE_PREFIX);
strategy.setSuperControllerClass(PACKAGE_NAME + ".common.core.web.BaseController");
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true);
strategy.setLogicDeleteFieldName("deleted");
mpg.setStrategy(strategy);
// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setController(TEMPLATES_DIR + "/controller.java");
templateConfig.setEntity(TEMPLATES_DIR + "/entity.java");
templateConfig.setMapper(TEMPLATES_DIR + "/mapper.java");
templateConfig.setXml(TEMPLATES_DIR + "/mapper.xml");
templateConfig.setService(TEMPLATES_DIR + "/service.java");
templateConfig.setServiceImpl(TEMPLATES_DIR + "/serviceImpl.java");
mpg.setTemplate(templateConfig);
mpg.setTemplateEngine(new BeetlTemplateEnginePlus());
// 自定义模板配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<>();
map.put("packageName", PACKAGE_NAME);
map.put("paramExcludeFields", PARAM_EXCLUDE_FIELDS);
map.put("paramToStringType", PARAM_TO_STRING_TYPE);
map.put("paramEqType", PARAM_EQ_TYPE);
map.put("authAnnotation", AUTH_ANNOTATION);
map.put("logAnnotation", LOG_ANNOTATION);
map.put("controllerMappingPrefix", CONTROLLER_MAPPING_PREFIX);
this.setMap(map);
}
};
String templatePath = TEMPLATES_DIR + "/param.java.btl";
List<FileOutConfig> focList = new ArrayList<>();
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
return OUTPUT_LOCATION + OUTPUT_DIR + "/"
+ PACKAGE_NAME.replace(".", "/")
+ "/" + pc.getModuleName() + "/param/"
+ tableInfo.getEntityName() + "Param" + StringPool.DOT_JAVA;
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
mpg.execute();
}
}

View File

@@ -0,0 +1,168 @@
package com.gxwebsoft.generator;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.gxwebsoft.generator.engine.BeetlTemplateEnginePlus;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 代码生成工具
*
* @author WebSoft
* @since 2021-09-05 00:31:14
*/
public class SysGenerator {
// 输出位置
private static final String OUTPUT_LOCATION = System.getProperty("user.dir");
//private static final String OUTPUT_LOCATION = "D:/codegen"; // 不想生成到项目中可以写磁盘路径
// 输出目录
private static final String OUTPUT_DIR = "/src/main/java";
// 作者名称
private static final String AUTHOR = "科技小王子";
// 是否在xml中添加二级缓存配置
private static final boolean ENABLE_CACHE = false;
// 数据库连接配置
private static final String DB_URL = "jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8";
private static final String DB_DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DB_USERNAME = "com_gxwebsoft_oa";
private static final String DB_PASSWORD = "EZfW2R4YiWfbLHLw";
// 包名
private static final String PACKAGE_NAME = "com.gxwebsoft.common";
// 模块名
private static final String MODULE_NAME = "system";
// 需要生成的表
private static final String[] TABLE_NAMES = new String[]{
"sys_setting",
};
// 需要去除的表前缀
private static final String[] TABLE_PREFIX = new String[]{
"sys_",
"tb_"
};
// 不需要作为查询参数的字段
private static final String[] PARAM_EXCLUDE_FIELDS = new String[]{
"tenant_id",
"create_time",
"update_time"
};
// 查询参数使用String的类型
private static final String[] PARAM_TO_STRING_TYPE = new String[]{
"Date",
"LocalDate",
"LocalTime",
"LocalDateTime"
};
// 查询参数使用EQ的类型
private static final String[] PARAM_EQ_TYPE = new String[]{
"Integer",
"Boolean",
"BigDecimal"
};
// 是否添加权限注解
private static final boolean AUTH_ANNOTATION = true;
// 是否添加日志注解
private static final boolean LOG_ANNOTATION = true;
// controller的mapping前缀
private static final String CONTROLLER_MAPPING_PREFIX = "/api";
// 模板所在位置
private static final String TEMPLATES_DIR = "/src/test/java/com/gxwebsoft/generator/templates";
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(OUTPUT_LOCATION + OUTPUT_DIR);
gc.setAuthor(AUTHOR);
gc.setOpen(false);
gc.setFileOverride(true);
gc.setEnableCache(ENABLE_CACHE);
gc.setSwagger2(true);
gc.setIdType(IdType.AUTO);
gc.setServiceName("%sService");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(DB_URL);
// dsc.setSchemaName("public");
dsc.setDriverName(DB_DRIVER);
dsc.setUsername(DB_USERNAME);
dsc.setPassword(DB_PASSWORD);
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(MODULE_NAME);
pc.setParent(PACKAGE_NAME);
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setInclude(TABLE_NAMES);
strategy.setTablePrefix(TABLE_PREFIX);
strategy.setSuperControllerClass(PACKAGE_NAME + ".common.core.web.BaseController");
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true);
strategy.setLogicDeleteFieldName("deleted");
mpg.setStrategy(strategy);
// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setController(TEMPLATES_DIR + "/controller.java");
templateConfig.setEntity(TEMPLATES_DIR + "/entity.java");
templateConfig.setMapper(TEMPLATES_DIR + "/mapper.java");
templateConfig.setXml(TEMPLATES_DIR + "/mapper.xml");
templateConfig.setService(TEMPLATES_DIR + "/service.java");
templateConfig.setServiceImpl(TEMPLATES_DIR + "/serviceImpl.java");
mpg.setTemplate(templateConfig);
mpg.setTemplateEngine(new BeetlTemplateEnginePlus());
// 自定义模板配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<>();
map.put("packageName", PACKAGE_NAME);
map.put("paramExcludeFields", PARAM_EXCLUDE_FIELDS);
map.put("paramToStringType", PARAM_TO_STRING_TYPE);
map.put("paramEqType", PARAM_EQ_TYPE);
map.put("authAnnotation", AUTH_ANNOTATION);
map.put("logAnnotation", LOG_ANNOTATION);
map.put("controllerMappingPrefix", CONTROLLER_MAPPING_PREFIX);
this.setMap(map);
}
};
String templatePath = TEMPLATES_DIR + "/param.java.btl";
List<FileOutConfig> focList = new ArrayList<>();
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
return OUTPUT_LOCATION + OUTPUT_DIR + "/"
+ PACKAGE_NAME.replace(".", "/")
+ "/" + pc.getModuleName() + "/param/"
+ tableInfo.getEntityName() + "Param" + StringPool.DOT_JAVA;
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
mpg.execute();
}
}

View File

@@ -0,0 +1,20 @@
2022-11-17 00:59:11.511 WARN 1005 --- [restartedMain] com.alibaba.druid.pool.DruidDataSource : removeAbandoned is true, not use in production.
2022-11-17 00:59:14.945 WARN 1005 --- [restartedMain] d.s.r.o.OperationImplicitParameterReader : Unable to interpret the implicit parameter configuration with dataType: string, dataTypeClass: class java.lang.Void
2022-11-17 00:59:14.947 WARN 1005 --- [restartedMain] d.s.r.o.OperationImplicitParameterReader : Unable to interpret the implicit parameter configuration with dataType: string, dataTypeClass: class java.lang.Void
2022-11-17 00:59:14.949 WARN 1005 --- [restartedMain] d.s.r.o.OperationImplicitParameterReader : Unable to interpret the implicit parameter configuration with dataType: string, dataTypeClass: class java.lang.Void
2022-11-17 00:59:15.229 WARN 1005 --- [restartedMain] d.s.r.o.OperationImplicitParameterReader : Unable to interpret the implicit parameter configuration with dataType: string, dataTypeClass: class java.lang.Void
2022-11-17 01:03:06.897 WARN 1005 --- [http-nio-8081-exec-3] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 69117
2022-11-17 01:03:06.920 WARN 1005 --- [http-nio-8081-exec-3] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 69480
2022-11-17 01:03:06.944 WARN 1005 --- [http-nio-8081-exec-3] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 234555
2022-11-17 01:03:06.969 WARN 1005 --- [http-nio-8081-exec-3] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 234853
2022-11-17 01:03:06.993 WARN 1005 --- [http-nio-8081-exec-3] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 235153
2022-11-17 10:42:24.599 WARN 1005 --- [http-nio-8081-exec-6] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 61971
2022-11-17 10:45:28.767 WARN 1005 --- [http-nio-8081-exec-9] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.security.access.AccessDeniedException: 不允许访问]
2022-11-17 10:45:36.591 WARN 1005 --- [http-nio-8081-exec-10] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.security.access.AccessDeniedException: 不允许访问]
2022-11-17 10:48:14.878 WARN 1005 --- [http-nio-8081-exec-4] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 158296
2022-11-17 10:48:14.904 WARN 1005 --- [http-nio-8081-exec-4] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 182534
2022-11-17 10:49:36.418 WARN 1005 --- [http-nio-8081-exec-8] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 77308
2022-11-17 10:51:38.363 WARN 1005 --- [http-nio-8081-exec-9] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 68804
2022-11-17 10:51:38.387 WARN 1005 --- [http-nio-8081-exec-9] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 112148
2022-11-17 10:55:16.703 WARN 1005 --- [http-nio-8081-exec-4] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 72571
2022-11-17 10:55:16.730 WARN 1005 --- [http-nio-8081-exec-4] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://47.119.165.234:3308/com_gxwebsoft_oa?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8, version : 1.2.5, lastPacketReceivedIdleMillis : 167395

View File

@@ -1,377 +0,0 @@
/** ele admin pro dynamic theme plugin license by http://eleadmin.com */
/**
* 需要修改的less变量
*/
const variables = {
// Blue
'@blue-1': 'var(--blue-1)',
'@blue-2': 'var(--blue-2)',
'@blue-3': 'var(--blue-3)',
'@blue-4': 'var(--blue-4)',
'@blue-5': 'var(--blue-5)',
'@blue-6': 'var(--blue-6)',
'@blue-7': 'var(--blue-7)',
'@blue-8': 'var(--blue-8)',
'@blue-9': 'var(--blue-9)',
'@blue-10': 'var(--blue-10)',
// Green
'@green-1': 'var(--green-1)',
'@green-2': 'var(--green-2)',
'@green-3': 'var(--green-3)',
'@green-4': 'var(--green-4)',
'@green-5': 'var(--green-5)',
'@green-6': 'var(--green-6)',
'@green-7': 'var(--green-7)',
'@green-8': 'var(--green-8)',
'@green-9': 'var(--green-9)',
'@green-10': 'var(--green-10)',
// Red
'@red-1': 'var(--red-1)',
'@red-2': 'var(--red-2)',
'@red-3': 'var(--red-3)',
'@red-4': 'var(--red-4)',
'@red-5': 'var(--red-5)',
'@red-6': 'var(--red-6)',
'@red-7': 'var(--red-7)',
'@red-8': 'var(--red-8)',
'@red-9': 'var(--red-9)',
'@red-10': 'var(--red-10)',
// Gold
'@gold-1': 'var(--gold-1)',
'@gold-2': 'var(--gold-2)',
'@gold-3': 'var(--gold-3)',
'@gold-4': 'var(--gold-4)',
'@gold-5': 'var(--gold-5)',
'@gold-6': 'var(--gold-6)',
'@gold-7': 'var(--gold-7)',
'@gold-8': 'var(--gold-8)',
'@gold-9': 'var(--gold-9)',
'@gold-10': 'var(--gold-10)',
// Purple
'@purple-1': 'var(--purple-1)',
'@purple-2': 'var(--purple-2)',
'@purple-3': 'var(--purple-3)',
'@purple-4': 'var(--purple-4)',
'@purple-5': 'var(--purple-5)',
'@purple-6': 'var(--purple-6)',
'@purple-7': 'var(--purple-7)',
'@purple-8': 'var(--purple-8)',
'@purple-9': 'var(--purple-9)',
'@purple-10': 'var(--purple-10)',
// Cyan
'@cyan-1': 'var(--cyan-1)',
'@cyan-2': 'var(--cyan-2)',
'@cyan-3': 'var(--cyan-3)',
'@cyan-4': 'var(--cyan-4)',
'@cyan-5': 'var(--cyan-5)',
'@cyan-6': 'var(--cyan-6)',
'@cyan-7': 'var(--cyan-7)',
'@cyan-8': 'var(--cyan-8)',
'@cyan-9': 'var(--cyan-9)',
'@cyan-10': 'var(--cyan-10)',
// Pink
'@pink-1': 'var(--pink-1)',
'@pink-2': 'var(--pink-2)',
'@pink-3': 'var(--pink-3)',
'@pink-4': 'var(--pink-4)',
'@pink-5': 'var(--pink-5)',
'@pink-6': 'var(--pink-6)',
'@pink-7': 'var(--pink-7)',
'@pink-8': 'var(--pink-8)',
'@pink-9': 'var(--pink-9)',
'@pink-10': 'var(--pink-10)',
// Orange
'@orange-1': 'var(--orange-1)',
'@orange-2': 'var(--orange-2)',
'@orange-3': 'var(--orange-3)',
'@orange-4': 'var(--orange-4)',
'@orange-5': 'var(--orange-5)',
'@orange-6': 'var(--orange-6)',
'@orange-7': 'var(--orange-7)',
'@orange-8': 'var(--orange-8)',
'@orange-9': 'var(--orange-9)',
'@orange-10': 'var(--orange-10)',
// Colors
'@primary-color': 'var(--primary-color)',
'@info-color': 'var(--info-color)',
'@success-color': 'var(--success-color)',
'@processing-color': 'var(--processing-color)',
'@error-color': 'var(--error-color)',
'@highlight-color': 'var(--highlight-color)',
'@warning-color': 'var(--warning-color)',
// Color used by default to control hover and active backgrounds
'@primary-1': 'var(--primary-1)',
'@primary-2': 'var(--primary-2)',
'@primary-3': 'var(--primary-3)',
'@primary-4': 'var(--primary-4)',
'@primary-5': 'var(--primary-5)',
'@primary-6': 'var(--primary-6)',
'@primary-7': 'var(--primary-7)',
'@primary-8': 'var(--primary-8)',
'@primary-9': 'var(--primary-9)',
'@primary-10': 'var(--primary-10)',
// Background color
'@body-background': 'var(--body-background)',
'@component-background': 'var(--component-background)',
// Popover
'@popover-background': 'var(--popover-background)',
'@popover-customize-border-color': 'var(--popover-customize-border-color)',
// Text Color
'@text-color': 'var(--text-color)',
'@text-color-secondary': 'var(--text-color-secondary)',
'@text-color-inverse': 'var(--text-color-inverse)',
'@icon-color-hover': 'var(--icon-color-hover)',
'@heading-color': 'var(--heading-color)',
// The background colors for active and hover states for things like
'@item-hover-bg': 'var(--item-hover-bg)',
// LINK
'@link-hover-color': '@primary-5',
'@link-active-color': '@primary-7',
// Border color
'@border-color-base': 'var(--border-color-base)',
'@border-color-split': 'var(--border-color-split)',
'@border-color-inverse': 'var(--border-color-inverse)',
// Outline
'@background-color-light': 'var(--background-color-light)',
'@background-color-base': 'var(--background-color-base)',
// Disabled states
'@disabled-color': 'var(--disabled-color)',
'@disabled-bg': 'var(--disabled-bg)',
'@disabled-color-dark': 'var(--disabled-color-dark)',
// Shadow
'@shadow-color': 'var(--shadow-color)',
'@box-shadow-base': 'var(--box-shadow-base)',
'@shadow-1-up': 'var(--shadow-1-up)',
'@shadow-1-down': 'var(--shadow-1-down)',
'@shadow-1-left': 'var(--shadow-1-left)',
'@shadow-1-right': 'var(--shadow-1-right)',
'@shadow-2': 'var(--shadow-2)',
// Buttons
'@btn-shadow': 'var(--btn-shadow)',
'@btn-primary-shadow': 'var(--btn-primary-shadow)',
'@btn-text-shadow': 'var(--btn-text-shadow)',
'@btn-default-bg': 'var(--btn-default-bg)',
'@btn-danger-bg': '@error-color',
'@btn-danger-border': '@error-color',
'@btn-default-ghost-color': 'var(--btn-default-ghost-color)',
'@btn-default-ghost-border': 'var(--btn-default-ghost-border)',
'@btn-text-hover-bg': 'var(--btn-text-hover-bg)',
// Checkbox
'@checkbox-check-bg': 'var(--checkbox-check-bg)',
// Descriptions
'@descriptions-bg': 'var(--descriptions-bg)',
// Divider
'@divider-color': 'var(--divider-color)',
// Dropdown
'@dropdown-menu-submenu-disabled-bg': 'var(--dropdown-menu-submenu-disabled-bg)',
// Radio
'@radio-dot-disabled-color': 'var(--radio-dot-disabled-color)',
'@radio-solid-checked-color': 'var(--radio-solid-checked-color)',
'@radio-focused-outline': '3px solid @primary-1', // var(--primary-fade-6)
// Radio buttons
'@radio-disabled-button-checked-bg': 'var(--radio-disabled-button-checked-bg)',
// Layout
'@layout-body-background': 'var(--layout-body-background)',
'@layout-header-background': 'var(--layout-header-background)',
'@layout-trigger-background': 'var(--layout-trigger-background)',
// Dropdown
'@dropdown-menu-bg': 'var(--dropdown-menu-bg)',
// Input
'@input-placeholder-color': 'var(--input-placeholder-color)',
'@input-icon-color': 'var(--input-icon-color)',
'@input-bg': 'var(--input-bg)',
'@input-number-handler-active-bg': 'var(--input-number-handler-active-bg)',
'@input-icon-hover-color': 'var(--input-icon-hover-color)',
// Mentions
'@mentions-dropdown-bg': 'var(--mentions-dropdown-bg)',
// Select
'@select-dropdown-bg': 'var(--select-dropdown-bg)',
'@select-background': 'var(--select-background)',
'@select-clear-background': 'var(--select-clear-background)',
'@select-selection-item-bg': 'var(--select-selection-item-bg)',
'@select-selection-item-border-color': 'var(--select-selection-item-border-color)',
'@select-multiple-disabled-background': 'var(--select-multiple-disabled-background)',
'@select-multiple-item-disabled-color': 'var(--select-multiple-item-disabled-color)',
'@select-multiple-item-disabled-border-color': 'var(--select-multiple-item-disabled-border-color)',
// Cascader
'@cascader-bg': 'var(--cascader-bg)',
'@cascader-menu-bg': 'var(--cascader-menu-bg)',
'@cascader-menu-border-color-split': 'var(--cascader-menu-border-color-split)',
// Tooltip
'@tooltip-bg': 'var(--tooltip-bg)',
// Popover
'@popover-bg': 'var(--popover-bg)',
// Modal
'@modal-header-bg': 'var(--modal-header-bg)',
'@modal-header-border-color-split': 'var(--modal-header-border-color-split)',
'@modal-content-bg': 'var(--modal-content-bg)',
'@modal-footer-border-color-split': 'var(--modal-footer-border-color-split)',
// Menu
'@menu-popup-bg': 'var(--menu-popup-bg)',
'@menu-dark-bg': 'var(--menu-dark-bg)',
'@menu-dark-submenu-bg': 'var(--menu-dark-submenu-bg)',
// Table
'@table-header-bg': 'var(--table-header-bg)',
'@table-header-sort-bg': 'var(--table-header-sort-bg)',
'@table-body-sort-bg': 'var(--table-body-sort-bg)',
'@table-row-hover-bg': 'var(--table-row-hover-bg)',
'@table-selected-row-hover-bg': '@primary-1',
'@table-expanded-row-bg': 'var(--table-expanded-row-bg)',
'@table-header-sort-active-bg': 'var(--table-header-sort-active-bg)',
'@table-header-filter-active-bg': 'var(--table-header-filter-active-bg)',
// Badge
'@badge-text-color': '@white',
// Rate
'@rate-star-bg': 'var(--rate-star-bg)',
// Card
'@card-actions-background': 'var(--card-actions-background)',
'@card-skeleton-bg': 'var(--card-skeleton-bg)',
'@card-shadow': 'var(--card-shadow)',
'@gradient-min': 'var(--gradient-min)',
'@gradient-max': 'var(--gradient-max)',
// Comment
'@comment-bg': 'var(--comment-bg)',
'@comment-author-time-color': 'var(--comment-author-time-color)',
'@comment-action-hover-color': 'var(--comment-action-hover-color)',
// BackTop
'@back-top-bg': 'var(--back-top-bg)',
'@back-top-hover-bg': 'var(--back-top-hover-bg)',
// Avatar
'@avatar-bg': 'var(--avatar-bg)',
// Switch
'@switch-bg': '@white',
// Pagination
'@pagination-item-bg': 'var(--pagination-item-bg)',
'@pagination-item-bg-active': 'var(--pagination-item-bg-active)',
'@pagination-item-link-bg': 'var(--pagination-item-link-bg)',
'@pagination-item-disabled-color-active': 'var(--pagination-item-disabled-color-active)',
'@pagination-item-disabled-bg-active': 'var(--pagination-item-disabled-bg-active)',
'@pagination-item-input-bg': 'var(--pagination-item-input-bg)',
// PageHeader
'@page-header-back-color': 'var(--page-header-back-color)',
// Slider
'@slider-rail-background-color': 'var(--slider-rail-background-color)',
'@slider-rail-background-color-hover': 'var(--slider-rail-background-color-hover)',
'@slider-handle-color-focus': '@primary-5',
'@slider-handle-color-focus-shadow': 'var(--primary-fade-20)',
'@slider-dot-border-color': 'var(--slider-dot-border-color)',
'@slider-dot-border-color-active': 'var(--slider-dot-border-color)',
// Skeleton
'@skeleton-to-color': 'var(--skeleton-to-color)',
// Transfer
'@transfer-item-hover-bg': 'var(--transfer-item-hover-bg)',
// Message
'@message-notice-content-bg': 'var(--message-notice-content-bg)',
// Alert
'@alert-success-border-color': '@green-3',
'@alert-success-bg-color': '@green-1',
'@alert-success-icon-color': '@success-color',
'@alert-info-border-color': '@primary-3',
'@alert-info-bg-color': '@primary-1',
'@alert-info-icon-color': '@primary-color',
'@alert-warning-border-color': '@gold-3',
'@alert-warning-bg-color': '@gold-1',
'@alert-warning-icon-color': '@warning-color',
'@alert-error-border-color': '@red-3',
'@alert-error-bg-color': '@red-1',
'@alert-error-icon-color': '@error-color',
// Drawer
'@drawer-bg': 'var(--drawer-bg)',
// Timeline
'@timeline-color': 'var(--timeline-color)',
'@timeline-dot-color': 'var(--timeline-dot-color)',
// Image
'@image-preview-operation-disabled-color': 'var(--image-preview-operation-disabled-color)',
// Steps
'@steps-nav-arrow-color': 'var(--steps-nav-arrow-color)',
'@steps-background': 'var(--steps-background)',
// Notification
'@notification-bg': 'var(--notification-bg)',
};
/**
* 需要替换的内容
*/
const replaces = {
// input/style/mixin.less
'fade(@color, 20%)': 'ele-fade(@color, 20%)',
// layout/style/index.less
//'tint(@layout-sider-background, 10%)': 'var(--layout-sider-background-1)',
// notification/style/index.less
'shade(@text-color-secondary, 40%)': '@text-color',
// popover/style/index.less
'box-shadow: ~\'0 0 8px @{shadow-color} \\9\';': '',
// radio/style/index.less
'fade(@radio-dot-color, 8%)': 'var(--primary-fade-8)',
// switch/style/index.less
'fade(@switch-color, 20%)': 'var(--primary-fade-20)',
// menu/style/index.less
'fade(@primary-color, 20%)': 'var(--primary-fade-20)',
// button/style/mixin.less
'fadein(@btn-text-hover-bg, 1%)': 'var(--btn-text-active-bg)'
};
/**
* 修改less变量的预处理器
*/
class AntdLessPreProcessor {
constructor(variables, replaces) {
this.variables = variables || {};
this.replaces = replaces || {};
}
process(src) {
let result = src;
Object.keys(this.variables).forEach((key) => {
result = result.replace(new RegExp(key + ':[^;]*;', 'g'), key + ': ' + this.variables[key] + ';');
});
Object.keys(this.replaces).forEach((key) => {
//result = result.replaceAll(key, this.replaces[key]);
// replaceAll以及正则如果含有符号容易报错, 使用如下实现全部替换
result = result.split(key).join(this.replaces[key]);
});
return result;
}
}
/**
* 转换antd变量的less插件
*/
class DynamicAntdLess {
constructor(opt) {
this.option = {
variables: Object.assign({}, variables, opt ? opt.variables : null),
replaces: Object.assign({}, replaces, opt ? opt.replaces : null),
};
}
install(less, manager, functions) {
// 添加预处理器
manager.addPreProcessor(new AntdLessPreProcessor(this.option.variables, this.option.replaces), 2000);
// 添加自定义函数, 替代fade函数以支持var()
const call = (name, ...args) => new less.tree.Call(name, [new less.tree.Expression(args)]);
functions.add('ele-fade', (node, amount) => {
if (node.name === 'var') {
const color = node.args[0].value;
if (color === '--primary-color' || color === '--info-color') {
return call('var', new less.tree.Anonymous('--primary-fade-' + amount.value));
}
if (color === '--error-color' || color === '--highlight-color') {
return call('var', new less.tree.Anonymous('--error-fade-' + amount.value));
}
if (color === '--warning-color') {
return call('var', new less.tree.Anonymous('--warning-fade-' + amount.value));
}
if (color === '--success-color') {
return call('var', new less.tree.Anonymous('--success-fade-' + amount.value));
}
return call('var', new less.tree.Anonymous(color + '-fade-unknown'));
}
const f = functions.get('fade');
return f ? f(node, amount) : node;
});
}
}
module.exports = DynamicAntdLess;

View File

@@ -1,14 +0,0 @@
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": [
"src/*"
]
}
},
"exclude": [
"node_modules",
"dist"
]
}

40771
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,59 +0,0 @@
{
"name": "ele-admin-pro-template",
"version": "1.5.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"build:preview": "vue-cli-service build --mode preview",
"build:report": "vue-cli-service build --report",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@antv/l7": "^2.5.8",
"@antv/l7-district": "^2.3.11",
"@antv/l7-maps": "^2.5.8",
"@tinymce/tinymce-vue": "~4.0.4",
"ant-design-vue": "~2.2.2",
"axios": "~0.21.1",
"core-js": "~3.15.2",
"countup.js": "~2.0.7",
"cropperjs": "~1.5.12",
"echarts": "~5.1.2",
"echarts-wordcloud": "~2.0.0",
"exceljs": "^4.3.0",
"install": "^0.13.0",
"lodash": "^4.17.21",
"nprogress": "~0.2.0",
"tinymce": "~5.8.2",
"uuid-js": "^0.7.5",
"vue": "~3.1.5",
"vue-axios": "~3.2.4",
"vue-i18n": "~9.1.7",
"vue-router": "~4.0.10",
"vuedraggable": "~4.0.3",
"vuex": "~4.0.2",
"xgplayer-vue": "~1.1.5",
"xlsx": "~0.17.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.13",
"@vue/cli-plugin-eslint": "~4.5.13",
"@vue/cli-plugin-router": "~4.5.13",
"@vue/cli-plugin-vuex": "~4.5.13",
"@vue/cli-service": "~4.5.13",
"@vue/compiler-sfc": "~3.1.5",
"babel-eslint": "~10.1.0",
"compression-webpack-plugin": "~6.1.1",
"eslint": "~6.8.0",
"eslint-plugin-vue": "~7.13.0",
"less": "~4.1.1",
"less-loader": "~7.3.0",
"postcss": "~8.3.5"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -1,23 +0,0 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= process.env.VUE_APP_NAME %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app">
<div class="ele-admin-loading"></div>
<style>
.ele-admin-loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ele-admin-loading:before{content:"";width:30px;height:30px;margin:0 auto;display:block;border-radius:50%;background:#1890ff;animation:loading-bounce .3s cubic-bezier(0.05,0,0.2,1) infinite alternate}.ele-admin-loading:after{content:"";width:10px;height:2px;margin:0 auto;display:block;border-radius:50%;background:#BBB;animation:loading-shadow .3s cubic-bezier(0.05,0,0.2,1) infinite alternate}@keyframes loading-bounce{from{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes loading-shadow{from{transform:scale(1,1);opacity:1}to{transform:scale(3,2);opacity:.3}}
</style>
</div>
<!-- built files will be auto injected -->
</body>
<script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=l5Bm66STm3OhEUvQosvevkE2LNewOfGR"></script>
</html>

Some files were not shown because too many files have changed in this diff Show More