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

@@ -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