新增文章、工单、项目预览功能
This commit is contained in:
@@ -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<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));
|
||||
return success(docsService.listRel(param));
|
||||
}
|
||||
|
||||
@ApiOperation("根据id查询文档管理记录表")
|
||||
|
||||
@@ -33,7 +33,7 @@ public class DocsServiceImpl extends ServiceImpl<DocsMapper, Docs> implements Do
|
||||
List<Docs> list = baseMapper.selectListRel(param);
|
||||
// 排序
|
||||
PageParam<Docs, DocsParam> page = new PageParam<>();
|
||||
//page.setDefaultOrder("create_time desc");
|
||||
page.setDefaultOrder("sort_number asc, create_time desc");
|
||||
return page.sortRecords(list);
|
||||
}
|
||||
|
||||
|
||||
@@ -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; // 管理员
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -25,7 +25,7 @@ public class FileRecord implements Serializable {
|
||||
private Integer id;
|
||||
|
||||
@ApiModelProperty("分组ID")
|
||||
private Integer groupId;
|
||||
private String groupId;
|
||||
|
||||
@ApiModelProperty("文件名称")
|
||||
private String name;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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应用授权身份效验")
|
||||
|
||||
@@ -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<PageResult<AppField>> page(AppFieldParam param) {
|
||||
PageParam<AppField, AppFieldParam> 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<AppField>> list(AppFieldParam param) {
|
||||
PageParam<AppField, AppFieldParam> 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<AppField> 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<AppField> list) {
|
||||
if (appFieldService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@ApiOperation("批量修改应用参数")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<AppField> batchParam) {
|
||||
if (batchParam.update(appFieldService, "id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除应用参数")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (appFieldService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<PageResult<Product>> page(ProductParam param) {
|
||||
// 使用关联查询
|
||||
return success(productService.pageRel(param));
|
||||
}
|
||||
|
||||
@ApiOperation("查询全部产品记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<Product>> list(ProductParam param) {
|
||||
// 使用关联查询
|
||||
return success(productService.listRel(param));
|
||||
}
|
||||
|
||||
@ApiOperation("根据id查询产品记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<Product> 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<Product> list) {
|
||||
if (productService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@ApiOperation("批量修改产品记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<Product> batchParam) {
|
||||
if (batchParam.update(productService, "product_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除产品记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (productService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<PageResult<ProductTabs>> page(ProductTabsParam param) {
|
||||
// 使用关联查询
|
||||
return success(productTabsService.pageRel(param));
|
||||
}
|
||||
|
||||
@ApiOperation("查询全部产品标签记录表")
|
||||
@GetMapping()
|
||||
public ApiResult<List<ProductTabs>> list(ProductTabsParam param) {
|
||||
// 使用关联查询
|
||||
return success(productTabsService.listRel(param));
|
||||
}
|
||||
|
||||
@ApiOperation("根据id查询产品标签记录表")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<ProductTabs> 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<ProductTabs> list) {
|
||||
if (productTabsService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
}
|
||||
|
||||
@ApiOperation("批量修改产品标签记录表")
|
||||
@PutMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<ProductTabs> batchParam) {
|
||||
if (batchParam.update(productTabsService, "tab_id")) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@ApiOperation("批量删除产品标签记录表")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
if (productTabsService.removeByIds(ids)) {
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
|
||||
@@ -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<AppUser> users;
|
||||
@@ -247,4 +246,8 @@ public class App implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String avatar;
|
||||
|
||||
@ApiModelProperty(value = "手机号码")
|
||||
@TableField(exist = false)
|
||||
private String phone;
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<AppField> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<AppField>
|
||||
*/
|
||||
List<AppField> selectPageRel(@Param("page") IPage<AppField> page,
|
||||
@Param("param") AppFieldParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<AppField> selectListRel(@Param("param") AppFieldParam param);
|
||||
|
||||
}
|
||||
@@ -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<Product> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<Product>
|
||||
*/
|
||||
List<Product> selectPageRel(@Param("page") IPage<Product> page,
|
||||
@Param("param") ProductParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<Product> selectListRel(@Param("param") ProductParam param);
|
||||
|
||||
}
|
||||
@@ -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<ProductTabs> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param param 查询参数
|
||||
* @return List<ProductTabs>
|
||||
*/
|
||||
List<ProductTabs> selectPageRel(@Param("page") IPage<ProductTabs> page,
|
||||
@Param("param") ProductTabsParam param);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<User>
|
||||
*/
|
||||
List<ProductTabs> selectListRel(@Param("param") ProductTabsParam param);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?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.AppFieldMapper">
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*
|
||||
FROM oa_app_field a
|
||||
<where>
|
||||
<if test="param.id != null">
|
||||
AND a.id = #{param.id}
|
||||
</if>
|
||||
<if test="param.appId != null">
|
||||
AND a.app_id = #{param.appId}
|
||||
</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.status != null">
|
||||
AND a.status = #{param.status}
|
||||
</if>
|
||||
<if test="param.createTimeStart != null">
|
||||
AND a.create_time >= #{param.createTimeStart}
|
||||
</if>
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.AppField">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.AppField">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?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.ProductMapper">
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*
|
||||
FROM oa_product a
|
||||
<where>
|
||||
<if test="param.productId != null">
|
||||
AND a.product_id = #{param.productId}
|
||||
</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.content != null">
|
||||
AND a.content LIKE CONCAT('%', #{param.content}, '%')
|
||||
</if>
|
||||
<if test="param.type != null">
|
||||
AND a.type LIKE CONCAT('%', #{param.type}, '%')
|
||||
</if>
|
||||
<if test="param.files != null">
|
||||
AND a.files LIKE CONCAT('%', #{param.files}, '%')
|
||||
</if>
|
||||
<if test="param.companyId != null">
|
||||
AND a.company_id = #{param.companyId}
|
||||
</if>
|
||||
<if test="param.userId != null">
|
||||
AND a.user_id = #{param.userId}
|
||||
</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 >= #{param.createTimeStart}
|
||||
</if>
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
<if test="param.keywords != null">
|
||||
AND (
|
||||
a.product_id = #{param.keywords}
|
||||
OR a.code = #{param.keywords}
|
||||
OR a.name LIKE CONCAT('%', #{param.name}, '%')
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Product">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Product">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,74 @@
|
||||
<?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.ProductTabsMapper">
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*
|
||||
FROM oa_product_tabs a
|
||||
<where>
|
||||
<if test="param.tabId != null">
|
||||
AND a.tab_id = #{param.tabId}
|
||||
</if>
|
||||
<if test="param.productId != null">
|
||||
AND a.product_id = #{param.productId}
|
||||
</if>
|
||||
<if test="param.name != null">
|
||||
AND a.name LIKE CONCAT('%', #{param.name}, '%')
|
||||
</if>
|
||||
<if test="param.type != null">
|
||||
AND a.type LIKE CONCAT('%', #{param.type}, '%')
|
||||
</if>
|
||||
<if test="param.content != null">
|
||||
AND a.content LIKE CONCAT('%', #{param.content}, '%')
|
||||
</if>
|
||||
<if test="param.backgroundColor != null">
|
||||
AND a.background_color LIKE CONCAT('%', #{param.backgroundColor}, '%')
|
||||
</if>
|
||||
<if test="param.backgroundImage != null">
|
||||
AND a.background_image LIKE CONCAT('%', #{param.backgroundImage}, '%')
|
||||
</if>
|
||||
<if test="param.files != null">
|
||||
AND a.files LIKE CONCAT('%', #{param.files}, '%')
|
||||
</if>
|
||||
<if test="param.companyId != null">
|
||||
AND a.company_id = #{param.companyId}
|
||||
</if>
|
||||
<if test="param.userId != null">
|
||||
AND a.user_id = #{param.userId}
|
||||
</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 >= #{param.createTimeStart}
|
||||
</if>
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.ProductTabs">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.ProductTabs">
|
||||
<include refid="selectSql"></include>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<AppField> {
|
||||
|
||||
/**
|
||||
* 分页关联查询
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return PageResult<AppField>
|
||||
*/
|
||||
PageResult<AppField> pageRel(AppFieldParam param);
|
||||
|
||||
/**
|
||||
* 关联查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<AppField>
|
||||
*/
|
||||
List<AppField> listRel(AppFieldParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param id 自增ID
|
||||
* @return AppField
|
||||
*/
|
||||
AppField getByIdRel(Integer id);
|
||||
|
||||
}
|
||||
@@ -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<Product> {
|
||||
|
||||
/**
|
||||
* 分页关联查询
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return PageResult<Product>
|
||||
*/
|
||||
PageResult<Product> pageRel(ProductParam param);
|
||||
|
||||
/**
|
||||
* 关联查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<Product>
|
||||
*/
|
||||
List<Product> listRel(ProductParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param productId 产品ID
|
||||
* @return Product
|
||||
*/
|
||||
Product getByIdRel(Integer productId);
|
||||
|
||||
}
|
||||
@@ -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<ProductTabs> {
|
||||
|
||||
/**
|
||||
* 分页关联查询
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return PageResult<ProductTabs>
|
||||
*/
|
||||
PageResult<ProductTabs> pageRel(ProductTabsParam param);
|
||||
|
||||
/**
|
||||
* 关联查询全部
|
||||
*
|
||||
* @param param 查询参数
|
||||
* @return List<ProductTabs>
|
||||
*/
|
||||
List<ProductTabs> listRel(ProductTabsParam param);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
*
|
||||
* @param tabId 产品标签ID
|
||||
* @return ProductTabs
|
||||
*/
|
||||
ProductTabs getByIdRel(Integer tabId);
|
||||
|
||||
}
|
||||
@@ -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<AppFieldMapper, AppField> implements AppFieldService {
|
||||
|
||||
@Override
|
||||
public PageResult<AppField> pageRel(AppFieldParam param) {
|
||||
PageParam<AppField, AppFieldParam> page = new PageParam<>(param);
|
||||
//page.setDefaultOrder("create_time desc");
|
||||
List<AppField> list = baseMapper.selectPageRel(page, param);
|
||||
return new PageResult<>(list, page.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppField> listRel(AppFieldParam param) {
|
||||
List<AppField> list = baseMapper.selectListRel(param);
|
||||
// 排序
|
||||
PageParam<AppField, AppFieldParam> 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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<ProductMapper, Product> implements ProductService {
|
||||
@Resource
|
||||
private CompanyService companyService;
|
||||
|
||||
@Override
|
||||
public PageResult<Product> pageRel(ProductParam param) {
|
||||
PageParam<Product, ProductParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("sort_number asc, create_time desc");
|
||||
List<Product> list = baseMapper.selectPageRel(page, param);
|
||||
list.forEach(d -> {
|
||||
d.setCompany(companyService.getById(d.getCompanyId()));
|
||||
});
|
||||
return new PageResult<>(list, page.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Product> listRel(ProductParam param) {
|
||||
List<Product> list = baseMapper.selectListRel(param);
|
||||
// 排序
|
||||
PageParam<Product, ProductParam> 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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<ProductTabsMapper, ProductTabs> implements ProductTabsService {
|
||||
|
||||
@Override
|
||||
public PageResult<ProductTabs> pageRel(ProductTabsParam param) {
|
||||
PageParam<ProductTabs, ProductTabsParam> page = new PageParam<>(param);
|
||||
//page.setDefaultOrder("create_time desc");
|
||||
List<ProductTabs> list = baseMapper.selectPageRel(page, param);
|
||||
return new PageResult<>(list, page.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductTabs> listRel(ProductTabsParam param) {
|
||||
List<ProductTabs> list = baseMapper.selectListRel(param);
|
||||
// 排序
|
||||
PageParam<ProductTabs, ProductTabsParam> 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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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[]{
|
||||
|
||||
Reference in New Issue
Block a user