diff --git a/src/main/java/com/gxwebsoft/cms/controller/DocsController.java b/src/main/java/com/gxwebsoft/cms/controller/DocsController.java index 1867182..546c792 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/DocsController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/DocsController.java @@ -1,18 +1,12 @@ 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 com.gxwebsoft.cms.service.DocsService; +import com.gxwebsoft.common.core.web.*; import com.gxwebsoft.common.system.entity.User; 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; @@ -44,11 +38,8 @@ public class DocsController extends BaseController { @ApiOperation("查询全部文档管理记录表") @GetMapping() public ApiResult> list(DocsParam param) { - PageParam page = new PageParam<>(param); - page.setDefaultOrder("create_time desc"); - return success(docsService.list(page.getOrderWrapper())); // 使用关联查询 - //return success(docsService.listRel(param)); + return success(docsService.listRel(param)); } @ApiOperation("根据id查询文档管理记录表") diff --git a/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java b/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java index 97422fb..f00504e 100644 --- a/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java +++ b/src/main/java/com/gxwebsoft/cms/service/impl/DocsServiceImpl.java @@ -33,7 +33,7 @@ public class DocsServiceImpl extends ServiceImpl implements Do List list = baseMapper.selectListRel(param); // 排序 PageParam page = new PageParam<>(); - //page.setDefaultOrder("create_time desc"); + page.setDefaultOrder("sort_number asc, create_time desc"); return page.sortRecords(list); } diff --git a/src/main/java/com/gxwebsoft/common/core/constants/AppUserConstants.java b/src/main/java/com/gxwebsoft/common/core/constants/AppUserConstants.java new file mode 100644 index 0000000..538e295 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/core/constants/AppUserConstants.java @@ -0,0 +1,8 @@ +package com.gxwebsoft.common.core.constants; + +public class AppUserConstants { + // 成员角色 + public static final Integer TRIAL = 10; // 体验成员 + public static final Integer DEVELOPER = 20; // 开发者 + public static final Integer ADMINISTRATOR = 30; // 管理员 +} diff --git a/src/main/java/com/gxwebsoft/common/system/controller/DictDataController.java b/src/main/java/com/gxwebsoft/common/system/controller/DictDataController.java index fd53bc1..b424993 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/DictDataController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/DictDataController.java @@ -1,7 +1,6 @@ package com.gxwebsoft.common.system.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.gxwebsoft.common.core.annotation.OperationLog; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.common.core.web.PageResult; diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MainController.java b/src/main/java/com/gxwebsoft/common/system/controller/MainController.java index 98a2648..1c4246c 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/MainController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/MainController.java @@ -10,9 +10,7 @@ import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.gson.Gson; -import com.gxwebsoft.common.core.annotation.OperationLog; import com.gxwebsoft.common.core.config.ConfigProperties; import com.gxwebsoft.common.core.security.JwtSubject; import com.gxwebsoft.common.core.security.JwtUtil; @@ -22,14 +20,15 @@ import com.gxwebsoft.common.core.utils.RedisUtil; import com.gxwebsoft.common.core.web.ApiResult; import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.common.core.web.ExistenceParam; -import com.gxwebsoft.common.system.entity.*; +import com.gxwebsoft.common.system.entity.LoginRecord; +import com.gxwebsoft.common.system.entity.Menu; +import com.gxwebsoft.common.system.entity.User; import com.gxwebsoft.common.system.param.LoginParam; import com.gxwebsoft.common.system.param.SmsCaptchaParam; import com.gxwebsoft.common.system.param.UpdatePasswordParam; import com.gxwebsoft.common.system.result.CaptchaResult; import com.gxwebsoft.common.system.result.LoginResult; import com.gxwebsoft.common.system.service.*; -import com.gxwebsoft.oa.entity.Company; import com.gxwebsoft.oa.service.CompanyService; import com.wf.captcha.SpecCaptcha; import io.swagger.annotations.Api; @@ -41,7 +40,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Random; diff --git a/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java b/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java index 683010f..52a3f76 100644 --- a/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java +++ b/src/main/java/com/gxwebsoft/common/system/entity/FileRecord.java @@ -25,7 +25,7 @@ public class FileRecord implements Serializable { private Integer id; @ApiModelProperty("分组ID") - private Integer groupId; + private String groupId; @ApiModelProperty("文件名称") private String name; diff --git a/src/main/java/com/gxwebsoft/common/system/param/FileRecordParam.java b/src/main/java/com/gxwebsoft/common/system/param/FileRecordParam.java index 97dc845..7f21366 100644 --- a/src/main/java/com/gxwebsoft/common/system/param/FileRecordParam.java +++ b/src/main/java/com/gxwebsoft/common/system/param/FileRecordParam.java @@ -30,7 +30,7 @@ public class FileRecordParam extends BaseParam { @QueryField(type = QueryType.EQ) @ApiModelProperty("分组ID") - private Integer groupId; + private String groupId; @ApiModelProperty("文件名称") private String name; diff --git a/src/main/java/com/gxwebsoft/oa/controller/AppController.java b/src/main/java/com/gxwebsoft/oa/controller/AppController.java index 7624efc..67f603a 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/AppController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/AppController.java @@ -1,6 +1,5 @@ package com.gxwebsoft.oa.controller; -import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.gxwebsoft.common.core.utils.RedisUtil; @@ -10,10 +9,8 @@ import com.gxwebsoft.common.core.web.BatchParam; import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.common.system.entity.User; import com.gxwebsoft.oa.entity.App; -import com.gxwebsoft.oa.entity.AppRenew; import com.gxwebsoft.oa.entity.AppUser; import com.gxwebsoft.oa.param.AppParam; -import com.gxwebsoft.oa.service.AppRenewService; import com.gxwebsoft.oa.service.AppService; import com.gxwebsoft.oa.service.AppUserService; import io.swagger.annotations.Api; @@ -25,6 +22,8 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import static com.gxwebsoft.common.core.constants.AppUserConstants.ADMINISTRATOR; + /** * 应用管理记录表控制器 * @@ -40,8 +39,6 @@ public class AppController extends BaseController { @Resource private AppUserService appUserService; @Resource - private AppRenewService appRenewService; - @Resource private RedisUtil redisUtil; @ApiOperation("分页查询应用管理记录表") @@ -85,6 +82,7 @@ public class AppController extends BaseController { public ApiResult save(@RequestBody App app) { // 记录当前登录用户id、租户id、商户编号 User loginUser = getLoginUser(); + AppUser appUser = new AppUser(); if (loginUser != null) { app.setUserId(loginUser.getUserId()); app.setTenantId(loginUser.getTenantId()); @@ -94,6 +92,13 @@ public class AppController extends BaseController { return fail("应用标识已存在"); } if (appService.save(app)) { + // 添加应用管理员 + if (loginUser != null) { + appUser.setUserId(loginUser.getUserId()); + appUser.setAppId(app.getAppId()); + appUser.setRole(ADMINISTRATOR); + appUserService.save(appUser); + } return success("添加成功"); } return fail("添加失败"); @@ -147,14 +152,26 @@ public class AppController extends BaseController { @ApiOperation("重置秘钥") @PostMapping("/updateAppSecret") public ApiResult updateAppSecret(@RequestBody App app) { + String key = "code:" + app.getPhone(); + final String code = redisUtil.get(key); if (app.getAppId() == null) { - return fail("请勿重复操作"); + return fail("appId不合法"); } - App result = appService.getByIdRel(app.getAppId()); - String appSecret = IdUtil.fastSimpleUUID(); - redisUtil.set("AppSecret:" + getTenantId(),appSecret); - result.setAppSecret(appSecret); - return success("重置成功",result); + if(app.getAppSecret() == null){ + return fail("appSecret不合法"); + } + if(app.getAppCode() == null){ + return fail("短信验证码不正确"); + } +// && !app.getAppCode().equals("170083") + if(!app.getAppCode().equals(code)){ + return fail("短信验证码不正确"); + } + appService.updateById(app); + // 保存到redis + redisUtil.set("AppSecret:" + app.getAppId(),app.getAppSecret()); + redisUtil.delete(key); + return success("重置成功",app.getAppSecret()); } @ApiOperation("APP应用授权身份效验") diff --git a/src/main/java/com/gxwebsoft/oa/controller/AppFieldController.java b/src/main/java/com/gxwebsoft/oa/controller/AppFieldController.java new file mode 100644 index 0000000..a2a6552 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/controller/AppFieldController.java @@ -0,0 +1,116 @@ +package com.gxwebsoft.oa.controller; + +import com.gxwebsoft.common.core.web.*; +import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.oa.entity.AppField; +import com.gxwebsoft.oa.param.AppFieldParam; +import com.gxwebsoft.oa.service.AppFieldService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 应用参数控制器 + * + * @author 科技小王子 + * @since 2024-01-12 20:08:35 + */ +@Api(tags = "应用参数管理") +@RestController +@RequestMapping("/api/oa/app-field") +public class AppFieldController extends BaseController { + @Resource + private AppFieldService appFieldService; + + @ApiOperation("分页查询应用参数") + @GetMapping("/page") + public ApiResult> page(AppFieldParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number desc"); + page.setDefaultOrder("create_time asc"); + return success(appFieldService.page(page, page.getWrapper())); + // 使用关联查询 + //return success(appFieldService.pageRel(param)); + } + + @ApiOperation("查询全部应用参数") + @GetMapping() + public ApiResult> list(AppFieldParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("create_time desc"); + return success(appFieldService.list(page.getOrderWrapper())); + // 使用关联查询 + //return success(appFieldService.listRel(param)); + } + + @ApiOperation("根据id查询应用参数") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + return success(appFieldService.getById(id)); + // 使用关联查询 + //return success(appFieldService.getByIdRel(id)); + } + + @ApiOperation("添加应用参数") + @PostMapping() + public ApiResult save(@RequestBody AppField appField) { + // 记录当前登录用户id + User loginUser = getLoginUser(); + if (loginUser != null) { + appField.setUserId(loginUser.getUserId()); + } + if (appFieldService.save(appField)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改应用参数") + @PutMapping() + public ApiResult update(@RequestBody AppField appField) { + if (appFieldService.updateById(appField)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除应用参数") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (appFieldService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加应用参数") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (appFieldService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改应用参数") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(appFieldService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除应用参数") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (appFieldService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/oa/controller/ProductController.java b/src/main/java/com/gxwebsoft/oa/controller/ProductController.java new file mode 100644 index 0000000..f98b75b --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/controller/ProductController.java @@ -0,0 +1,108 @@ +package com.gxwebsoft.oa.controller; + +import com.gxwebsoft.common.core.web.*; +import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.oa.entity.Product; +import com.gxwebsoft.oa.param.ProductParam; +import com.gxwebsoft.oa.service.ProductService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 产品记录表控制器 + * + * @author 科技小王子 + * @since 2023-12-14 14:18:01 + */ +@Api(tags = "产品记录表管理") +@RestController +@RequestMapping("/api/oa/product") +public class ProductController extends BaseController { + @Resource + private ProductService productService; + + @ApiOperation("分页查询产品记录表") + @GetMapping("/page") + public ApiResult> page(ProductParam param) { + // 使用关联查询 + return success(productService.pageRel(param)); + } + + @ApiOperation("查询全部产品记录表") + @GetMapping() + public ApiResult> list(ProductParam param) { + // 使用关联查询 + return success(productService.listRel(param)); + } + + @ApiOperation("根据id查询产品记录表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(productService.getByIdRel(id)); + } + + @ApiOperation("添加产品记录表") + @PostMapping() + public ApiResult save(@RequestBody Product product) { + // 记录当前登录用户id + User loginUser = getLoginUser(); + if (loginUser != null) { + product.setUserId(loginUser.getUserId()); + } + if (productService.save(product)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改产品记录表") + @PutMapping() + public ApiResult update(@RequestBody Product product) { + if (productService.updateById(product)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除产品记录表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (productService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加产品记录表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (productService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改产品记录表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(productService, "product_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除产品记录表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (productService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/oa/controller/ProductTabsController.java b/src/main/java/com/gxwebsoft/oa/controller/ProductTabsController.java new file mode 100644 index 0000000..fd54e9f --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/controller/ProductTabsController.java @@ -0,0 +1,108 @@ +package com.gxwebsoft.oa.controller; + +import com.gxwebsoft.common.core.web.*; +import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.oa.entity.ProductTabs; +import com.gxwebsoft.oa.param.ProductTabsParam; +import com.gxwebsoft.oa.service.ProductTabsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 产品标签记录表控制器 + * + * @author 科技小王子 + * @since 2023-12-14 15:55:52 + */ +@Api(tags = "产品标签记录表管理") +@RestController +@RequestMapping("/api/oa/product-tabs") +public class ProductTabsController extends BaseController { + @Resource + private ProductTabsService productTabsService; + + @ApiOperation("分页查询产品标签记录表") + @GetMapping("/page") + public ApiResult> page(ProductTabsParam param) { + // 使用关联查询 + return success(productTabsService.pageRel(param)); + } + + @ApiOperation("查询全部产品标签记录表") + @GetMapping() + public ApiResult> list(ProductTabsParam param) { + // 使用关联查询 + return success(productTabsService.listRel(param)); + } + + @ApiOperation("根据id查询产品标签记录表") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(productTabsService.getByIdRel(id)); + } + + @ApiOperation("添加产品标签记录表") + @PostMapping() + public ApiResult save(@RequestBody ProductTabs productTabs) { + // 记录当前登录用户id + User loginUser = getLoginUser(); + if (loginUser != null) { + productTabs.setUserId(loginUser.getUserId()); + } + if (productTabsService.save(productTabs)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改产品标签记录表") + @PutMapping() + public ApiResult update(@RequestBody ProductTabs productTabs) { + if (productTabsService.updateById(productTabs)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除产品标签记录表") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (productTabsService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加产品标签记录表") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (productTabsService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改产品标签记录表") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(productTabsService, "tab_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除产品标签记录表") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (productTabsService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/oa/controller/TaskController.java b/src/main/java/com/gxwebsoft/oa/controller/TaskController.java index 1ea1074..df94677 100644 --- a/src/main/java/com/gxwebsoft/oa/controller/TaskController.java +++ b/src/main/java/com/gxwebsoft/oa/controller/TaskController.java @@ -91,6 +91,8 @@ public class TaskController extends BaseController { task.setRoleId(role.getRoleId()); task.setRoleCode(role.getRoleCode()); task.setOrganizationId(loginUser.getOrganizationId()); + task.setAvatar(loginUser.getAvatar()); + task.setNickname(loginUser.getNickname()); task.setLastAvatar(loginUser.getAvatar()); task.setLastReadUser(loginUser.getUserId()); task.setLastNickname(loginUser.getNickname()); diff --git a/src/main/java/com/gxwebsoft/oa/entity/App.java b/src/main/java/com/gxwebsoft/oa/entity/App.java index 56b7fb8..0046e29 100644 --- a/src/main/java/com/gxwebsoft/oa/entity/App.java +++ b/src/main/java/com/gxwebsoft/oa/entity/App.java @@ -34,6 +34,9 @@ public class App implements Serializable { @ApiModelProperty(value = "应用标识") private String appCode; + @ApiModelProperty(value = "应用秘钥") + private String appSecret; + @ApiModelProperty(value = "上级id, 0是顶级") private Integer parentId; @@ -223,10 +226,6 @@ public class App implements Serializable { @ApiModelProperty(value = "修改时间") private Date updateTime; - @ApiModelProperty(value = "应用秘钥") - @TableField(exist = false) - private String appSecret; - @ApiModelProperty(value = "成员管理") @TableField(exist = false) private List users; @@ -247,4 +246,8 @@ public class App implements Serializable { @TableField(exist = false) private String avatar; + @ApiModelProperty(value = "手机号码") + @TableField(exist = false) + private String phone; + } diff --git a/src/main/java/com/gxwebsoft/oa/entity/AppField.java b/src/main/java/com/gxwebsoft/oa/entity/AppField.java new file mode 100644 index 0000000..635701d --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/entity/AppField.java @@ -0,0 +1,55 @@ +package com.gxwebsoft.oa.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 应用参数 + * + * @author 科技小王子 + * @since 2024-01-12 20:08:35 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "AppField对象", description = "应用参数") +@TableName("oa_app_field") +public class AppField implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "自增ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "应用ID") + private Integer appId; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "用户ID") + private Integer userId; + + @ApiModelProperty(value = "状态, 0正常, 1删除") + private Integer status; + + @ApiModelProperty(value = "排序(数字越小越靠前)") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "注册时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/oa/entity/Product.java b/src/main/java/com/gxwebsoft/oa/entity/Product.java new file mode 100644 index 0000000..bef7279 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/entity/Product.java @@ -0,0 +1,100 @@ +package com.gxwebsoft.oa.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 产品记录表 + * + * @author 科技小王子 + * @since 2023-12-14 14:18:01 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Product对象", description = "产品记录表") +@TableName("oa_product") +public class Product implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "产品ID") + @TableId(value = "product_id", type = IdType.AUTO) + private Integer productId; + + @ApiModelProperty(value = "产品名称") + private String name; + + @ApiModelProperty(value = "产品标识") + private String code; + + @ApiModelProperty(value = "产品详情") + private String content; + + @ApiModelProperty(value = "产品类型") + private String type; + + @ApiModelProperty(value = "产品金额") + private BigDecimal money; + + @ApiModelProperty(value = "附件") + private String files; + + @ApiModelProperty(value = "产品图标") + private String logo; + + @ApiModelProperty(value = "背景颜色") + private String backgroundColor; + + @ApiModelProperty(value = "背景图片") + private String backgroundImage; + + @ApiModelProperty(value = "背景图片gif") + private String backgroundGif; + + @ApiModelProperty(value = "购买链接") + private String buyUrl; + + @ApiModelProperty(value = "控制台链接") + private String adminUrl; + + @ApiModelProperty(value = "企业ID") + private Integer companyId; + + @ApiModelProperty(value = "用户ID") + private Integer userId; + + @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; + + @ApiModelProperty(value = "企业信息") + private Company company; + +} diff --git a/src/main/java/com/gxwebsoft/oa/entity/ProductTabs.java b/src/main/java/com/gxwebsoft/oa/entity/ProductTabs.java new file mode 100644 index 0000000..78d3d77 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/entity/ProductTabs.java @@ -0,0 +1,81 @@ +package com.gxwebsoft.oa.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 产品标签记录表 + * + * @author 科技小王子 + * @since 2023-12-14 15:55:52 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "ProductTabs对象", description = "产品标签记录表") +@TableName("oa_product_tabs") +public class ProductTabs implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "产品标签ID") + @TableId(value = "tab_id", type = IdType.AUTO) + private Integer tabId; + + @ApiModelProperty(value = "产品ID") + private Integer productId; + + @ApiModelProperty(value = "标签名称") + private String name; + + @ApiModelProperty(value = "标签类型") + private String type; + + @ApiModelProperty(value = "产品标签详情") + private String content; + + @ApiModelProperty(value = "背景颜色") + private String backgroundColor; + + @ApiModelProperty(value = "背景图片") + private String backgroundImage; + + @ApiModelProperty(value = "附件") + private String files; + + @ApiModelProperty(value = "企业ID") + private Integer companyId; + + @ApiModelProperty(value = "用户ID") + private Integer userId; + + @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; + +} diff --git a/src/main/java/com/gxwebsoft/oa/entity/Task.java b/src/main/java/com/gxwebsoft/oa/entity/Task.java index 22e17ca..83a7f79 100644 --- a/src/main/java/com/gxwebsoft/oa/entity/Task.java +++ b/src/main/java/com/gxwebsoft/oa/entity/Task.java @@ -47,6 +47,9 @@ public class Task implements Serializable { @ApiModelProperty(value = "工单状态, 0未开始 1已指派 ") private Integer progress; + @ApiModelProperty(value = "逾期天数") + private Integer overdueDays; + @ApiModelProperty(value = "优先级") private String priority; @@ -83,6 +86,12 @@ public class Task implements Serializable { @ApiModelProperty(value = "用户ID") private Integer userId; + @ApiModelProperty(value = "用户昵称") + private String nickname; + + @ApiModelProperty(value = "用户头像") + private String avatar; + @ApiModelProperty(value = "是否已查阅") private Integer isRead; diff --git a/src/main/java/com/gxwebsoft/oa/mapper/AppFieldMapper.java b/src/main/java/com/gxwebsoft/oa/mapper/AppFieldMapper.java new file mode 100644 index 0000000..829ac0e --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/AppFieldMapper.java @@ -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.AppField; +import com.gxwebsoft.oa.param.AppFieldParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 应用参数Mapper + * + * @author 科技小王子 + * @since 2024-01-12 20:08:35 + */ +public interface AppFieldMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") AppFieldParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") AppFieldParam param); + +} diff --git a/src/main/java/com/gxwebsoft/oa/mapper/ProductMapper.java b/src/main/java/com/gxwebsoft/oa/mapper/ProductMapper.java new file mode 100644 index 0000000..25c6b78 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/ProductMapper.java @@ -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.Product; +import com.gxwebsoft.oa.param.ProductParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 产品记录表Mapper + * + * @author 科技小王子 + * @since 2023-12-14 14:18:01 + */ +public interface ProductMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ProductParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ProductParam param); + +} diff --git a/src/main/java/com/gxwebsoft/oa/mapper/ProductTabsMapper.java b/src/main/java/com/gxwebsoft/oa/mapper/ProductTabsMapper.java new file mode 100644 index 0000000..4930542 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/ProductTabsMapper.java @@ -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.ProductTabs; +import com.gxwebsoft.oa.param.ProductTabsParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 产品标签记录表Mapper + * + * @author 科技小王子 + * @since 2023-12-14 15:55:52 + */ +public interface ProductTabsMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") ProductTabsParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") ProductTabsParam param); + +} diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/AppFieldMapper.xml b/src/main/java/com/gxwebsoft/oa/mapper/xml/AppFieldMapper.xml new file mode 100644 index 0000000..8d7c47b --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/xml/AppFieldMapper.xml @@ -0,0 +1,44 @@ + + + + + + + SELECT a.* + FROM oa_app_field a + + + AND a.id = #{param.id} + + + AND a.app_id = #{param.appId} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.user_id = #{param.userId} + + + AND a.status = #{param.status} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/ProductMapper.xml b/src/main/java/com/gxwebsoft/oa/mapper/xml/ProductMapper.xml new file mode 100644 index 0000000..c2c0032 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/xml/ProductMapper.xml @@ -0,0 +1,75 @@ + + + + + + + SELECT a.* + FROM oa_product a + + + AND a.product_id = #{param.productId} + + + AND a.name LIKE CONCAT('%', #{param.name}, '%') + + + AND a.code LIKE CONCAT('%', #{param.code}, '%') + + + AND a.content LIKE CONCAT('%', #{param.content}, '%') + + + AND a.type LIKE CONCAT('%', #{param.type}, '%') + + + AND a.files LIKE CONCAT('%', #{param.files}, '%') + + + AND a.company_id = #{param.companyId} + + + AND a.user_id = #{param.userId} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.deleted = #{param.deleted} + + + AND a.deleted = 0 + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND ( + a.product_id = #{param.keywords} + OR a.code = #{param.keywords} + OR a.name LIKE CONCAT('%', #{param.name}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/oa/mapper/xml/ProductTabsMapper.xml b/src/main/java/com/gxwebsoft/oa/mapper/xml/ProductTabsMapper.xml new file mode 100644 index 0000000..fa83c26 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/mapper/xml/ProductTabsMapper.xml @@ -0,0 +1,74 @@ + + + + + + + SELECT a.* + FROM oa_product_tabs a + + + AND a.tab_id = #{param.tabId} + + + AND a.product_id = #{param.productId} + + + AND a.name LIKE CONCAT('%', #{param.name}, '%') + + + AND a.type LIKE CONCAT('%', #{param.type}, '%') + + + AND a.content LIKE CONCAT('%', #{param.content}, '%') + + + AND a.background_color LIKE CONCAT('%', #{param.backgroundColor}, '%') + + + AND a.background_image LIKE CONCAT('%', #{param.backgroundImage}, '%') + + + AND a.files LIKE CONCAT('%', #{param.files}, '%') + + + AND a.company_id = #{param.companyId} + + + AND a.user_id = #{param.userId} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.deleted = #{param.deleted} + + + AND a.deleted = 0 + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/oa/param/AppFieldParam.java b/src/main/java/com/gxwebsoft/oa/param/AppFieldParam.java new file mode 100644 index 0000000..256a19f --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/param/AppFieldParam.java @@ -0,0 +1,44 @@ +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 2024-01-12 20:08:35 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "AppFieldParam对象", description = "应用参数查询参数") +public class AppFieldParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "自增ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @ApiModelProperty(value = "应用ID") + @QueryField(type = QueryType.EQ) + private Integer appId; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @ApiModelProperty(value = "状态, 0正常, 1删除") + @QueryField(type = QueryType.EQ) + private Integer status; + +} diff --git a/src/main/java/com/gxwebsoft/oa/param/ProductParam.java b/src/main/java/com/gxwebsoft/oa/param/ProductParam.java new file mode 100644 index 0000000..953b9dc --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/param/ProductParam.java @@ -0,0 +1,67 @@ +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 2023-12-14 14:18:01 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "ProductParam对象", description = "产品记录表查询参数") +public class ProductParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "产品ID") + @QueryField(type = QueryType.EQ) + private Integer productId; + + @ApiModelProperty(value = "产品名称") + private String name; + + @ApiModelProperty(value = "产品标识") + private String code; + + @ApiModelProperty(value = "产品详情") + private String content; + + @ApiModelProperty(value = "产品类型") + private String type; + + @ApiModelProperty(value = "附件") + private String files; + + @ApiModelProperty(value = "企业ID") + @QueryField(type = QueryType.EQ) + private Integer companyId; + + @ApiModelProperty(value = "用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @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; + +} diff --git a/src/main/java/com/gxwebsoft/oa/param/ProductTabsParam.java b/src/main/java/com/gxwebsoft/oa/param/ProductTabsParam.java new file mode 100644 index 0000000..936d111 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/param/ProductTabsParam.java @@ -0,0 +1,74 @@ +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 2023-12-14 15:55:52 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "ProductTabsParam对象", description = "产品标签记录表查询参数") +public class ProductTabsParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "产品标签ID") + @QueryField(type = QueryType.EQ) + private Integer tabId; + + @ApiModelProperty(value = "产品ID") + @QueryField(type = QueryType.EQ) + private Integer productId; + + @ApiModelProperty(value = "标签名称") + private String name; + + @ApiModelProperty(value = "标签类型") + private String type; + + @ApiModelProperty(value = "产品标签详情") + private String content; + + @ApiModelProperty(value = "背景颜色") + private String backgroundColor; + + @ApiModelProperty(value = "背景图片") + private String backgroundImage; + + @ApiModelProperty(value = "附件") + private String files; + + @ApiModelProperty(value = "企业ID") + @QueryField(type = QueryType.EQ) + private Integer companyId; + + @ApiModelProperty(value = "用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @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; + +} diff --git a/src/main/java/com/gxwebsoft/oa/param/TaskParam.java b/src/main/java/com/gxwebsoft/oa/param/TaskParam.java index 922eeb8..7dea647 100644 --- a/src/main/java/com/gxwebsoft/oa/param/TaskParam.java +++ b/src/main/java/com/gxwebsoft/oa/param/TaskParam.java @@ -51,6 +51,10 @@ public class TaskParam extends BaseParam { @QueryField(type = QueryType.EQ) private Integer progress; + @ApiModelProperty(value = "逾期天数") + @QueryField(type = QueryType.EQ) + private Integer overdueDays; + @ApiModelProperty(value = "优先级") private String priority; diff --git a/src/main/java/com/gxwebsoft/oa/service/AppFieldService.java b/src/main/java/com/gxwebsoft/oa/service/AppFieldService.java new file mode 100644 index 0000000..93196aa --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/AppFieldService.java @@ -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.AppField; +import com.gxwebsoft.oa.param.AppFieldParam; + +import java.util.List; + +/** + * 应用参数Service + * + * @author 科技小王子 + * @since 2024-01-12 20:08:35 + */ +public interface AppFieldService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(AppFieldParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(AppFieldParam param); + + /** + * 根据id查询 + * + * @param id 自增ID + * @return AppField + */ + AppField getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/ProductService.java b/src/main/java/com/gxwebsoft/oa/service/ProductService.java new file mode 100644 index 0000000..71465f5 --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/ProductService.java @@ -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.Product; +import com.gxwebsoft.oa.param.ProductParam; + +import java.util.List; + +/** + * 产品记录表Service + * + * @author 科技小王子 + * @since 2023-12-14 14:18:01 + */ +public interface ProductService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ProductParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ProductParam param); + + /** + * 根据id查询 + * + * @param productId 产品ID + * @return Product + */ + Product getByIdRel(Integer productId); + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/ProductTabsService.java b/src/main/java/com/gxwebsoft/oa/service/ProductTabsService.java new file mode 100644 index 0000000..c7450ac --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/ProductTabsService.java @@ -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.ProductTabs; +import com.gxwebsoft.oa.param.ProductTabsParam; + +import java.util.List; + +/** + * 产品标签记录表Service + * + * @author 科技小王子 + * @since 2023-12-14 15:55:52 + */ +public interface ProductTabsService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(ProductTabsParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(ProductTabsParam param); + + /** + * 根据id查询 + * + * @param tabId 产品标签ID + * @return ProductTabs + */ + ProductTabs getByIdRel(Integer tabId); + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/AppFieldServiceImpl.java b/src/main/java/com/gxwebsoft/oa/service/impl/AppFieldServiceImpl.java new file mode 100644 index 0000000..6f10f1d --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/impl/AppFieldServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.oa.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.oa.mapper.AppFieldMapper; +import com.gxwebsoft.oa.service.AppFieldService; +import com.gxwebsoft.oa.entity.AppField; +import com.gxwebsoft.oa.param.AppFieldParam; +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 2024-01-12 20:08:35 + */ +@Service +public class AppFieldServiceImpl extends ServiceImpl implements AppFieldService { + + @Override + public PageResult pageRel(AppFieldParam param) { + PageParam page = new PageParam<>(param); + //page.setDefaultOrder("create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(AppFieldParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + //page.setDefaultOrder("create_time desc"); + return page.sortRecords(list); + } + + @Override + public AppField getByIdRel(Integer id) { + AppFieldParam param = new AppFieldParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/ProductServiceImpl.java b/src/main/java/com/gxwebsoft/oa/service/impl/ProductServiceImpl.java new file mode 100644 index 0000000..0b6cbef --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/impl/ProductServiceImpl.java @@ -0,0 +1,58 @@ +package com.gxwebsoft.oa.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.oa.entity.Product; +import com.gxwebsoft.oa.mapper.ProductMapper; +import com.gxwebsoft.oa.param.ProductParam; +import com.gxwebsoft.oa.service.CompanyService; +import com.gxwebsoft.oa.service.ProductService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 产品记录表Service实现 + * + * @author 科技小王子 + * @since 2023-12-14 14:18:01 + */ +@Service +public class ProductServiceImpl extends ServiceImpl implements ProductService { + @Resource + private CompanyService companyService; + + @Override + public PageResult pageRel(ProductParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + list.forEach(d -> { + d.setCompany(companyService.getById(d.getCompanyId())); + }); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ProductParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public Product getByIdRel(Integer productId) { + ProductParam param = new ProductParam(); + param.setProductId(productId); + Product product = param.getOne(baseMapper.selectListRel(param)); + if(product != null){ + product.setCompany(companyService.getById(product.getCompanyId())); + } + return product; + } + +} diff --git a/src/main/java/com/gxwebsoft/oa/service/impl/ProductTabsServiceImpl.java b/src/main/java/com/gxwebsoft/oa/service/impl/ProductTabsServiceImpl.java new file mode 100644 index 0000000..a67714d --- /dev/null +++ b/src/main/java/com/gxwebsoft/oa/service/impl/ProductTabsServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.oa.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.oa.mapper.ProductTabsMapper; +import com.gxwebsoft.oa.service.ProductTabsService; +import com.gxwebsoft.oa.entity.ProductTabs; +import com.gxwebsoft.oa.param.ProductTabsParam; +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 2023-12-14 15:55:52 + */ +@Service +public class ProductTabsServiceImpl extends ServiceImpl implements ProductTabsService { + + @Override + public PageResult pageRel(ProductTabsParam param) { + PageParam page = new PageParam<>(param); + //page.setDefaultOrder("create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(ProductTabsParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + //page.setDefaultOrder("create_time desc"); + return page.sortRecords(list); + } + + @Override + public ProductTabs getByIdRel(Integer tabId) { + ProductTabsParam param = new ProductTabsParam(); + param.setTabId(tabId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 3506c6e..f562e7f 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -3,7 +3,7 @@ # 数据源配置 spring: datasource: - url: jdbc:mysql://47.119.165.234:3308/modules?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 + url: jdbc:mysql://127.0.0.1:3308/modules?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 username: modules password: FYJGx7s8yt7K8xDH driver-class-name: com.mysql.cj.jdbc.Driver @@ -12,7 +12,7 @@ spring: # 日志配置 logging: file: - name: websoft-api.log + name: websoft-modules.log level: root: WARN com.gxwebsoft: ERROR diff --git a/src/test/java/com/gxwebsoft/TestMain.java b/src/test/java/com/gxwebsoft/TestMain.java index 1f0ac3d..c3a88d8 100644 --- a/src/test/java/com/gxwebsoft/TestMain.java +++ b/src/test/java/com/gxwebsoft/TestMain.java @@ -15,7 +15,7 @@ public class TestMain { public void testGenJwtKey() { // System.out.println(JwtUtil.encodeKey(JwtUtil.randomKey())); -// final String encrypt = CommonUtil.encrypt("123"); +// final String encrypt = CommonUtil.encrypt("123456"); // System.out.println("encrypt = " + encrypt); // // final String decrypt = CommonUtil.decrypt(encrypt); diff --git a/src/test/java/com/gxwebsoft/generator/OaGenerator.java b/src/test/java/com/gxwebsoft/generator/OaGenerator.java index ed278c4..1298836 100644 --- a/src/test/java/com/gxwebsoft/generator/OaGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/OaGenerator.java @@ -51,7 +51,10 @@ public class OaGenerator { // "oa_app", // "oa_app_url", // "oa_app_user", - "oa_app_renew" +// "oa_app_renew", +// "oa_product" +// "oa_product_tabs", + "oa_app_field" }; // 需要去除的表前缀 private static final String[] TABLE_PREFIX = new String[]{