拆分think模块包

This commit is contained in:
2024-08-13 17:51:18 +08:00
parent 9dc17cd63e
commit 09a752e12a
1547 changed files with 88305 additions and 10329 deletions
+318
View File
@@ -0,0 +1,318 @@
package com.gxwebsoft.oa.controller;
import cn.hutool.core.net.url.UrlBuilder;
import cn.hutool.core.net.url.UrlQuery;
import cn.hutool.core.util.DesensitizedUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.security.JwtUtil;
import com.gxwebsoft.common.core.utils.CommonUtil;
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.BatchParam;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.system.entity.FileRecord;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.common.system.service.FileRecordService;
import com.gxwebsoft.oa.entity.App;
import com.gxwebsoft.oa.entity.AppUrl;
import com.gxwebsoft.oa.entity.AppUser;
import com.gxwebsoft.oa.param.AppParam;
import com.gxwebsoft.oa.service.AppService;
import com.gxwebsoft.oa.service.AppUrlService;
import com.gxwebsoft.oa.service.AppUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import static com.gxwebsoft.common.core.constants.AppUserConstants.ADMINISTRATOR;
/**
* 应用管理记录表控制器
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
@Api(tags = "应用管理记录表管理")
@RestController
@RequestMapping("/api/oa/app")
public class AppController extends BaseController {
@Resource
private AppService appService;
@Resource
private AppUserService appUserService;
@Resource
private AppUrlService appUrlService;
@Resource
private FileRecordService fileRecordService;
@Resource
private RedisUtil redisUtil;
@ApiOperation("统计信息")
@GetMapping("/data")
public ApiResult<Map<String, Integer>> data() {
Map<String, Integer> data = new HashMap<>();
Integer totalNum = appService.count(
new LambdaQueryWrapper<>()
);
Integer totalNum2 = appService.count(
new LambdaQueryWrapper<App>()
.eq(App::getAppStatus, "开发中")
);
Integer totalNum3 = appService.count(
new LambdaQueryWrapper<App>()
.eq(App::getAppStatus, "已上架")
);
Integer totalNum4 = appService.count(
new LambdaQueryWrapper<App>()
.eq(App::getAppStatus, "已上架")
.eq(App::getShowExpiration,false)
);
Integer totalNum5 = appService.count(
new LambdaQueryWrapper<App>()
.eq(App::getAppStatus, "已下架")
);
Integer totalNum6 = appService.count(
new LambdaQueryWrapper<App>()
.eq(App::getShowCase,true)
);
Integer totalNum7 = appService.count(
new LambdaQueryWrapper<App>()
.eq(App::getShowIndex, true)
);
data.put("totalNum", totalNum);
data.put("totalNum2", totalNum2);
data.put("totalNum3", totalNum3);
data.put("totalNum4", totalNum4);
data.put("totalNum5", totalNum5);
data.put("totalNum6", totalNum6);
data.put("totalNum7", totalNum7);
return success(data);
}
@ApiOperation("分页查询应用管理记录表")
@GetMapping("/page")
public ApiResult<PageResult<App>> page(AppParam param, HttpServletRequest request) {
final User loginUser = getLoginUser();
// 未登录情况
if(loginUser == null){
String access_token = JwtUtil.getAccessToken(request);
param.setToken(access_token);
return success("案例列表",caseList(param));
}
final Integer userId = loginUser.getUserId();
loginUser.getRoles().forEach(d -> {
if(!StrUtil.equals(d.getRoleCode(),"superAdmin") && !StrUtil.equals(d.getRoleCode(),"admin")){
// 非管理员按项目成员权限显示
final List<AppUser> list = appUserService.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getUserId, userId));
System.out.println("list = " + list);
final Set<Integer> collect = list.stream().map(AppUser::getAppId).collect(Collectors.toSet());
param.setAppIds(collect);
}
});
// 过滤续费提醒参数
if (param.getAppStatus() != null && param.getAppStatus().equals("续费中")) {
param.setAppStatus(null);
}
// 使用关联查询
return success(appService.pageRel(param));
}
// 读取案例列表
private PageResult<App> caseList(AppParam param){
param.setShowCase(true);
final PageResult<App> appPageResult = appService.pageRel(param);
appPageResult.getList().forEach(d -> {
d.setContent(null);
// 读取账号列表
d.setAppUrlList(appUrlService.list(new LambdaQueryWrapper<AppUrl>().eq(AppUrl::getAppId,d.getAppId())));
// 读取项目附件(链式构建GET请求)
HashMap<String, Object> map = new HashMap<>();
map.put("appId", d.getAppId());
final String build = UrlBuilder.of("https://server.gxwebsoft.com/api/file/page").setQuery(new UrlQuery(map)).build();
String response = HttpRequest.get(build)
.header("Authorization", param.getToken())
.header("Tenantid", d.getTenantId().toString())
.body(JSONObject.toJSONString(map))//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
final ApiResult<PageResult<FileRecord>> userResult = JSONObject.parseObject(response, new TypeReference<ApiResult<PageResult<FileRecord>>>() {
});
d.setAppFiles(userResult.getData().getList());
});
return appPageResult;
}
@PreAuthorize("hasAuthority('oa:app:list')")
@ApiOperation("查询全部应用管理记录表")
@GetMapping()
public ApiResult<List<App>> list(AppParam param) {
// 使用关联查询
return success(appService.listRel(param));
}
@ApiOperation("根据id查询应用管理记录表")
@GetMapping("/{id}")
public ApiResult<App> get(@PathVariable("id") Integer id) {
final User loginUser = getLoginUser();
// 未登录情况
if(loginUser == null){
return success("案例详情",getDesensitizedApp(id));
}
if (!CommonUtil.hasRole(loginUser.getRoles(),"superAdmin") && !CommonUtil.hasRole(loginUser.getRoles(),"admin")) {
// 查询权限
if (appUserService.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getUserId, getLoginUserId()).eq(AppUser::getAppId,id)) == 0) {
return fail("无查看权限",null);
}
}
// 使用关联查询
return success(appService.getByIdRel(id));
}
private App getDesensitizedApp(Integer id) {
final App app = appService.getByIdRel(id);
app.setPhone(DesensitizedUtil.mobilePhone(app.getPhone()));
app.setCompanyName(
StrUtil.hide(app.getCompanyName(), 2, app.getCompanyName().length() - 2));
app.setRequirement(DesensitizedUtil.chineseName(app.getCompanyName()));
return app;
}
@ApiOperation("添加应用管理记录表")
@PostMapping()
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());
}
if (appService.count(new LambdaQueryWrapper<App>()
.eq(App::getAppCode, app.getAppCode())) > 0) {
return fail("应用标识已存在");
}
if (appService.save(app)) {
// 添加应用管理员
if (loginUser != null) {
appUser.setUserId(loginUser.getUserId());
appUser.setNickname(loginUser.getNickname());
appUser.setAppId(app.getAppId());
appUser.setRole(ADMINISTRATOR);
appUserService.save(appUser);
}
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改应用管理记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody App app) {
if (appService.updateById(app)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除应用管理记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (appService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加应用管理记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<App> list) {
if (appService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改应用管理记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<App> batchParam) {
if (batchParam.update(appService, "app_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除应用管理记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (appService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
@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("appId不合法");
}
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应用授权身份效验")
@GetMapping("/authentication/{appid}")
public ApiResult<?> authentication(@PathVariable("appid") String appid) {
final App appInfo = appService.getById(appid);
if(appInfo == null){
return fail("应用不存在:".concat(appid));
}
return success("应用信息",appInfo);
}
@ApiOperation("查询我的项目信息")
@GetMapping("/getMyApp")
public ApiResult<App> getMyApp() {
final User loginUser = getLoginUser();
// 未登录情况
if(loginUser == null){
return fail("请先登录",null);
}
appService.list();
// 使用关联查询
return success("查询成功",null);
}
}
@@ -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,127 @@
package com.gxwebsoft.oa.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.web.*;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.App;
import com.gxwebsoft.oa.entity.AppRenew;
import com.gxwebsoft.oa.param.AppRenewParam;
import com.gxwebsoft.oa.service.AppRenewService;
import com.gxwebsoft.oa.service.AppService;
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-11-14 14:27:57
*/
@Api(tags = "续费管理管理")
@RestController
@RequestMapping("/api/oa/app-renew")
public class AppRenewController extends BaseController {
@Resource
private AppRenewService appRenewService;
@Resource
private AppService appService;
@ApiOperation("分页查询续费管理")
@GetMapping("/page")
public ApiResult<PageResult<AppRenew>> page(AppRenewParam param) {
// 使用关联查询
return success(appRenewService.pageRel(param));
}
@ApiOperation("查询全部续费管理")
@GetMapping()
public ApiResult<List<AppRenew>> list(AppRenewParam param) {
// 使用关联查询
return success(appRenewService.listRel(param));
}
@ApiOperation("根据id查询续费管理")
@GetMapping("/{id}")
public ApiResult<AppRenew> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(appRenewService.getByIdRel(id));
}
@ApiOperation("添加续费管理")
@PostMapping()
public ApiResult<?> save(@RequestBody AppRenew appRenew) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
appRenew.setUserId(loginUser.getUserId());
}
if (appRenewService.save(appRenew)) {
// 更新到期时间
App app = appService.getById(appRenew.getAppId());
app.setExpirationTime(appRenew.getEndTime());
app.setRenewMoney(appRenew.getMoney());
app.setShowExpiration(true);
appService.updateById(app);
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改续费管理")
@PutMapping()
public ApiResult<?> update(@RequestBody AppRenew appRenew) {
if (appRenewService.updateById(appRenew)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除续费管理")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (appRenewService.removeById(id)) {
// 没有续费单则不显示在续费提醒列表
AppRenew appRenew = appRenewService.getById(id);
if (appRenewService.count(new LambdaQueryWrapper<AppRenew>().eq(AppRenew::getAppId,appRenew.getAppId())) == 0) {
App app = new App();
app.setAppId(appRenew.getAppId());
app.setShowExpiration(false);
appService.updateById(app);
}
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加续费管理")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<AppRenew> list) {
if (appRenewService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改续费管理")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<AppRenew> batchParam) {
if (batchParam.update(appRenewService, "app_renew_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除续费管理")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (appRenewService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
+105
View File
@@ -0,0 +1,105 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.AppUrlService;
import com.gxwebsoft.oa.entity.AppUrl;
import com.gxwebsoft.oa.param.AppUrlParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.BatchParam;
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-04-15 13:01:34
*/
@Api(tags = "项目域名管理")
@RestController
@RequestMapping("/api/oa/app-url")
public class AppUrlController extends BaseController {
@Resource
private AppUrlService appUrlService;
@ApiOperation("分页查询项目域名")
@GetMapping("/page")
public ApiResult<PageResult<AppUrl>> page(AppUrlParam param) {
// 使用关联查询
return success(appUrlService.pageRel(param));
}
@ApiOperation("查询全部项目域名")
@GetMapping()
public ApiResult<List<AppUrl>> list(AppUrlParam param) {
// 使用关联查询
return success(appUrlService.listRel(param));
}
@ApiOperation("根据id查询项目域名")
@GetMapping("/{id}")
public ApiResult<AppUrl> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(appUrlService.getByIdRel(id));
}
@ApiOperation("添加项目域名")
@PostMapping()
public ApiResult<?> save(@RequestBody AppUrl appUrl) {
if (appUrlService.save(appUrl)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改项目域名")
@PutMapping()
public ApiResult<?> update(@RequestBody AppUrl appUrl) {
if (appUrlService.updateById(appUrl)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除项目域名")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (appUrlService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加项目域名")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<AppUrl> list) {
if (appUrlService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改项目域名")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<AppUrl> batchParam) {
if (batchParam.update(appUrlService, "app_url_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除项目域名")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (appUrlService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,117 @@
package com.gxwebsoft.oa.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.security.JwtUtil;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.AppUser;
import com.gxwebsoft.oa.param.AppUserParam;
import com.gxwebsoft.oa.service.AppUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* 应用成员控制器
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
@Api(tags = "应用成员管理")
@RestController
@RequestMapping("/api/oa/app-user")
public class AppUserController extends BaseController {
@Resource
private AppUserService appUserService;
@ApiOperation("分页查询应用成员")
@GetMapping("/page")
public ApiResult<PageResult<AppUser>> page(AppUserParam param, HttpServletRequest request) {
// 使用关联查询
param.setToken(JwtUtil.getAccessToken(request));
param.setTenantId(getTenantId());
return success(appUserService.pageRel(param));
}
@ApiOperation("查询全部应用成员")
@GetMapping()
public ApiResult<List<AppUser>> list(AppUserParam param) {
// 使用关联查询
if (param.getAppId() == null) {
return fail("AppId不存在",null);
}
return success(appUserService.listRel(param));
}
@ApiOperation("根据id查询应用成员")
@GetMapping("/{id}")
public ApiResult<AppUser> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(appUserService.getByIdRel(id));
}
@ApiOperation("添加应用成员")
@PostMapping()
public ApiResult<?> save(@RequestBody AppUser appUser) {
if (appUserService.count(new LambdaQueryWrapper<AppUser>()
.eq(AppUser::getUserId, appUser.getUserId()).eq(AppUser::getAppId,appUser.getAppId())) > 0) {
return fail("该成员已存在");
}
if (appUserService.save(appUser)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改应用成员")
@PutMapping()
public ApiResult<?> update(@RequestBody AppUser appUser) {
if (appUserService.updateById(appUser)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除应用成员")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (appUserService.removeById(id)) {
return success("移除成功");
}
return fail("移除失败");
}
@ApiOperation("批量添加应用成员")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<AppUser> list) {
if (appUserService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改应用成员")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<AppUser> batchParam) {
if (batchParam.update(appUserService, "app_user_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除应用成员")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (appUserService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
+233
View File
@@ -0,0 +1,233 @@
package com.gxwebsoft.oa.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.utils.BtUtil;
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.BatchParam;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.system.entity.Role;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.entity.AssetsUser;
import com.gxwebsoft.oa.param.AssetsParam;
import com.gxwebsoft.oa.service.AssetsService;
import com.gxwebsoft.oa.service.AssetsUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.gxwebsoft.common.core.constants.AppUserConstants.ADMINISTRATOR;
/**
* 服务器资产记录表控制器
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
@Api(tags = "服务器资产记录表管理")
@RestController
@RequestMapping("/api/oa/assets")
public class AssetsController extends BaseController {
@Resource
private AssetsService assetsService;
@Resource
private AssetsUserService assetsUserService;
@Resource
private BtUtil btUtil;
@Resource
private RedisUtil redisUtil;
@ApiOperation("统计信息")
@GetMapping("/data")
public ApiResult<Map<String, Integer>> data() {
final User loginUser = getLoginUser();
final Integer userId = loginUser.getUserId();
final List<String> collect1 = loginUser.getRoles().stream().map(Role::getRoleCode).collect(Collectors.toList());
Map<String, Integer> data = new HashMap<>();
if (collect1.contains("superAdmin") || collect1.contains("admin")) {
Integer totalNum = assetsService.count(
new LambdaQueryWrapper<Assets>()
);
Integer totalNum1 = assetsService.count(
new LambdaQueryWrapper<Assets>()
.gt(Assets::getEndTime, LocalDateTime.now())
// .eq(Assets::getStatus, "运行中")
);
Integer totalNum2 = assetsService.count(
new LambdaQueryWrapper<Assets>()
.lt(Assets::getEndTime, LocalDateTime.now())
);
Integer totalNum3 = assetsService.count(
new LambdaQueryWrapper<Assets>()
.eq(Assets::getStatus, "已销毁")
);
data.put("totalNum", totalNum);
data.put("totalNum1", totalNum1);
data.put("totalNum2", totalNum2);
data.put("totalNum3", totalNum3);
// 处理已过期主机
String key = "Assets:update:".concat(loginUser.getTenantId().toString());
if(redisUtil.get(key) == null){
final List<Assets> list = assetsService.list(new LambdaQueryWrapper<Assets>().lt(Assets::getEndTime, LocalDateTime.now()));
list.forEach(d -> {
d.setStatus("已到期");
});
if (assetsService.updateBatchById(list)) {
redisUtil.set(key,1,1L, TimeUnit.DAYS);
}
}
return success(data);
}
// 非管理员
final List<AssetsUser> list = assetsUserService.list(new LambdaQueryWrapper<AssetsUser>().eq(AssetsUser::getUserId, userId));
final Set<Integer> collect = list.stream().map(AssetsUser::getAssetsId).collect(Collectors.toSet());
Integer totalNum = assetsService.count(
new LambdaQueryWrapper<Assets>().in(Assets::getAssetsId,collect)
);
Integer totalNum1 = assetsService.count(
new LambdaQueryWrapper<Assets>()
.gt(Assets::getEndTime, LocalDateTime.now())
.in(Assets::getAssetsId,collect)
);
Integer totalNum2 = assetsService.count(
new LambdaQueryWrapper<Assets>()
.lt(Assets::getEndTime, LocalDateTime.now())
.in(Assets::getAssetsId,collect)
);
Integer totalNum3 = assetsService.count(
new LambdaQueryWrapper<Assets>()
.eq(Assets::getStatus, "已销毁")
.in(Assets::getAssetsId,collect)
);
data.put("totalNum", totalNum);
data.put("totalNum1", totalNum1);
data.put("totalNum2", totalNum2);
data.put("totalNum3", totalNum3);
return success(data);
}
@ApiOperation("分页查询服务器资产记录表")
@GetMapping("/page")
public ApiResult<PageResult<Assets>> page(AssetsParam param) {
final User loginUser = getLoginUser();
final Integer userId = loginUser.getUserId();
final List<String> collect1 = loginUser.getRoles().stream().map(Role::getRoleCode).collect(Collectors.toList());
if (collect1.contains("superAdmin") || collect1.contains("admin")) {
// 返回查询结果
return success(assetsService.pageRel(param));
}
final List<AssetsUser> list = assetsUserService.list(new LambdaQueryWrapper<AssetsUser>().eq(AssetsUser::getUserId, userId));
final Set<Integer> collect = list.stream().map(AssetsUser::getAssetsId).collect(Collectors.toSet());
if(!CollectionUtils.isEmpty(collect)){
param.setAssetsIds(collect);
}
return success(assetsService.pageRel(param));
}
@ApiOperation("查询全部服务器资产记录表")
@GetMapping()
public ApiResult<List<Assets>> list(AssetsParam param) {
// 使用关联查询
return success(assetsService.listRel(param));
}
@ApiOperation("根据id查询服务器资产记录表")
@GetMapping("/{id}")
public ApiResult<Assets> get(@PathVariable("id") Integer id) {
final Assets assets = assetsService.getByIdRel(id);
// 查询宝塔接口
if(StrUtil.isNotBlank(assets.getBtSign())){
final BtUtil client = btUtil.client(id);
final String systemTotal = client.getSystemTotal();
final String diskInfo = client.getDiskInfo();
assets.setSystemTotal(systemTotal);
assets.setDiskInfo(diskInfo);
}
// 使用关联查询
return success(assets);
}
@ApiOperation("添加服务器资产记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody Assets assets) {
// 记录当前登录用户id、租户id
User loginUser = getLoginUser();
if (loginUser != null) {
assets.setUserId(loginUser.getUserId());
}
if (assetsService.count(new LambdaQueryWrapper<Assets>().eq(Assets::getCode,assets.getCode())) > 0) {
return fail("该IP地址已存在");
}
if (assetsService.save(assets)) {
// 添加应用管理员
if (loginUser != null) {
final AssetsUser assetsUser = new AssetsUser();
assetsUser.setUserId(loginUser.getUserId());
assetsUser.setNickname(loginUser.getNickname());
assetsUser.setAssetsId(assets.getAssetsId());
assetsUser.setRole(ADMINISTRATOR);
assetsUserService.save(assetsUser);
}
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改服务器资产记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Assets assets) {
if (assetsService.updateById(assets)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除服务器资产记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (assetsService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加服务器资产记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Assets> list) {
if (assetsService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改服务器资产记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Assets> batchParam) {
if (batchParam.update(assetsService, "assets_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除服务器资产记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (assetsService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,110 @@
package com.gxwebsoft.oa.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.oa.service.AssetsUserService;
import com.gxwebsoft.oa.entity.AssetsUser;
import com.gxwebsoft.oa.param.AssetsUserParam;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.core.web.BatchParam;
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-10-26 21:08:27
*/
@Api(tags = "服务器成员管理管理")
@RestController
@RequestMapping("/api/oa/assets-user")
public class AssetsUserController extends BaseController {
@Resource
private AssetsUserService assetsUserService;
@ApiOperation("分页查询服务器成员管理")
@GetMapping("/page")
public ApiResult<PageResult<AssetsUser>> page(AssetsUserParam param) {
// 使用关联查询
return success(assetsUserService.pageRel(param));
}
@ApiOperation("查询全部服务器成员管理")
@GetMapping()
public ApiResult<List<AssetsUser>> list(AssetsUserParam param) {
// 使用关联查询
return success(assetsUserService.listRel(param));
}
@ApiOperation("根据id查询服务器成员管理")
@GetMapping("/{id}")
public ApiResult<AssetsUser> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(assetsUserService.getByIdRel(id));
}
@ApiOperation("添加服务器成员管理")
@PostMapping()
public ApiResult<?> save(@RequestBody AssetsUser assetsUser) {
if (assetsUserService.count(new LambdaQueryWrapper<AssetsUser>()
.eq(AssetsUser::getUserId, assetsUser.getUserId()).eq(AssetsUser::getAssetsId,assetsUser.getAssetsId())) > 0) {
return fail("该成员已存在");
}
if (assetsUserService.save(assetsUser)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改服务器成员管理")
@PutMapping()
public ApiResult<?> update(@RequestBody AssetsUser assetsUser) {
if (assetsUserService.updateById(assetsUser)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除服务器成员管理")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (assetsUserService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加服务器成员管理")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<AssetsUser> list) {
if (assetsUserService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改服务器成员管理")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<AssetsUser> batchParam) {
if (batchParam.update(assetsUserService, "id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除服务器成员管理")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (assetsUserService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,141 @@
package com.gxwebsoft.oa.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.web.*;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.Company;
import com.gxwebsoft.oa.entity.CompanyUser;
import com.gxwebsoft.oa.param.CompanyParam;
import com.gxwebsoft.oa.service.CompanyService;
import com.gxwebsoft.oa.service.CompanyUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import static com.gxwebsoft.common.core.constants.AppUserConstants.ADMINISTRATOR;
/**
* 企业信息控制器
*
* @author 科技小王子
* @since 2023-10-23 19:18:58
*/
@Api(tags = "企业信息管理")
@RestController
@RequestMapping("/api/oa/company")
public class CompanyController extends BaseController {
@Resource
private CompanyService companyService;
@Resource
private CompanyUserService companyUserService;
@ApiOperation("分页查询企业信息")
@GetMapping("/page")
public ApiResult<PageResult<Company>> page(CompanyParam param) {
final User loginUser = getLoginUser();
final Integer userId = loginUser.getUserId();
loginUser.getRoles().forEach(d -> {
if(!StrUtil.equals(d.getRoleCode(),"superAdmin") && !StrUtil.equals(d.getRoleCode(),"admin")){
// 非管理员按项目成员权限显示
final List<CompanyUser> list = companyUserService.list(new LambdaQueryWrapper<CompanyUser>().eq(CompanyUser::getUserId, userId));
System.out.println("list = " + list);
final Set<Integer> collect = list.stream().map(CompanyUser::getCompanyId).collect(Collectors.toSet());
param.setCompanyIds(collect);
}
});
// 使用关联查询
return success(companyService.pageRel(param));
}
@ApiOperation("查询全部企业信息")
@GetMapping()
public ApiResult<List<Company>> list(CompanyParam param) {
PageParam<Company, CompanyParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(companyService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(companyService.listRel(param));
}
@ApiOperation("根据id查询企业信息")
@GetMapping("/{id}")
public ApiResult<Company> get(@PathVariable("id") Integer id) {
return success(companyService.getById(id));
// 使用关联查询
//return success(companyService.getByIdRel(id));
}
@ApiOperation("添加企业信息")
@PostMapping()
public ApiResult<?> save(@RequestBody Company company) {
// 记录当前登录用户id
User loginUser = getLoginUser();
CompanyUser companyUser = new CompanyUser();
if (loginUser != null) {
company.setUserId(loginUser.getUserId());
company.setTenantId(loginUser.getTenantId());
}
if (companyService.save(company)) {
// 添加客户所有者
companyUser.setUserId(loginUser.getUserId());
companyUser.setNickname(loginUser.getNickname());
companyUser.setCompanyId(company.getCompanyId());
companyUser.setRole(ADMINISTRATOR);
companyUserService.save(companyUser);
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改企业信息")
@PutMapping()
public ApiResult<?> update(@RequestBody Company company) {
if (companyService.updateById(company)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除企业信息")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (companyService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加企业信息")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Company> list) {
if (companyService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改企业信息")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Company> batchParam) {
if (batchParam.update(companyService, "company_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除企业信息")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (companyService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -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.CompanyField;
import com.gxwebsoft.oa.param.CompanyFieldParam;
import com.gxwebsoft.oa.service.CompanyFieldService;
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-02-04 14:44:42
*/
@Api(tags = "企业参数管理")
@RestController
@RequestMapping("/api/oa/company-field")
public class CompanyFieldController extends BaseController {
@Resource
private CompanyFieldService companyFieldService;
@ApiOperation("分页查询企业参数")
@GetMapping("/page")
public ApiResult<PageResult<CompanyField>> page(CompanyFieldParam param) {
PageParam<CompanyField, CompanyFieldParam> page = new PageParam<>(param);
page.setDefaultOrder("sort_number desc");
page.setDefaultOrder("create_time asc");
return success(companyFieldService.page(page, page.getWrapper()));
// 使用关联查询
//return success(companyFieldService.pageRel(param));
}
@ApiOperation("查询全部企业参数")
@GetMapping()
public ApiResult<List<CompanyField>> list(CompanyFieldParam param) {
PageParam<CompanyField, CompanyFieldParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(companyFieldService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(companyFieldService.listRel(param));
}
@ApiOperation("根据id查询企业参数")
@GetMapping("/{id}")
public ApiResult<CompanyField> get(@PathVariable("id") Integer id) {
return success(companyFieldService.getById(id));
// 使用关联查询
//return success(companyFieldService.getByIdRel(id));
}
@ApiOperation("添加企业参数")
@PostMapping()
public ApiResult<?> save(@RequestBody CompanyField companyField) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
companyField.setUserId(loginUser.getUserId());
}
if (companyFieldService.save(companyField)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改企业参数")
@PutMapping()
public ApiResult<?> update(@RequestBody CompanyField companyField) {
if (companyFieldService.updateById(companyField)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除企业参数")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (companyFieldService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加企业参数")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<CompanyField> list) {
if (companyFieldService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改企业参数")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<CompanyField> batchParam) {
if (batchParam.update(companyFieldService, "id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除企业参数")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (companyFieldService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,118 @@
package com.gxwebsoft.oa.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.gxwebsoft.common.core.security.JwtUtil;
import com.gxwebsoft.common.core.web.ApiResult;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.common.core.web.BatchParam;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.CompanyUser;
import com.gxwebsoft.oa.param.CompanyUserParam;
import com.gxwebsoft.oa.service.CompanyUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* 成员管理控制器
*
* @author 科技小王子
* @since 2024-02-04 14:44:42
*/
@Api(tags = "成员管理管理")
@RestController
@RequestMapping("/api/oa/company-user")
public class CompanyUserController extends BaseController {
@Resource
private CompanyUserService companyUserService;
@ApiOperation("分页查询成员管理")
@GetMapping("/page")
public ApiResult<PageResult<CompanyUser>> page(CompanyUserParam param, HttpServletRequest request) {
// 使用关联查询
param.setToken(JwtUtil.getAccessToken(request));
param.setTenantId(getTenantId());
return success(companyUserService.pageRel(param));
}
@ApiOperation("查询全部成员管理")
@GetMapping()
public ApiResult<List<CompanyUser>> list(CompanyUserParam param) {
// 使用关联查询
if (param.getCompanyId() == null) {
return fail("该企业不存在",null);
}
// 使用关联查询
return success(companyUserService.listRel(param));
}
@ApiOperation("根据id查询成员管理")
@GetMapping("/{id}")
public ApiResult<CompanyUser> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(companyUserService.getByIdRel(id));
}
@ApiOperation("添加成员管理")
@PostMapping()
public ApiResult<?> save(@RequestBody CompanyUser companyUser) {
if (companyUserService.count(new LambdaQueryWrapper<CompanyUser>()
.eq(CompanyUser::getUserId, companyUser.getUserId()).eq(CompanyUser::getCompanyId,companyUser.getCompanyId())) > 0) {
return fail("该成员已存在");
}
if (companyUserService.save(companyUser)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改成员管理")
@PutMapping()
public ApiResult<?> update(@RequestBody CompanyUser companyUser) {
if (companyUserService.updateById(companyUser)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除成员管理")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (companyUserService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加成员管理")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<CompanyUser> list) {
if (companyUserService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改成员管理")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<CompanyUser> batchParam) {
if (batchParam.update(companyUserService, "company_user_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除成员管理")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (companyUserService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
+116
View File
@@ -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.Link;
import com.gxwebsoft.oa.param.LinkParam;
import com.gxwebsoft.oa.service.LinkService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 常用链接控制器
*
* @author 科技小王子
* @since 2024-01-14 11:50:39
*/
@Api(tags = "常用链接管理")
@RestController
@RequestMapping("/api/oa/link")
public class LinkController extends BaseController {
@Resource
private LinkService linkService;
@ApiOperation("分页查询常用链接")
@GetMapping("/page")
public ApiResult<PageResult<Link>> page(LinkParam param) {
// 使用关联查询
return success(linkService.pageRel(param));
}
@ApiOperation("查询全部常用链接")
@GetMapping()
public ApiResult<List<Link>> list(LinkParam param) {
// 使用关联查询
return success(linkService.listRel(param));
}
@ApiOperation("根据id查询常用链接")
@GetMapping("/{id}")
public ApiResult<Link> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(linkService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('oa:link:save')")
@ApiOperation("添加常用链接")
@PostMapping()
public ApiResult<?> save(@RequestBody Link link) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
link.setUserId(loginUser.getUserId());
}
if (linkService.save(link)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:link:update')")
@ApiOperation("修改常用链接")
@PutMapping()
public ApiResult<?> update(@RequestBody Link link) {
if (linkService.updateById(link)) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:link:remove')")
@ApiOperation("删除常用链接")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (linkService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@PreAuthorize("hasAuthority('oa:link:save')")
@ApiOperation("批量添加常用链接")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Link> list) {
if (linkService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@PreAuthorize("hasAuthority('oa:link:update')")
@ApiOperation("批量修改常用链接")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Link> batchParam) {
if (batchParam.update(linkService, "id")) {
return success("修改成功");
}
return fail("修改失败");
}
@PreAuthorize("hasAuthority('oa:link:remove')")
@ApiOperation("批量删除常用链接")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (linkService.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("删除失败");
}
}
+255
View File
@@ -0,0 +1,255 @@
package com.gxwebsoft.oa.controller;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.gxwebsoft.common.core.security.JwtUtil;
import com.gxwebsoft.common.core.utils.MyQrCodeUtil;
import com.gxwebsoft.common.core.web.*;
import com.gxwebsoft.common.system.entity.Role;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.entity.TaskCount;
import com.gxwebsoft.oa.entity.TaskRecord;
import com.gxwebsoft.oa.param.TaskParam;
import com.gxwebsoft.oa.service.TaskCountService;
import com.gxwebsoft.oa.service.TaskRecordService;
import com.gxwebsoft.oa.service.TaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static com.gxwebsoft.common.core.constants.TaskConstants.*;
/**
* 任务记录表控制器
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
@Api(tags = "任务记录表管理")
@RestController
@RequestMapping("/api/oa/task")
public class TaskController extends BaseController {
@Resource
private TaskService taskService;
@Resource
private TaskRecordService taskRecordService;
@Resource
private TaskCountService taskCountService;
@ApiOperation("分页查询任务记录表")
@GetMapping("/page")
public ApiResult<PageResult<Task>> page(TaskParam param) {
// 使用关联查询
param.setLoginUserId(getLoginUserId());
return success(taskService.pageRel(param));
}
@ApiOperation("查询全部任务记录表")
@GetMapping()
public ApiResult<List<Task>> list(TaskParam param) {
PageParam<Task, TaskParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(taskService.listRel(param));
}
@ApiOperation("根据id查询任务记录表")
@GetMapping("/{id}")
public ApiResult<Task> get(@PathVariable("id") Integer id) {
// 更新阅读状态
Task task = taskService.getByIdRel(id);
if(!task.getLastReadUser().equals(getLoginUserId())){
task.setIsRead(1);
taskService.updateById(task);
}
return success(task);
}
@ApiOperation("添加任务记录表")
@Transactional(rollbackFor = {Exception.class})
@PostMapping()
public ApiResult<?> save(@RequestBody Task task) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
task.setUserId(loginUser.getUserId());
Role role = loginUser.getRoles().get(0);
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());
if(task.getName() == null){
task.setName(task.getContent());
}
}
if (taskService.saveByRel(task)) {
return success("添加成功", task);
}
return fail("添加失败");
}
@ApiOperation("修改任务记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody Task task) {
if (taskService.updateById(task)) {
// 更新统计表
task.setLoginUserId(getLoginUserId());
taskService.updateCount(task);
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除任务记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (taskService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加任务记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<Task> list) {
if (taskService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改任务记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<Task> batchParam) {
if (batchParam.update(taskService, "task_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除任务记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (taskService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("统计信息")
@GetMapping("/count")
public ApiResult<?> count(TaskParam param) {
User loginUser = getLoginUser();
ArrayList<Object> countNum = taskService.getCountNum(loginUser, param);
return success("操作成功", countNum);
}
@ApiOperation("生成工单二维码")
@GetMapping("/taskQRCode")
public ApiResult<?> taskQRCode(TaskParam param, HttpServletRequest request) throws IOException {
String url = "https://modules.gxwebsoft.com/oa/task/detail?id=".concat(param.getTaskId().toString());
final String qrCode = MyQrCodeUtil.getTaskCode(param.getTaskId(),url);
return success("操作成功", qrCode);
}
@ApiOperation("生成邀请加入二维码")
@GetMapping("/taskJoinQRCode")
public ApiResult<?> taskJoinQRCode(TaskParam param, HttpServletRequest request) throws IOException {
User loginUser = getLoginUser();
String access_token = JwtUtil.getAccessToken(request);
String url = "https://modules.gxwebsoft.com/passport/register?type=join&dealerId=".concat(loginUser.getUserId().toString())+"&token=".concat(access_token);
final String qrCode = MyQrCodeUtil.getUserCode(loginUser.getUserId(),url);
return success("操作成功", qrCode);
}
/**
* 每日清零
*/
@Scheduled(cron="0 0 0 * * ?")
public void todayTask() {
System.out.println("每日清零任务 = ");
final boolean update = taskCountService.update(new LambdaUpdateWrapper<TaskCount>().set(TaskCount::getToday, 0));
System.out.println("update = " + update);
}
/**
* 本月清零
*/
@Scheduled(cron="0 0 1 * * ?")
public void monthTask() {
taskCountService.update(new LambdaUpdateWrapper<TaskCount>().set(TaskCount::getMonth, 0));
}
/**
* 每年清零
*/
@Scheduled(cron = "0 0 0 1 * ?")
public void yearTask(){
taskCountService.update(new LambdaUpdateWrapper<TaskCount>().set(TaskCount::getYear, 0));
}
/**
* 定时结算已解决待评价的工单的任务
* 1个小时内没有用户再次提交新的回复则自动结算
* 时间间隔2分钟执行一次
*/
@Scheduled(cron="*/30 * * * * *")
public void updateProgressTask() {
// System.out.println("定时任务开始:updateProgressTask = " + DateUtil.now());
TaskParam taskParam = new TaskParam();
taskParam.setProgress(TOBECONFIRMED);
// taskParam.setTaskId(689);
taskParam.setLimit(10L);
final PageResult<Task> result = taskService.pageRelAll(taskParam);
if(result.getCount() == 0){
return;
}
final List<Task> list = result.getList();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(task -> {
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date newDate = DateUtil.offset(task.getUpdateTime(), DateField.MINUTE, 60 * 24);
Date date1 = df.parse(newDate.toString());
Date date2 = df.parse(DateUtil.now());
final boolean after = date2.after(date1);
if(after){
// 更新工单状态
task.setProgress(COMPLETED);
task.setStatus(TASK_STATUS_1);
taskService.updateByIdAll(task);
// 待评价的工单超过24小时没有评价则自动确认
final TaskRecord taskRecord = new TaskRecord();
taskRecord.setTaskId(task.getTaskId());
taskRecord.setContent("超过24小时没有评价的工单系统已自动评价");
taskRecord.setTenantId(task.getTenantId());
final boolean save = taskRecordService.save(taskRecord);
System.out.println("save = " + save);
System.out.println("超过24小时没有评价的工单已自动确认 = " + task.getTaskId());
}
} catch (Exception e) {
e.printStackTrace();
}
});
}
}
}
@@ -0,0 +1,121 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.security.JwtUtil;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.service.TaskCountService;
import com.gxwebsoft.oa.entity.TaskCount;
import com.gxwebsoft.oa.param.TaskCountParam;
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.oa.service.TaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* 数据统计控制器
*
* @author 科技小王子
* @since 2023-10-30 14:25:30
*/
@Api(tags = "数据统计管理")
@RestController
@RequestMapping("/api/oa/task-count")
public class TaskCountController extends BaseController {
@Resource
private TaskCountService taskCountService;
@ApiOperation("分页查询数据统计")
@GetMapping("/page")
public ApiResult<PageResult<TaskCount>> page(TaskCountParam param, HttpServletRequest request) {
param.setToken(JwtUtil.getAccessToken(request));
param.setTenantId(getTenantId());
return success(taskCountService.pageRel(param));
}
@ApiOperation("查询全部数据统计")
@GetMapping()
public ApiResult<List<TaskCount>> list(TaskCountParam param) {
PageParam<TaskCount, TaskCountParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskCountService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(taskCountService.listRel(param));
}
@ApiOperation("根据id查询数据统计")
@GetMapping("/{id}")
public ApiResult<TaskCount> get(@PathVariable("id") Integer id) {
return success(taskCountService.getById(id));
// 使用关联查询
//return success(taskCountService.getByIdRel(id));
}
@ApiOperation("添加数据统计")
@PostMapping()
public ApiResult<?> save(@RequestBody TaskCount taskCount) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
taskCount.setUserId(loginUser.getUserId());
}
if (taskCountService.save(taskCount)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改数据统计")
@PutMapping()
public ApiResult<?> update(@RequestBody TaskCount taskCount) {
if (taskCountService.updateById(taskCount)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除数据统计")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (taskCountService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加数据统计")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<TaskCount> list) {
if (taskCountService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改数据统计")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<TaskCount> batchParam) {
if (batchParam.update(taskCountService, "task_count_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除数据统计")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (taskCountService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,135 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.security.JwtUtil;
import com.gxwebsoft.common.core.utils.CommonUtil;
import com.gxwebsoft.common.core.web.*;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.entity.TaskRecord;
import com.gxwebsoft.oa.param.TaskRecordParam;
import com.gxwebsoft.oa.service.TaskRecordService;
import com.gxwebsoft.oa.service.TaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import static com.gxwebsoft.common.core.constants.TaskConstants.PENDING;
import static com.gxwebsoft.common.core.constants.TaskConstants.PROCESSING;
/**
* 工单回复记录表控制器
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
@Api(tags = "工单回复记录表管理")
@RestController
@RequestMapping("/api/oa/task-record")
public class TaskRecordController extends BaseController {
@Resource
private TaskRecordService taskRecordService;
@Resource
private TaskService taskService;
@ApiOperation("分页查询工单回复记录表")
@GetMapping("/page")
public ApiResult<PageResult<TaskRecord>> page(TaskRecordParam param, HttpServletRequest request) {
param.setToken(JwtUtil.getAccessToken(request));
param.setTenantId(getTenantId());
return success(taskRecordService.pageRel(param));
}
@ApiOperation("查询全部工单回复记录表")
@GetMapping()
public ApiResult<List<TaskRecord>> list(TaskRecordParam param) {
PageParam<TaskRecord, TaskRecordParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskRecordService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(taskRecordService.listRel(param));
}
@ApiOperation("根据id查询工单回复记录表")
@GetMapping("/{id}")
public ApiResult<TaskRecord> get(@PathVariable("id") Integer id) {
return success(taskRecordService.getById(id));
// 使用关联查询
//return success(taskRecordService.getByIdRel(id));
}
@ApiOperation("添加工单回复记录表")
@PostMapping()
public ApiResult<?> save(@RequestBody TaskRecord taskRecord) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
taskRecord.setUserId(loginUser.getUserId());
// 技术人员更新工单状态
Task task = taskService.getById(taskRecord.getTaskId());
if (CommonUtil.hasRole(loginUser.getRoles(),"commander") && task.getProgress().equals(PENDING)) {
task.setProgress(PROCESSING);
}
task.setUpdateTime(new Date());
task.setContent(taskRecord.getContent());
task.setLastAvatar(loginUser.getAvatar());
task.setLastReadUser(loginUser.getUserId());
task.setLastNickname(loginUser.getNickname());
taskService.updateById(task);
}
if (taskRecordService.save(taskRecord)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改工单回复记录表")
@PutMapping()
public ApiResult<?> update(@RequestBody TaskRecord taskRecord) {
if (taskRecordService.updateById(taskRecord)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除工单回复记录表")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (taskRecordService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加工单回复记录表")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<TaskRecord> list) {
if (taskRecordService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改工单回复记录表")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<TaskRecord> batchParam) {
if (batchParam.update(taskRecordService, "task_record_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除工单回复记录表")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (taskRecordService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
@@ -0,0 +1,119 @@
package com.gxwebsoft.oa.controller;
import com.gxwebsoft.common.core.web.BaseController;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.oa.service.TaskUserService;
import com.gxwebsoft.oa.entity.TaskUser;
import com.gxwebsoft.oa.param.TaskUserParam;
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 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-10-23 18:53:01
*/
@Api(tags = "工单成员管理")
@RestController
@RequestMapping("/api/oa/task-user")
public class TaskUserController extends BaseController {
@Resource
private TaskUserService taskUserService;
@ApiOperation("分页查询工单成员")
@GetMapping("/page")
public ApiResult<PageResult<TaskUser>> page(TaskUserParam param) {
PageParam<TaskUser, TaskUserParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskUserService.page(page, page.getWrapper()));
// 使用关联查询
//return success(taskUserService.pageRel(param));
}
@ApiOperation("查询全部工单成员")
@GetMapping()
public ApiResult<List<TaskUser>> list(TaskUserParam param) {
PageParam<TaskUser, TaskUserParam> page = new PageParam<>(param);
page.setDefaultOrder("create_time desc");
return success(taskUserService.list(page.getOrderWrapper()));
// 使用关联查询
//return success(taskUserService.listRel(param));
}
@ApiOperation("根据id查询工单成员")
@GetMapping("/{id}")
public ApiResult<TaskUser> get(@PathVariable("id") Integer id) {
return success(taskUserService.getById(id));
// 使用关联查询
//return success(taskUserService.getByIdRel(id));
}
@ApiOperation("添加工单成员")
@PostMapping()
public ApiResult<?> save(@RequestBody TaskUser taskUser) {
// 记录当前登录用户id
User loginUser = getLoginUser();
if (loginUser != null) {
taskUser.setUserId(loginUser.getUserId());
}
if (taskUserService.save(taskUser)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("修改工单成员")
@PutMapping()
public ApiResult<?> update(@RequestBody TaskUser taskUser) {
if (taskUserService.updateById(taskUser)) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("删除工单成员")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (taskUserService.removeById(id)) {
return success("删除成功");
}
return fail("删除失败");
}
@ApiOperation("批量添加工单成员")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<TaskUser> list) {
if (taskUserService.saveBatch(list)) {
return success("添加成功");
}
return fail("添加失败");
}
@ApiOperation("批量修改工单成员")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<TaskUser> batchParam) {
if (batchParam.update(taskUserService, "task_user_id")) {
return success("修改成功");
}
return fail("修改失败");
}
@ApiOperation("批量删除工单成员")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (taskUserService.removeByIds(ids)) {
return success("删除成功");
}
return fail("删除失败");
}
}
+271
View File
@@ -0,0 +1,271 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.gxwebsoft.common.system.entity.FileRecord;
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;
import java.util.List;
/**
* 应用管理记录表
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "App对象", description = "应用管理记录表")
@TableName("oa_app")
public class App implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "应用ID")
@TableId(value = "app_id", type = IdType.AUTO)
private Integer appId;
@ApiModelProperty(value = "应用名称")
private String appName;
@ApiModelProperty(value = "应用标识")
private String appCode;
@ApiModelProperty(value = "应用秘钥")
private String appSecret;
@ApiModelProperty(value = "上级id, 0是顶级")
private Integer parentId;
@ApiModelProperty(value = "应用类型")
private String appType;
@ApiModelProperty(value = "应用类型")
private String appTypeMultiple;
@ApiModelProperty(value = "类型, 0菜单, 1按钮")
private Integer menuType;
@ApiModelProperty(value = "企业ID")
private Integer companyId;
@ApiModelProperty(value = "企业名称")
private String companyName;
@ApiModelProperty(value = "企业简称")
@TableField(exist = false)
private String shortName;
@ApiModelProperty(value = "企业商标")
@TableField(exist = false)
private String companyLogo;
@ApiModelProperty(value = "应用图标")
private String appIcon;
@ApiModelProperty(value = "二维码")
private String appQrcode;
@ApiModelProperty(value = "链接地址")
private String appUrl;
@ApiModelProperty(value = "后台管理地址")
private String adminUrl;
@ApiModelProperty(value = "下载地址")
private String downUrl;
@ApiModelProperty(value = "链接地址")
private String serverUrl;
@ApiModelProperty(value = "文件服务器")
private String fileUrl;
@ApiModelProperty(value = "回调地址")
private String callbackUrl;
@ApiModelProperty(value = "腾讯文档地址")
private String docsUrl;
@ApiModelProperty(value = "代码仓库地址")
private String gitUrl;
@ApiModelProperty(value = "原型图地址")
private String prototypeUrl;
@ApiModelProperty(value = "IP白名单")
private String ipAddress;
@ApiModelProperty(value = "应用截图")
private String images;
@ApiModelProperty(value = "应用包名")
private String packageName;
@ApiModelProperty(value = "下载次数")
private Integer clicks;
@ApiModelProperty(value = "安装次数")
private Integer installs;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "应用介绍")
private String content;
@ApiModelProperty(value = "项目需求")
private String requirement;
@ApiModelProperty(value = "开发者(个人或公司)")
private String developer;
@ApiModelProperty(value = "项目负责人")
private String director;
@ApiModelProperty(value = "项目经理")
private String projectDirector;
@ApiModelProperty(value = "业务员")
private String salesman;
@ApiModelProperty(value = "软件定价")
private BigDecimal price;
@ApiModelProperty(value = "划线价格")
private BigDecimal linePrice;
@ApiModelProperty(value = "评分")
private String score;
@ApiModelProperty(value = "星级")
private String star;
@ApiModelProperty(value = "菜单路由地址")
private String path;
@ApiModelProperty(value = "菜单组件地址, 目录可为空")
private String component;
@ApiModelProperty(value = "权限标识")
private String authority;
@ApiModelProperty(value = "打开位置")
private String target;
@ApiModelProperty(value = "是否隐藏, 0否, 1是(仅注册路由不显示在左侧菜单)")
private Integer hide;
@ApiModelProperty(value = "禁止搜索,1禁止 0 允许")
private Integer search;
@ApiModelProperty(value = "菜单侧栏选中的path")
private String active;
@ApiModelProperty(value = "其它路由元信息")
private String meta;
@ApiModelProperty(value = "版本,0正式版 1体验版 2开发版")
private String edition;
@ApiModelProperty(value = "版本号")
private String version;
@ApiModelProperty(value = "是否已安装")
private Integer isUse;
@ApiModelProperty(value = "附近1")
private String file1;
@ApiModelProperty(value = "附件2")
private String file2;
@ApiModelProperty(value = "附件3")
private String file3;
@ApiModelProperty(value = "是否在续费提醒显示")
private Boolean showExpiration;
@ApiModelProperty(value = "服务到期时间")
private Date expirationTime;
@ApiModelProperty(value = "最近一笔的续费金额")
private BigDecimal renewMoney;
@ApiModelProperty(value = "应用状态")
private String appStatus;
@ApiModelProperty(value = "是否作为案例展示")
private Boolean showCase;
@ApiModelProperty(value = "是否推荐")
private Boolean recommend;
@ApiModelProperty(value = "是否显示在首页")
private Boolean showIndex;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "租户编号")
private String tenantCode;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
@ApiModelProperty(value = "成员管理")
@TableField(exist = false)
private List<AppUser> users;
@ApiModelProperty(value = "链接列表")
@TableField(exist = false)
private List<AppUrl> appUrlList;
@ApiModelProperty(value = "项目附件")
@TableField(exist = false)
private List<FileRecord> appFiles;
@ApiModelProperty(value = "主体名称")
@TableField(exist = false)
private String tenantName;
@ApiModelProperty(value = "开发者名称")
@TableField(exist = false)
private String realName;
@ApiModelProperty(value = "开发者名称")
@TableField(exist = false)
private String nickname;
@ApiModelProperty(value = "开发者头像")
@TableField(exist = false)
private String avatar;
@ApiModelProperty(value = "手机号码")
@TableField(exist = false)
private String phone;
}
+55
View File
@@ -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;
}
+80
View File
@@ -0,0 +1,80 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
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-11-14 14:27:57
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "AppRenew对象", description = "续费管理")
@TableName("oa_app_renew")
public class AppRenew implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "app_renew_id", type = IdType.AUTO)
private Integer appRenewId;
@ApiModelProperty(value = "续费金额")
private BigDecimal money;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@ApiModelProperty(value = "到期时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "企业ID")
private Integer companyId;
@ApiModelProperty(value = "上传附件")
private String images;
@ApiModelProperty(value = "用户昵称")
private String nickname;
@ApiModelProperty(value = "应用ID")
private Integer appId;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
private Integer status;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String companyName;
@ApiModelProperty(value = "应用名称")
@TableField(exist = false)
private String appName;
}
+62
View File
@@ -0,0 +1,62 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 项目域名
*
* @author 科技小王子
* @since 2024-04-15 13:01:34
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "AppUrl对象", description = "项目域名")
@TableName("oa_app_url")
public class AppUrl implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "app_url_id", type = IdType.AUTO)
private Integer appUrlId;
@ApiModelProperty(value = "应用ID")
private Integer appId;
@ApiModelProperty(value = "域名类型")
private String name;
@ApiModelProperty(value = "域名")
private String domain;
@ApiModelProperty(value = "账号")
private String account;
@ApiModelProperty(value = "密码")
private String password;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
private Integer status;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
}
+70
View File
@@ -0,0 +1,70 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
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 2023-10-26 22:06:23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "AppUser对象", description = "应用成员")
@TableName("oa_app_user")
public class AppUser implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "app_user_id", type = IdType.AUTO)
private Integer appUserId;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
private Integer role;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "应用ID")
private Integer appId;
@ApiModelProperty(value = "状态, 0正常, 1待评价")
private Integer status;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "昵称")
@TableField(exist = false)
private String nickname;
@ApiModelProperty(value = "用户名")
@TableField(exist = false)
private String username;
@ApiModelProperty(value = "手机号码")
@TableField(exist = false)
private String phone;
@ApiModelProperty(value = "邮箱")
@TableField(exist = false)
private String email;
@ApiModelProperty(value = "头像")
@TableField(exist = false)
private String avatar;
}
+173
View File
@@ -0,0 +1,173 @@
package com.gxwebsoft.oa.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 服务器资产记录表
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Assets对象", description = "服务器资产记录表")
@TableName("oa_assets")
public class Assets implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "资产ID")
@TableId(value = "assets_id", type = IdType.AUTO)
private Integer assetsId;
@ApiModelProperty(value = "资产名称")
private String name;
@ApiModelProperty(value = "资产标识")
private String code;
@ApiModelProperty(value = "资产类型")
private String type;
@ApiModelProperty(value = "服务器厂商")
private String brand;
@ApiModelProperty(value = "服务器配置")
private String configuration;
@ApiModelProperty(value = "初始账号")
private String account;
@ApiModelProperty(value = "初始密码")
private String password;
@ApiModelProperty(value = "(阿里云/腾讯云)登录账号")
private String brandAccount;
@ApiModelProperty(value = "(阿里云/腾讯云)登录密码")
private String brandPassword;
@ApiModelProperty(value = "宝塔面板")
private String panel;
@ApiModelProperty(value = "宝塔面板账号")
private String panelAccount;
@ApiModelProperty(value = "宝塔面板密码")
private String panelPassword;
@ApiModelProperty(value = "财务信息-合同金额")
private BigDecimal financeAmount;
@ApiModelProperty(value = "购买年限")
private Integer financeYears;
@ApiModelProperty(value = "续费金额")
private BigDecimal financeRenew;
@ApiModelProperty(value = "客户名称")
private String financeCustomerName;
@ApiModelProperty(value = "客户联系人")
private String financeCustomerContact;
@ApiModelProperty(value = "客户联系电话")
private String financeCustomerPhone;
@ApiModelProperty(value = "客户ID")
private Integer customerId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "开放端口")
private String openPort;
@ApiModelProperty(value = "详情内容")
private String content;
@ApiModelProperty(value = "购买时间")
private Date startTime;
@ApiModelProperty(value = "到期时间")
private Date endTime;
@ApiModelProperty(value = "置顶状态")
private String isTop;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "宝塔接口秘钥")
private String btSign;
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "描述")
private String comments;
@ApiModelProperty(value = "客户ID")
private Integer companyId;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private String status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
@ApiModelProperty(value = "昵称")
@TableField(exist = false)
private String nickname;
@ApiModelProperty(value = "开发者头像")
@TableField(exist = false)
private String avatar;
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String companyName;
@ApiModelProperty(value = "系统基础统计")
@TableField(exist = false)
private Object systemTotal;
@ApiModelProperty(value = "磁盘分区信息")
@TableField(exist = false)
private Object diskInfo;
@ApiModelProperty(value = "实时状态信息(CPU、内存、网络、负载)")
@TableField(exist = false)
private Object netWork;
@ApiModelProperty(value = "网站列表")
@TableField(exist = false)
private Object sites;
}
+52
View File
@@ -0,0 +1,52 @@
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 2023-10-26 21:08:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "AssetsUser对象", description = "服务器成员管理")
@TableName("oa_assets_user")
public class AssetsUser implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
private Integer role;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "应用ID")
private Integer assetsId;
@ApiModelProperty(value = "状态, 0正常, 1待评价")
private Integer status;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "昵称")
private String nickname;
}
+181
View File
@@ -0,0 +1,181 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.*;
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-10-23 19:18:58
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Company对象", description = "企业信息")
@TableName("oa_company")
public class Company implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "企业id")
@TableId(value = "company_id", type = IdType.AUTO)
private Integer companyId;
@ApiModelProperty(value = "企业简称")
private String shortName;
@ApiModelProperty(value = "企业全称")
private String companyName;
@ApiModelProperty(value = "企业标识")
private String companyCode;
@ApiModelProperty(value = "类型 10企业 20政府单位")
private String companyType;
@ApiModelProperty(value = "企业类型多选")
private String companyTypeMultiple;
@ApiModelProperty(value = "应用标识")
private String companyLogo;
@ApiModelProperty(value = "应用类型")
private String appType;
@ApiModelProperty(value = "绑定域名")
private String domain;
@ApiModelProperty(value = "联系电话")
private String phone;
@ApiModelProperty(value = "邮箱")
private String email;
@ApiModelProperty(value = "座机电话")
private String tel;
@ApiModelProperty(value = "发票抬头")
@TableField("Invoice_header")
private String invoiceHeader;
@ApiModelProperty(value = "企业法人")
private String businessEntity;
@ApiModelProperty(value = "服务开始时间")
private Date startTime;
@ApiModelProperty(value = "服务到期时间")
private Date expirationTime;
@ApiModelProperty(value = "应用版本 10体验版 20授权版 30旗舰版")
private Integer version;
@ApiModelProperty(value = "成员数量(人数上限)")
private Integer members;
@ApiModelProperty(value = "成员数量(当前)")
private Integer users;
@ApiModelProperty(value = "行业类型(父级)")
private String industryParent;
@ApiModelProperty(value = "行业类型(子级)")
private String industryChild;
@ApiModelProperty(value = "部门数量")
private Integer departments;
@ApiModelProperty(value = "存储空间")
private Long storage;
@ApiModelProperty(value = "存储空间(上限)")
private Long storageMax;
@ApiModelProperty(value = "所在国家")
private String country;
@ApiModelProperty(value = "所在省份")
private String province;
@ApiModelProperty(value = "所在城市")
private String city;
@ApiModelProperty(value = "所在辖区")
private String region;
@ApiModelProperty(value = "街道地址")
private String address;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "是否实名认证")
private Integer authentication;
@ApiModelProperty(value = "企业默认主体")
private Integer authoritative;
@ApiModelProperty(value = "request合法域名")
private String requestUrl;
@ApiModelProperty(value = "socket合法域名")
private String socketUrl;
@ApiModelProperty(value = "主控端域名")
private String serverUrl;
@ApiModelProperty(value = "业务域名")
private String modulesUrl;
@ApiModelProperty(value = "是否推荐")
private Integer recommend;
@ApiModelProperty(value = "点赞数量")
private Integer likes;
@ApiModelProperty(value = "点击数量")
private Integer clicks;
@ApiModelProperty(value = "购买数量")
private Integer buys;
@ApiModelProperty(value = "是否含税, 0不含, 1含")
private Integer isTax;
@ApiModelProperty(value = "当前克隆的租户ID")
private Integer planId;
@ApiModelProperty(value = "状态")
private Integer status;
@ApiModelProperty(value = "排序号")
private Integer sortNumber;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
}
+55
View File
@@ -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-02-04 14:44:42
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "CompanyField对象", description = "企业参数")
@TableName("oa_company_field")
public class CompanyField 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 companyId;
@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;
}
+69
View File
@@ -0,0 +1,69 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
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-02-04 14:44:42
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "CompanyUser对象", description = "成员管理")
@TableName("oa_company_user")
public class CompanyUser implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "company_user_id", type = IdType.AUTO)
private Integer companyUserId;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
private Integer role;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "企业ID")
private Integer companyId;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
private Integer status;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
@ApiModelProperty(value = "昵称")
private String nickname;
@ApiModelProperty(value = "用户名")
@TableField(exist = false)
private String username;
@ApiModelProperty(value = "手机号码")
@TableField(exist = false)
private String phone;
@ApiModelProperty(value = "邮箱")
@TableField(exist = false)
private String email;
@ApiModelProperty(value = "头像")
@TableField(exist = false)
private String avatar;
}
+72
View File
@@ -0,0 +1,72 @@
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 2024-01-14 11:50:39
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Link对象", description = "常用链接")
@TableName("oa_link")
public class Link implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "链接名称")
private String name;
@ApiModelProperty(value = "图标")
private String icon;
@ApiModelProperty(value = "链接地址")
private String url;
@ApiModelProperty(value = "链接类型")
private String linkType;
@ApiModelProperty(value = "应用ID")
private Integer appId;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "是否推荐")
private Integer recommend;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
private Integer status;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "注册时间")
private Date createTime;
}
+100
View File
@@ -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;
}
+81
View File
@@ -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;
}
+156
View File
@@ -0,0 +1,156 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.*;
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-10-23 18:53:01
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Task对象", description = "任务记录表")
@TableName("oa_task")
public class Task implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "工单ID")
@TableId(value = "task_id", type = IdType.AUTO)
private Integer taskId;
@ApiModelProperty(value = "工单名称")
private String name;
@ApiModelProperty(value = "工单类型")
private String taskType;
@ApiModelProperty(value = "任务内容")
private String content;
@ApiModelProperty(value = "工单附件")
private String files;
@ApiModelProperty(value = "工单发起人")
private Integer promoter;
@ApiModelProperty(value = "受理人")
private Integer commander;
@ApiModelProperty(value = "工单状态, 0未开始 1已指派 ")
private Integer progress;
@ApiModelProperty(value = "逾期天数")
private Integer overdueDays;
@ApiModelProperty(value = "优先级")
private String priority;
@ApiModelProperty(value = "品质要求")
private String quality;
@ApiModelProperty(value = "时限(天)")
private Integer day;
@ApiModelProperty(value = "手机号")
private String phone;
@ApiModelProperty(value = "开始时间")
private Date startTime;
@ApiModelProperty(value = "结束时间")
private Date endTime;
@ApiModelProperty(value = "项目ID")
private Integer appId;
@ApiModelProperty(value = "机构id")
private Integer organizationId;
@ApiModelProperty(value = "项目ID")
private Integer projectId;
@ApiModelProperty(value = "客户ID")
private Integer customerId;
@ApiModelProperty(value = "资产ID")
private Integer assetsId;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "用户昵称")
private String nickname;
@ApiModelProperty(value = "用户头像")
private String avatar;
@ApiModelProperty(value = "是否已查阅")
private Integer isRead;
@ApiModelProperty(value = "最后回复人")
private Integer lastReadUser;
@ApiModelProperty(value = "最后回复人的头像")
private String lastAvatar;
@ApiModelProperty(value = "最后回复人昵称")
private String lastNickname;
@ApiModelProperty(value = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
private Integer status;
@ApiModelProperty(value = "结算状态")
private Integer isSettled;
@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 = "项目信息")
@TableField(exist = false)
private String appName;
@ApiModelProperty(value = "角色ID")
@TableField(exist = false)
private Integer roleId;
@ApiModelProperty(value = "角色标识")
@TableField(exist = false)
private String roleCode;
@ApiModelProperty(value = "操作类型")
@TableField(exist = false)
private String action;
@ApiModelProperty(value = "当前登录用户ID")
@TableField(exist = false)
private Integer loginUserId;
@ApiModelProperty(value = "机密信息")
@TableField(exist = false)
private String confidential;
}
+87
View File
@@ -0,0 +1,87 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 数据统计
*
* @author 科技小王子
* @since 2023-10-30 14:25:30
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "TaskCount对象", description = "数据统计")
@TableName("oa_task_count")
public class TaskCount implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "task_count_id", type = IdType.AUTO)
private Integer taskCountId;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "待处理数")
private Integer pending;
@ApiModelProperty(value = "闲置可抢的工单")
private Integer unused;
@ApiModelProperty(value = "已完成数")
private Integer completed;
@ApiModelProperty(value = "今天处理数")
private Integer today;
@ApiModelProperty(value = "本月处理数")
private Integer month;
@ApiModelProperty(value = "今年处理数")
private Integer year;
@ApiModelProperty(value = "总工单数")
private Integer total;
@ApiModelProperty(value = "部门ID")
private Integer organizationId;
@ApiModelProperty(value = "角色ID")
private Integer roleId;
@ApiModelProperty(value = "角色标识")
private String roleCode;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "昵称")
@TableField(exist = false)
private String nickname;
@ApiModelProperty(value = "头像")
@TableField(exist = false)
private String avatar;
@ApiModelProperty(value = "手机号码")
@TableField(exist = false)
private String phone;
}
+86
View File
@@ -0,0 +1,86 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.gxwebsoft.common.core.utils.CommonUtil;
import com.gxwebsoft.common.system.entity.User;
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-10-23 18:53:01
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "TaskRecord对象", description = "工单回复记录表")
@TableName("oa_task_record")
public class TaskRecord implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "回复ID")
@TableId(value = "task_record_id", type = IdType.AUTO)
private Integer taskRecordId;
@ApiModelProperty(value = "上级id, 0是顶级")
private Integer parentId;
@ApiModelProperty(value = "工单ID")
private Integer taskId;
@ApiModelProperty(value = "任务内容")
private String content;
@ApiModelProperty(value = "机密信息")
private String confidential;
@ApiModelProperty(value = "工单附件")
private String files;
@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 = "发布者")
@TableField(exist = false)
private String nickname;
@ApiModelProperty(value = "发布者头像")
@TableField(exist = false)
private String avatar;
@ApiModelProperty(value = "所在城市")
@TableField(exist = false)
private String city;
@ApiModelProperty(value = "回复者")
@TableField(exist = false)
private User user;
}
+50
View File
@@ -0,0 +1,50 @@
package com.gxwebsoft.oa.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 工单成员
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "TaskUser对象", description = "工单成员")
@TableName("oa_task_user")
public class TaskUser implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@TableId(value = "task_user_id", type = IdType.AUTO)
private Integer taskUserId;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
private Integer role;
@ApiModelProperty(value = "用户ID")
private Integer userId;
@ApiModelProperty(value = "工单ID")
private Integer taskId;
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
private Integer status;
@ApiModelProperty(value = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "加入时间")
private Date createTime;
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.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);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.App;
import com.gxwebsoft.oa.param.AppParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 应用管理记录表Mapper
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
public interface AppMapper extends BaseMapper<App> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<App>
*/
List<App> selectPageRel(@Param("page") IPage<App> page,
@Param("param") AppParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<App> selectListRel(@Param("param") AppParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.AppRenew;
import com.gxwebsoft.oa.param.AppRenewParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 续费管理Mapper
*
* @author 科技小王子
* @since 2023-11-14 14:27:57
*/
public interface AppRenewMapper extends BaseMapper<AppRenew> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<AppRenew>
*/
List<AppRenew> selectPageRel(@Param("page") IPage<AppRenew> page,
@Param("param") AppRenewParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<AppRenew> selectListRel(@Param("param") AppRenewParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.AppUrl;
import com.gxwebsoft.oa.param.AppUrlParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 项目域名Mapper
*
* @author 科技小王子
* @since 2024-04-15 13:01:34
*/
public interface AppUrlMapper extends BaseMapper<AppUrl> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<AppUrl>
*/
List<AppUrl> selectPageRel(@Param("page") IPage<AppUrl> page,
@Param("param") AppUrlParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<AppUrl> selectListRel(@Param("param") AppUrlParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.AppUser;
import com.gxwebsoft.oa.param.AppUserParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 应用成员Mapper
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
public interface AppUserMapper extends BaseMapper<AppUser> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<AppUser>
*/
List<AppUser> selectPageRel(@Param("page") IPage<AppUser> page,
@Param("param") AppUserParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<AppUser> selectListRel(@Param("param") AppUserParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.param.AssetsParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 服务器资产记录表Mapper
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
public interface AssetsMapper extends BaseMapper<Assets> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Assets>
*/
List<Assets> selectPageRel(@Param("page") IPage<Assets> page,
@Param("param") AssetsParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Assets> selectListRel(@Param("param") AssetsParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.AssetsUser;
import com.gxwebsoft.oa.param.AssetsUserParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 服务器成员管理Mapper
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
public interface AssetsUserMapper extends BaseMapper<AssetsUser> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<AssetsUser>
*/
List<AssetsUser> selectPageRel(@Param("page") IPage<AssetsUser> page,
@Param("param") AssetsUserParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<AssetsUser> selectListRel(@Param("param") AssetsUserParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.CompanyField;
import com.gxwebsoft.oa.param.CompanyFieldParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 企业参数Mapper
*
* @author 科技小王子
* @since 2024-02-04 14:44:42
*/
public interface CompanyFieldMapper extends BaseMapper<CompanyField> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<CompanyField>
*/
List<CompanyField> selectPageRel(@Param("page") IPage<CompanyField> page,
@Param("param") CompanyFieldParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<CompanyField> selectListRel(@Param("param") CompanyFieldParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Company;
import com.gxwebsoft.oa.param.CompanyParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 企业信息Mapper
*
* @author 科技小王子
* @since 2023-10-23 19:18:58
*/
public interface CompanyMapper extends BaseMapper<Company> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Company>
*/
List<Company> selectPageRel(@Param("page") IPage<Company> page,
@Param("param") CompanyParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Company> selectListRel(@Param("param") CompanyParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.CompanyUser;
import com.gxwebsoft.oa.param.CompanyUserParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 成员管理Mapper
*
* @author 科技小王子
* @since 2024-02-04 14:44:42
*/
public interface CompanyUserMapper extends BaseMapper<CompanyUser> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<CompanyUser>
*/
List<CompanyUser> selectPageRel(@Param("page") IPage<CompanyUser> page,
@Param("param") CompanyUserParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<CompanyUser> selectListRel(@Param("param") CompanyUserParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.Link;
import com.gxwebsoft.oa.param.LinkParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 常用链接Mapper
*
* @author 科技小王子
* @since 2024-01-14 11:50:39
*/
public interface LinkMapper extends BaseMapper<Link> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Link>
*/
List<Link> selectPageRel(@Param("page") IPage<Link> page,
@Param("param") LinkParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Link> selectListRel(@Param("param") LinkParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.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);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.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);
}
+39
View File
@@ -0,0 +1,39 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.TaskCount;
import com.gxwebsoft.oa.param.TaskCountParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 数据统计Mapper
*
* @author 科技小王子
* @since 2023-10-30 14:25:30
*/
public interface TaskCountMapper extends BaseMapper<TaskCount> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<TaskCount>
*/
List<TaskCount> selectPageRel(@Param("page") IPage<TaskCount> page,
@Param("param") TaskCountParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<TaskCount> selectListRel(@Param("param") TaskCountParam param);
}
+44
View File
@@ -0,0 +1,44 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.common.core.web.PageParam;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.param.TaskParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 任务记录表Mapper
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
public interface TaskMapper extends BaseMapper<Task> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<Task>
*/
List<Task> selectPageRel(@Param("page") IPage<Task> page,
@Param("param") TaskParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<Task> selectListRel(@Param("param") TaskParam param);
@InterceptorIgnore(tenantLine = "true")
List<Task> selectPageRelAll(PageParam<Task, TaskParam> page, TaskParam param);
@InterceptorIgnore(tenantLine = "true")
void updateByTaskId(@Param("param") Task task);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.TaskRecord;
import com.gxwebsoft.oa.param.TaskRecordParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 工单回复记录表Mapper
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
public interface TaskRecordMapper extends BaseMapper<TaskRecord> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<TaskRecord>
*/
List<TaskRecord> selectPageRel(@Param("page") IPage<TaskRecord> page,
@Param("param") TaskRecordParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<TaskRecord> selectListRel(@Param("param") TaskRecordParam param);
}
+37
View File
@@ -0,0 +1,37 @@
package com.gxwebsoft.oa.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gxwebsoft.oa.entity.TaskUser;
import com.gxwebsoft.oa.param.TaskUserParam;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 工单成员Mapper
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
public interface TaskUserMapper extends BaseMapper<TaskUser> {
/**
* 分页查询
*
* @param page 分页对象
* @param param 查询参数
* @return List<TaskUser>
*/
List<TaskUser> selectPageRel(@Param("page") IPage<TaskUser> page,
@Param("param") TaskUserParam param);
/**
* 查询全部
*
* @param param 查询参数
* @return List<User>
*/
List<TaskUser> selectListRel(@Param("param") TaskUserParam param);
}
+50
View File
@@ -0,0 +1,50 @@
<?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.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</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.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.AppField">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.AppField">
<include refid="selectSql"></include>
</select>
</mapper>
+229
View File
@@ -0,0 +1,229 @@
<?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.AppMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*, b.company_name,b.short_name,b.company_logo
FROM oa_app a
LEFT JOIN oa_company b ON a.company_id = b.company_id
<where>
<if test="param.appId != null">
AND a.app_id = #{param.appId}
</if>
<if test="param.appName != null">
AND a.app_name LIKE CONCAT('%', #{param.appName}, '%')
</if>
<if test="param.appCode != null">
AND a.app_code LIKE CONCAT('%', #{param.appCode}, '%')
</if>
<if test="param.showCase != null">
AND a.show_case = #{param.showCase}
</if>
<if test="param.recommend != null">
AND a.recommend = #{param.recommend}
</if>
<if test="param.showIndex != null">
AND a.show_index = #{param.showIndex}
</if>
<if test="param.parentId != null">
AND a.parent_id = #{param.parentId}
</if>
<if test="param.appType != null">
AND a.app_type LIKE CONCAT('%', #{param.appType}, '%')
</if>
<if test="param.appTypeMultiple != null">
AND a.app_type_multiple LIKE CONCAT('%', #{param.appTypeMultiple}, '%')
</if>
<if test="param.menuType != null">
AND a.menu_type = #{param.menuType}
</if>
<if test="param.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.companyName != null">
AND a.company_name LIKE CONCAT('%', #{param.companyName}, '%')
</if>
<if test="param.appIcon != null">
AND a.app_icon LIKE CONCAT('%', #{param.appIcon}, '%')
</if>
<if test="param.appQrcode != null">
AND a.app_qrcode LIKE CONCAT('%', #{param.appQrcode}, '%')
</if>
<if test="param.appUrl != null">
AND a.app_url LIKE CONCAT('%', #{param.appUrl}, '%')
</if>
<if test="param.adminUrl != null">
AND a.admin_url LIKE CONCAT('%', #{param.adminUrl}, '%')
</if>
<if test="param.downUrl != null">
AND a.down_url LIKE CONCAT('%', #{param.downUrl}, '%')
</if>
<if test="param.serverUrl != null">
AND a.server_url LIKE CONCAT('%', #{param.serverUrl}, '%')
</if>
<if test="param.fileUrl != null">
AND a.file_url LIKE CONCAT('%', #{param.fileUrl}, '%')
</if>
<if test="param.callbackUrl != null">
AND a.callback_url LIKE CONCAT('%', #{param.callbackUrl}, '%')
</if>
<if test="param.docsUrl != null">
AND a.docs_url LIKE CONCAT('%', #{param.docsUrl}, '%')
</if>
<if test="param.gitUrl != null">
AND a.git_url LIKE CONCAT('%', #{param.gitUrl}, '%')
</if>
<if test="param.prototypeUrl != null">
AND a.prototype_url LIKE CONCAT('%', #{param.prototypeUrl}, '%')
</if>
<if test="param.ipAddress != null">
AND a.ip_address LIKE CONCAT('%', #{param.ipAddress}, '%')
</if>
<if test="param.images != null">
AND a.images LIKE CONCAT('%', #{param.images}, '%')
</if>
<if test="param.packageName != null">
AND a.package_name LIKE CONCAT('%', #{param.packageName}, '%')
</if>
<if test="param.clicks != null">
AND a.clicks = #{param.clicks}
</if>
<if test="param.installs != null">
AND a.installs = #{param.installs}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.requirement != null">
AND a.requirement LIKE CONCAT('%', #{param.requirement}, '%')
</if>
<if test="param.developer != null">
AND a.developer LIKE CONCAT('%', #{param.developer}, '%')
</if>
<if test="param.director != null">
AND a.director LIKE CONCAT('%', #{param.director}, '%')
</if>
<if test="param.projectDirector != null">
AND a.project_director LIKE CONCAT('%', #{param.projectDirector}, '%')
</if>
<if test="param.salesman != null">
AND a.salesman LIKE CONCAT('%', #{param.salesman}, '%')
</if>
<if test="param.price != null">
AND a.price = #{param.price}
</if>
<if test="param.linePrice != null">
AND a.line_price = #{param.linePrice}
</if>
<if test="param.score != null">
AND a.score LIKE CONCAT('%', #{param.score}, '%')
</if>
<if test="param.star != null">
AND a.star LIKE CONCAT('%', #{param.star}, '%')
</if>
<if test="param.path != null">
AND a.path LIKE CONCAT('%', #{param.path}, '%')
</if>
<if test="param.component != null">
AND a.component LIKE CONCAT('%', #{param.component}, '%')
</if>
<if test="param.authority != null">
AND a.authority LIKE CONCAT('%', #{param.authority}, '%')
</if>
<if test="param.target != null">
AND a.target LIKE CONCAT('%', #{param.target}, '%')
</if>
<if test="param.hide != null">
AND a.hide = #{param.hide}
</if>
<if test="param.search != null">
AND a.search = #{param.search}
</if>
<if test="param.active != null">
AND a.active LIKE CONCAT('%', #{param.active}, '%')
</if>
<if test="param.meta != null">
AND a.meta LIKE CONCAT('%', #{param.meta}, '%')
</if>
<if test="param.edition != null">
AND a.edition LIKE CONCAT('%', #{param.edition}, '%')
</if>
<if test="param.version != null">
AND a.version LIKE CONCAT('%', #{param.version}, '%')
</if>
<if test="param.isUse != null">
AND a.is_use = #{param.isUse}
</if>
<if test="param.file1 != null">
AND a.file1 LIKE CONCAT('%', #{param.file1}, '%')
</if>
<if test="param.file2 != null">
AND a.file2 LIKE CONCAT('%', #{param.file2}, '%')
</if>
<if test="param.file3 != null">
AND a.file3 LIKE CONCAT('%', #{param.file3}, '%')
</if>
<if test="param.appStatus != null">
AND a.app_status LIKE CONCAT('%', #{param.appStatus}, '%')
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.appIds != null">
AND a.app_id IN
<foreach collection="param.appIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.showExpiration != null">
AND a.show_expiration = #{param.showExpiration}
</if>
<if test="param.tenantCode != null">
AND a.tenant_code LIKE CONCAT('%', #{param.tenantCode}, '%')
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (a.app_name LIKE CONCAT('%', #{param.keywords}, '%')
OR a.app_code LIKE CONCAT('%', #{param.keywords}, '%')
OR a.company_name LIKE CONCAT('%', #{param.keywords}, '%')
OR a.app_url LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.App">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.App">
<include refid="selectSql"></include>
</select>
</mapper>
+61
View File
@@ -0,0 +1,61 @@
<?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.AppRenewMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*,
b.company_name,b.short_name,b.company_logo,
c.app_name
FROM oa_app_renew a
LEFT JOIN oa_company b ON a.company_id = b.company_id
LEFT JOIN oa_app c ON a.app_id = c.app_id
<where>
<if test="param.appRenewId != null">
AND a.app_renew_id = #{param.appRenewId}
</if>
<if test="param.money != null">
AND a.money = #{param.money}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.startTime != null">
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
</if>
<if test="param.endTime != null">
AND a.end_time LIKE CONCAT('%', #{param.endTime}, '%')
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.appId != null">
AND a.app_id = #{param.appId}
</if>
<if test="param.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.AppRenew">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.AppRenew">
<include refid="selectSql"></include>
</select>
</mapper>
+54
View File
@@ -0,0 +1,54 @@
<?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.AppUrlMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_app_url a
<where>
<if test="param.appUrlId != null">
AND a.app_url_id = #{param.appUrlId}
</if>
<if test="param.appId != null">
AND a.app_id = #{param.appId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.domain != null">
AND a.domain LIKE CONCAT('%', #{param.domain}, '%')
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.AppUrl">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.AppUrl">
<include refid="selectSql"></include>
</select>
</mapper>
+51
View File
@@ -0,0 +1,51 @@
<?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.AppUserMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_app_user a
<where>
<if test="param.appUserId != null">
AND a.app_user_id = #{param.appUserId}
</if>
<if test="param.role != null">
AND a.role = #{param.role}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.appId != null">
AND a.app_id = #{param.appId}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (b.nickname LIKE CONCAT('%', #{param.keywords}, '%')
OR b.email LIKE CONCAT('%', #{param.keywords}, '%')
OR b.username LIKE CONCAT('%', #{param.keywords}, '%')
OR b.phone LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.AppUser">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.AppUser">
<include refid="selectSql"></include>
</select>
</mapper>
+149
View File
@@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxwebsoft.oa.mapper.AssetsMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*,b.short_name,b.company_name
FROM oa_assets a
LEFT JOIN oa_company b ON a.company_id = b.company_id
<where>
<if test="param.assetsId != null">
AND a.assets_id = #{param.assetsId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.code != null">
AND a.code LIKE CONCAT('%', #{param.code}, '%')
</if>
<if test="param.type != null">
AND a.type LIKE CONCAT('%', #{param.type}, '%')
</if>
<if test="param.brand != null">
AND a.brand LIKE CONCAT('%', #{param.brand}, '%')
</if>
<if test="param.configuration != null">
AND a.configuration LIKE CONCAT('%', #{param.configuration}, '%')
</if>
<if test="param.account != null">
AND a.account LIKE CONCAT('%', #{param.account}, '%')
</if>
<if test="param.password != null">
AND a.password LIKE CONCAT('%', #{param.password}, '%')
</if>
<if test="param.brandAccount != null">
AND a.brand_account LIKE CONCAT('%', #{param.brandAccount}, '%')
</if>
<if test="param.brandPassword != null">
AND a.brand_password LIKE CONCAT('%', #{param.brandPassword}, '%')
</if>
<if test="param.panel != null">
AND a.panel LIKE CONCAT('%', #{param.panel}, '%')
</if>
<if test="param.panelAccount != null">
AND a.panel_account LIKE CONCAT('%', #{param.panelAccount}, '%')
</if>
<if test="param.panelPassword != null">
AND a.panel_password LIKE CONCAT('%', #{param.panelPassword}, '%')
</if>
<if test="param.financeAmount != null">
AND a.finance_amount = #{param.financeAmount}
</if>
<if test="param.financeYears != null">
AND a.finance_years = #{param.financeYears}
</if>
<if test="param.financeRenew != null">
AND a.finance_renew = #{param.financeRenew}
</if>
<if test="param.financeCustomerName != null">
AND a.finance_customer_name LIKE CONCAT('%', #{param.financeCustomerName}, '%')
</if>
<if test="param.financeCustomerContact != null">
AND a.finance_customer_contact LIKE CONCAT('%', #{param.financeCustomerContact}, '%')
</if>
<if test="param.financeCustomerPhone != null">
AND a.finance_customer_phone LIKE CONCAT('%', #{param.financeCustomerPhone}, '%')
</if>
<if test="param.customerId != null">
AND a.customer_id = #{param.customerId}
</if>
<if test="param.customerName != null">
AND a.customer_name LIKE CONCAT('%', #{param.customerName}, '%')
</if>
<if test="param.openPort != null">
AND a.open_port LIKE CONCAT('%', #{param.openPort}, '%')
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.startTime != null">
AND a.end_time &gt;= #{param.startTime}
</if>
<if test="param.endTime != null">
AND a.end_time &lt;= #{param.endTime}
</if>
<if test="param.isTop != null">
AND a.is_top LIKE CONCAT('%', #{param.isTop}, '%')
</if>
<if test="param.visibility != null">
AND a.visibility LIKE CONCAT('%', #{param.visibility}, '%')
</if>
<if test="param.btSign != null">
AND a.bt_sign LIKE CONCAT('%', #{param.btSign}, '%')
</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.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.status != null">
AND a.status LIKE CONCAT('%', #{param.status}, '%')
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.assetsIds != null">
AND a.assets_id IN
<foreach collection="param.assetsIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="param.keywords != null">
AND (a.code LIKE CONCAT('%', #{param.keywords}, '%')
OR a.name LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Assets">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Assets">
<include refid="selectSql"></include>
</select>
</mapper>
@@ -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.AssetsUserMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_assets_user a
<where>
<if test="param.id != null">
AND a.id = #{param.id}
</if>
<if test="param.role != null">
AND a.role = #{param.role}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.assetsId != null">
AND a.assets_id = #{param.assetsId}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.AssetsUser">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.AssetsUser">
<include refid="selectSql"></include>
</select>
</mapper>
@@ -0,0 +1,50 @@
<?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.CompanyFieldMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_company_field a
<where>
<if test="param.id != null">
AND a.id = #{param.id}
</if>
<if test="param.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</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.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.CompanyField">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.CompanyField">
<include refid="selectSql"></include>
</select>
</mapper>
+179
View File
@@ -0,0 +1,179 @@
<?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.CompanyMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_company a
<where>
<if test="param.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.shortName != null">
AND a.short_name LIKE CONCAT('%', #{param.shortName}, '%')
</if>
<if test="param.companyName != null">
AND a.company_name LIKE CONCAT('%', #{param.companyName}, '%')
</if>
<if test="param.companyCode != null">
AND a.company_code LIKE CONCAT('%', #{param.companyCode}, '%')
</if>
<if test="param.companyType != null">
AND a.company_type LIKE CONCAT('%', #{param.companyType}, '%')
</if>
<if test="param.companyTypeMultiple != null">
AND a.company_type_multiple LIKE CONCAT('%', #{param.companyTypeMultiple}, '%')
</if>
<if test="param.companyLogo != null">
AND a.company_logo LIKE CONCAT('%', #{param.companyLogo}, '%')
</if>
<if test="param.appType != null">
AND a.app_type LIKE CONCAT('%', #{param.appType}, '%')
</if>
<if test="param.domain != null">
AND a.domain LIKE CONCAT('%', #{param.domain}, '%')
</if>
<if test="param.phone != null">
AND a.phone LIKE CONCAT('%', #{param.phone}, '%')
</if>
<if test="param.email != null">
AND a.email LIKE CONCAT('%', #{param.email}, '%')
</if>
<if test="param.invoiceHeader != null">
AND a.Invoice_header LIKE CONCAT('%', #{param.invoiceHeader}, '%')
</if>
<if test="param.businessEntity != null">
AND a.business_entity LIKE CONCAT('%', #{param.businessEntity}, '%')
</if>
<if test="param.startTime != null">
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
</if>
<if test="param.expirationTime != null">
AND a.expiration_time LIKE CONCAT('%', #{param.expirationTime}, '%')
</if>
<if test="param.version != null">
AND a.version = #{param.version}
</if>
<if test="param.members != null">
AND a.members = #{param.members}
</if>
<if test="param.users != null">
AND a.users = #{param.users}
</if>
<if test="param.industryParent != null">
AND a.industry_parent LIKE CONCAT('%', #{param.industryParent}, '%')
</if>
<if test="param.industryChild != null">
AND a.industry_child LIKE CONCAT('%', #{param.industryChild}, '%')
</if>
<if test="param.departments != null">
AND a.departments = #{param.departments}
</if>
<if test="param.storage != null">
AND a.storage LIKE CONCAT('%', #{param.storage}, '%')
</if>
<if test="param.storageMax != null">
AND a.storage_max LIKE CONCAT('%', #{param.storageMax}, '%')
</if>
<if test="param.country != null">
AND a.country LIKE CONCAT('%', #{param.country}, '%')
</if>
<if test="param.province != null">
AND a.province LIKE CONCAT('%', #{param.province}, '%')
</if>
<if test="param.city != null">
AND a.city LIKE CONCAT('%', #{param.city}, '%')
</if>
<if test="param.region != null">
AND a.region LIKE CONCAT('%', #{param.region}, '%')
</if>
<if test="param.address != null">
AND a.address LIKE CONCAT('%', #{param.address}, '%')
</if>
<if test="param.longitude != null">
AND a.longitude LIKE CONCAT('%', #{param.longitude}, '%')
</if>
<if test="param.latitude != null">
AND a.latitude LIKE CONCAT('%', #{param.latitude}, '%')
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.authentication != null">
AND a.authentication = #{param.authentication}
</if>
<if test="param.authoritative != null">
AND a.authoritative = #{param.authoritative}
</if>
<if test="param.requestUrl != null">
AND a.request_url LIKE CONCAT('%', #{param.requestUrl}, '%')
</if>
<if test="param.socketUrl != null">
AND a.socket_url LIKE CONCAT('%', #{param.socketUrl}, '%')
</if>
<if test="param.serverUrl != null">
AND a.server_url LIKE CONCAT('%', #{param.serverUrl}, '%')
</if>
<if test="param.modulesUrl != null">
AND a.modules_url LIKE CONCAT('%', #{param.modulesUrl}, '%')
</if>
<if test="param.recommend != null">
AND a.recommend = #{param.recommend}
</if>
<if test="param.likes != null">
AND a.likes = #{param.likes}
</if>
<if test="param.clicks != null">
AND a.clicks = #{param.clicks}
</if>
<if test="param.buys != null">
AND a.buys = #{param.buys}
</if>
<if test="param.isTax != null">
AND a.is_tax = #{param.isTax}
</if>
<if test="param.planId != null">
AND a.plan_id = #{param.planId}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (
a.short_name LIKE CONCAT('%', #{param.keywords}, '%')
OR a.company_name = #{param.keywords}
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Company">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Company">
<include refid="selectSql"></include>
</select>
</mapper>
@@ -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.CompanyUserMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_company_user a
<where>
<if test="param.companyUserId != null">
AND a.company_user_id = #{param.companyUserId}
</if>
<if test="param.role != null">
AND a.role = #{param.role}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.companyId != null">
AND a.company_id = #{param.companyId}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.CompanyUser">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.CompanyUser">
<include refid="selectSql"></include>
</select>
</mapper>
+65
View File
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxwebsoft.oa.mapper.LinkMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_link a
<where>
<if test="param.id != null">
AND a.id = #{param.id}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.icon != null">
AND a.icon LIKE CONCAT('%', #{param.icon}, '%')
</if>
<if test="param.url != null">
AND a.url LIKE CONCAT('%', #{param.url}, '%')
</if>
<if test="param.linkType != null">
AND a.link_type LIKE CONCAT('%', #{param.linkType}, '%')
</if>
<if test="param.appId != null">
AND a.app_id = #{param.appId}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.recommend != null">
AND a.recommend = #{param.recommend}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</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.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Link">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Link">
<include refid="selectSql"></include>
</select>
</mapper>
+75
View File
@@ -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 &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{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 &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.ProductTabs">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.ProductTabs">
<include refid="selectSql"></include>
</select>
</mapper>
+62
View File
@@ -0,0 +1,62 @@
<?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.TaskCountMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_task_count a
<where>
<if test="param.taskCountId != null">
AND a.task_count_id = #{param.taskCountId}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.roleCode != null">
AND a.role_code = #{param.roleCode}
</if>
<if test="param.pending != null">
AND a.pending = #{param.pending}
</if>
<if test="param.completed != null">
AND a.completed = #{param.completed}
</if>
<if test="param.today != null">
AND a.today = #{param.today}
</if>
<if test="param.month != null">
AND a.month = #{param.month}
</if>
<if test="param.year != null">
AND a.year = #{param.year}
</if>
<if test="param.total != null">
AND a.total = #{param.total}
</if>
<if test="param.roleId != null">
AND a.role_id = #{param.roleId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.TaskCount">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.TaskCount">
<include refid="selectSql"></include>
</select>
</mapper>
+131
View File
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gxwebsoft.oa.mapper.TaskMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*,b.app_name
FROM oa_task a
LEFT JOIN oa_app b ON a.app_id = b.app_id
<where>
<if test="param.taskId != null">
AND a.task_id = #{param.taskId}
</if>
<if test="param.name != null">
AND a.name LIKE CONCAT('%', #{param.name}, '%')
</if>
<if test="param.taskType != null">
AND a.task_type LIKE CONCAT('%', #{param.taskType}, '%')
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.files != null">
AND a.files LIKE CONCAT('%', #{param.files}, '%')
</if>
<if test="param.promoter != null">
AND a.promoter = #{param.promoter}
</if>
<if test="param.commander != null">
AND (a.commander = #{param.commander} OR a.user_id = #{param.commander} OR a.promoter = #{param.commander})
</if>
<if test="param.progress != null">
AND a.progress = #{param.progress}
</if>
<if test="param.priority != null">
AND a.priority LIKE CONCAT('%', #{param.priority}, '%')
</if>
<if test="param.quality != null">
AND a.quality LIKE CONCAT('%', #{param.quality}, '%')
</if>
<if test="param.day != null">
AND a.day = #{param.day}
</if>
<if test="param.phone != null">
AND a.phone LIKE CONCAT('%', #{param.phone}, '%')
</if>
<if test="param.startTime != null">
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
</if>
<if test="param.endTime != null">
AND a.end_time LIKE CONCAT('%', #{param.endTime}, '%')
</if>
<if test="param.appId != null">
AND a.app_id = #{param.appId}
</if>
<if test="param.organizationId != null">
AND a.organization_id = #{param.organizationId}
</if>
<if test="param.companyId != null">
AND a.customer_id = #{param.companyId}
</if>
<if test="param.projectId != null">
AND a.project_id = #{param.projectId}
</if>
<if test="param.customerId != null">
AND a.customer_id = #{param.customerId}
</if>
<if test="param.assetsId != null">
AND a.assets_id = #{param.assetsId}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.isRead != null">
AND a.is_read = #{param.isRead}
</if>
<if test="param.lastReadUser != null">
AND a.last_read_user = #{param.lastReadUser}
</if>
<if test="param.sortNumber != null">
AND a.sort_number = #{param.sortNumber}
</if>
<if test="param.comments != null">
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.deleted != null">
AND a.deleted = #{param.deleted}
</if>
<if test="param.deleted == null">
AND a.deleted = 0
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
<if test="param.keywords != null">
AND (
a.task_id = #{param.keywords}
OR a.name LIKE CONCAT('%', #{param.name}, '%')
OR b.app_name LIKE CONCAT('%', #{param.keywords}, '%')
)
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.Task">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.Task">
<include refid="selectSql"></include>
</select>
<select id="selectPageRelAll" resultType="com.gxwebsoft.oa.entity.Task">
<include refid="selectSql"></include>
</select>
<!-- 更新工单状态信息 -->
<update id="updateByTaskId">
UPDATE oa_task SET progress = #{param.progress} WHERE task_id = #{param.taskId}
</update>
</mapper>
@@ -0,0 +1,62 @@
<?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.TaskRecordMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_task_record a
<where>
<if test="param.taskRecordId != null">
AND a.task_record_id = #{param.taskRecordId}
</if>
<if test="param.parentId != null">
AND a.parent_id = #{param.parentId}
</if>
<if test="param.taskId != null">
AND a.task_id = #{param.taskId}
</if>
<if test="param.content != null">
AND a.content LIKE CONCAT('%', #{param.content}, '%')
</if>
<if test="param.files != null">
AND a.files LIKE CONCAT('%', #{param.files}, '%')
</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 &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.TaskRecord">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.TaskRecord">
<include refid="selectSql"></include>
</select>
</mapper>
+44
View File
@@ -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.TaskUserMapper">
<!-- 关联查询sql -->
<sql id="selectSql">
SELECT a.*
FROM oa_task_user a
<where>
<if test="param.taskUserId != null">
AND a.task_user_id = #{param.taskUserId}
</if>
<if test="param.role != null">
AND a.role = #{param.role}
</if>
<if test="param.userId != null">
AND a.user_id = #{param.userId}
</if>
<if test="param.taskId != null">
AND a.task_id = #{param.taskId}
</if>
<if test="param.status != null">
AND a.status = #{param.status}
</if>
<if test="param.createTimeStart != null">
AND a.create_time &gt;= #{param.createTimeStart}
</if>
<if test="param.createTimeEnd != null">
AND a.create_time &lt;= #{param.createTimeEnd}
</if>
</where>
</sql>
<!-- 分页查询 -->
<select id="selectPageRel" resultType="com.gxwebsoft.oa.entity.TaskUser">
<include refid="selectSql"></include>
</select>
<!-- 查询全部 -->
<select id="selectListRel" resultType="com.gxwebsoft.oa.entity.TaskUser">
<include refid="selectSql"></include>
</select>
</mapper>
+51
View File
@@ -0,0 +1,51 @@
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-14 11:42:53
*/
@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 name;
@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;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
}
+240
View File
@@ -0,0 +1,240 @@
package com.gxwebsoft.oa.param;
import com.baomidou.mybatisplus.annotation.TableField;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Set;
/**
* 应用管理记录表查询参数
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AppParam对象", description = "应用管理记录表查询参数")
public class AppParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "应用ID")
@QueryField(type = QueryType.EQ)
private Integer appId;
@ApiModelProperty(value = "应用名称")
private String appName;
@ApiModelProperty(value = "应用标识")
private String appCode;
@ApiModelProperty(value = "上级id, 0是顶级")
@QueryField(type = QueryType.EQ)
private Integer parentId;
@ApiModelProperty(value = "应用类型")
private String appType;
@ApiModelProperty(value = "应用类型")
private String appTypeMultiple;
@ApiModelProperty(value = "类型, 0菜单, 1按钮")
@QueryField(type = QueryType.EQ)
private Integer menuType;
@ApiModelProperty(value = "企业ID")
@QueryField(type = QueryType.EQ)
private Integer companyId;
@ApiModelProperty(value = "企业名称")
private String companyName;
@ApiModelProperty(value = "应用图标")
private String appIcon;
@ApiModelProperty(value = "二维码")
private String appQrcode;
@ApiModelProperty(value = "链接地址")
private String appUrl;
@ApiModelProperty(value = "后台管理地址")
private String adminUrl;
@ApiModelProperty(value = "下载地址")
private String downUrl;
@ApiModelProperty(value = "链接地址")
private String serverUrl;
@ApiModelProperty(value = "文件服务器")
private String fileUrl;
@ApiModelProperty(value = "回调地址")
private String callbackUrl;
@ApiModelProperty(value = "腾讯文档地址")
private String docsUrl;
@ApiModelProperty(value = "代码仓库地址")
private String gitUrl;
@ApiModelProperty(value = "原型图地址")
private String prototypeUrl;
@ApiModelProperty(value = "IP白名单")
private String ipAddress;
@ApiModelProperty(value = "应用截图")
private String images;
@ApiModelProperty(value = "应用包名")
private String packageName;
@ApiModelProperty(value = "下载次数")
@QueryField(type = QueryType.EQ)
private Integer clicks;
@ApiModelProperty(value = "安装次数")
@QueryField(type = QueryType.EQ)
private Integer installs;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "应用介绍")
private String content;
@ApiModelProperty(value = "项目需求")
private String requirement;
@ApiModelProperty(value = "开发者(个人或公司)")
private String developer;
@ApiModelProperty(value = "项目负责人")
private String director;
@ApiModelProperty(value = "项目经理")
private String projectDirector;
@ApiModelProperty(value = "业务员")
private String salesman;
@ApiModelProperty(value = "软件定价")
@QueryField(type = QueryType.EQ)
private BigDecimal price;
@ApiModelProperty(value = "划线价格")
@QueryField(type = QueryType.EQ)
private BigDecimal linePrice;
@ApiModelProperty(value = "评分")
private String score;
@ApiModelProperty(value = "星级")
private String star;
@ApiModelProperty(value = "菜单路由地址")
private String path;
@ApiModelProperty(value = "菜单组件地址, 目录可为空")
private String component;
@ApiModelProperty(value = "权限标识")
private String authority;
@ApiModelProperty(value = "打开位置")
private String target;
@ApiModelProperty(value = "是否隐藏, 0否, 1是(仅注册路由不显示在左侧菜单)")
@QueryField(type = QueryType.EQ)
private Integer hide;
@ApiModelProperty(value = "禁止搜索,1禁止 0 允许")
@QueryField(type = QueryType.EQ)
private Integer search;
@ApiModelProperty(value = "菜单侧栏选中的path")
private String active;
@ApiModelProperty(value = "其它路由元信息")
private String meta;
@ApiModelProperty(value = "版本,0正式版 1体验版 2开发版")
private String edition;
@ApiModelProperty(value = "版本号")
private String version;
@ApiModelProperty(value = "是否已安装")
@QueryField(type = QueryType.EQ)
private Integer isUse;
@ApiModelProperty(value = "附近1")
private String file1;
@ApiModelProperty(value = "附件2")
private String file2;
@ApiModelProperty(value = "附件3")
private String file3;
@ApiModelProperty(value = "应用状态")
private String appStatus;
@ApiModelProperty(value = "是否在续费提醒显示")
@QueryField(type = QueryType.EQ)
private Boolean showExpiration;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "租户编号")
private String tenantCode;
@ApiModelProperty(value = "按APPID集搜索")
@TableField(exist = false)
private Set<Integer> appIds;
@ApiModelProperty(value = "是否作为案例展示")
@TableField(exist = false)
private Boolean showCase;
@ApiModelProperty(value = "是否推荐")
@TableField(exist = false)
private Boolean recommend;
@ApiModelProperty(value = "是否显示到首页")
@TableField(exist = false)
private Boolean showIndex;
@ApiModelProperty(value = "是否读取链接列表")
@TableField(exist = false)
private Boolean showAppUrl;
}
+63
View File
@@ -0,0 +1,63 @@
package com.gxwebsoft.oa.param;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 续费管理查询参数
*
* @author 科技小王子
* @since 2023-11-14 14:27:57
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AppRenewParam对象", description = "续费管理查询参数")
public class AppRenewParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer appRenewId;
@ApiModelProperty(value = "续费金额")
@QueryField(type = QueryType.EQ)
private BigDecimal money;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "到期时间")
private String endTime;
@ApiModelProperty(value = "上传附件")
private String images;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "应用ID")
@QueryField(type = QueryType.EQ)
private Integer appId;
@ApiModelProperty(value = "企业ID")
@QueryField(type = QueryType.EQ)
private Integer companyId;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
@QueryField(type = QueryType.EQ)
private Integer status;
}
+51
View File
@@ -0,0 +1,51 @@
package com.gxwebsoft.oa.param;
import java.math.BigDecimal;
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-04-15 13:01:34
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AppUrlParam对象", description = "项目域名查询参数")
public class AppUrlParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer appUrlId;
@ApiModelProperty(value = "应用ID")
@QueryField(type = QueryType.EQ)
private Integer appId;
@ApiModelProperty(value = "域名类型")
private String name;
@ApiModelProperty(value = "域名")
private String domain;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
@QueryField(type = QueryType.EQ)
private Integer status;
}
+66
View File
@@ -0,0 +1,66 @@
package com.gxwebsoft.oa.param;
import com.baomidou.mybatisplus.annotation.TableField;
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-10-26 22:06:23
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AppUserParam对象", description = "应用成员查询参数")
public class AppUserParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer appUserId;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
@QueryField(type = QueryType.EQ)
private Integer role;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "应用ID")
@QueryField(type = QueryType.EQ)
private Integer appId;
@ApiModelProperty(value = "状态, 0正常, 1待评价")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "昵称")
@TableField(exist = false)
private String nickname;
@ApiModelProperty(value = "用户名")
@TableField(exist = false)
private String username;
@ApiModelProperty(value = "手机号码")
@TableField(exist = false)
private String phone;
@ApiModelProperty(value = "邮箱")
@TableField(exist = false)
private String email;
@ApiModelProperty(value = "头像")
@TableField(exist = false)
private String avatar;
}
+154
View File
@@ -0,0 +1,154 @@
package com.gxwebsoft.oa.param;
import com.baomidou.mybatisplus.annotation.TableField;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Set;
/**
* 服务器资产记录表查询参数
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AssetsParam对象", description = "服务器资产记录表查询参数")
public class AssetsParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "资产ID")
@QueryField(type = QueryType.EQ)
private Integer assetsId;
@ApiModelProperty(value = "资产名称")
private String name;
@ApiModelProperty(value = "资产标识")
private String code;
@ApiModelProperty(value = "资产类型")
private String type;
@ApiModelProperty(value = "服务器厂商")
private String brand;
@ApiModelProperty(value = "服务器配置")
private String configuration;
@ApiModelProperty(value = "初始账号")
private String account;
@ApiModelProperty(value = "初始密码")
private String password;
@ApiModelProperty(value = "(阿里云/腾讯云)登录账号")
private String brandAccount;
@ApiModelProperty(value = "(阿里云/腾讯云)登录密码")
private String brandPassword;
@ApiModelProperty(value = "宝塔面板")
private String panel;
@ApiModelProperty(value = "宝塔面板账号")
private String panelAccount;
@ApiModelProperty(value = "宝塔面板密码")
private String panelPassword;
@ApiModelProperty(value = "财务信息-合同金额")
@QueryField(type = QueryType.EQ)
private BigDecimal financeAmount;
@ApiModelProperty(value = "购买年限")
@QueryField(type = QueryType.EQ)
private Integer financeYears;
@ApiModelProperty(value = "续费金额")
@QueryField(type = QueryType.EQ)
private BigDecimal financeRenew;
@ApiModelProperty(value = "客户名称")
private String financeCustomerName;
@ApiModelProperty(value = "客户联系人")
private String financeCustomerContact;
@ApiModelProperty(value = "客户联系电话")
private String financeCustomerPhone;
@ApiModelProperty(value = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer customerId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "开放端口")
private String openPort;
@ApiModelProperty(value = "详情内容")
private String content;
@ApiModelProperty(value = "购买时间")
private LocalDateTime startTime;
@ApiModelProperty(value = "到期时间")
private LocalDateTime endTime;
@ApiModelProperty(value = "置顶状态")
private String isTop;
@ApiModelProperty(value = "可见性(public,private,protected)")
private String visibility;
@ApiModelProperty(value = "宝塔接口秘钥")
private String btSign;
@ApiModelProperty(value = "文章排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "描述")
private String comments;
@ApiModelProperty(value = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer companyId;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "状态, 0正常, 1冻结")
private String status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "企业名称")
@TableField(exist = false)
private String companyName;
@ApiModelProperty(value = "按ID集搜索")
@TableField(exist = false)
private Set<Integer> assetsIds;
}
+45
View File
@@ -0,0 +1,45 @@
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-10-26 21:08:27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "AssetsUserParam对象", description = "服务器成员管理查询参数")
public class AssetsUserParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer id;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
@QueryField(type = QueryType.EQ)
private Integer role;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "应用ID")
@QueryField(type = QueryType.EQ)
private Integer assetsId;
@ApiModelProperty(value = "状态, 0正常, 1待评价")
@QueryField(type = QueryType.EQ)
private Integer status;
}
+51
View File
@@ -0,0 +1,51 @@
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-02-04 14:44:42
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CompanyFieldParam对象", description = "企业参数查询参数")
public class CompanyFieldParam 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 companyId;
@ApiModelProperty(value = "名称")
private String name;
@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;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
}
+190
View File
@@ -0,0 +1,190 @@
package com.gxwebsoft.oa.param;
import com.baomidou.mybatisplus.annotation.TableField;
import com.gxwebsoft.common.core.annotation.QueryField;
import com.gxwebsoft.common.core.annotation.QueryType;
import com.gxwebsoft.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Set;
/**
* 企业信息查询参数
*
* @author 科技小王子
* @since 2023-10-23 19:18:58
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CompanyParam对象", description = "企业信息查询参数")
public class CompanyParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "企业id")
@QueryField(type = QueryType.EQ)
private Integer companyId;
@ApiModelProperty(value = "企业简称")
private String shortName;
@ApiModelProperty(value = "企业全称")
private String companyName;
@ApiModelProperty(value = "企业标识")
private String companyCode;
@ApiModelProperty(value = "类型 10企业 20政府单位")
private String companyType;
@ApiModelProperty(value = "企业类型多选")
private String companyTypeMultiple;
@ApiModelProperty(value = "应用标识")
private String companyLogo;
@ApiModelProperty(value = "应用类型")
private String appType;
@ApiModelProperty(value = "绑定域名")
private String domain;
@ApiModelProperty(value = "联系电话")
private String phone;
@ApiModelProperty(value = "邮箱")
private String email;
@ApiModelProperty(value = "发票抬头")
private String invoiceHeader;
@ApiModelProperty(value = "企业法人")
private String businessEntity;
@ApiModelProperty(value = "服务开始时间")
private String startTime;
@ApiModelProperty(value = "服务到期时间")
private String expirationTime;
@ApiModelProperty(value = "应用版本 10体验版 20授权版 30旗舰版")
@QueryField(type = QueryType.EQ)
private Integer version;
@ApiModelProperty(value = "成员数量(人数上限)")
@QueryField(type = QueryType.EQ)
private Integer members;
@ApiModelProperty(value = "成员数量(当前)")
@QueryField(type = QueryType.EQ)
private Integer users;
@ApiModelProperty(value = "行业类型(父级)")
private String industryParent;
@ApiModelProperty(value = "行业类型(子级)")
private String industryChild;
@ApiModelProperty(value = "部门数量")
@QueryField(type = QueryType.EQ)
private Integer departments;
@ApiModelProperty(value = "存储空间")
private Long storage;
@ApiModelProperty(value = "存储空间(上限)")
private Long storageMax;
@ApiModelProperty(value = "所在国家")
private String country;
@ApiModelProperty(value = "所在省份")
private String province;
@ApiModelProperty(value = "所在城市")
private String city;
@ApiModelProperty(value = "所在辖区")
private String region;
@ApiModelProperty(value = "街道地址")
private String address;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "是否实名认证")
@QueryField(type = QueryType.EQ)
private Integer authentication;
@ApiModelProperty(value = "企业默认主体")
@QueryField(type = QueryType.EQ)
private Integer authoritative;
@ApiModelProperty(value = "request合法域名")
private String requestUrl;
@ApiModelProperty(value = "socket合法域名")
private String socketUrl;
@ApiModelProperty(value = "主控端域名")
private String serverUrl;
@ApiModelProperty(value = "业务域名")
private String modulesUrl;
@ApiModelProperty(value = "是否推荐")
@QueryField(type = QueryType.EQ)
private Integer recommend;
@ApiModelProperty(value = "点赞数量")
@QueryField(type = QueryType.EQ)
private Integer likes;
@ApiModelProperty(value = "点击数量")
@QueryField(type = QueryType.EQ)
private Integer clicks;
@ApiModelProperty(value = "购买数量")
@QueryField(type = QueryType.EQ)
private Integer buys;
@ApiModelProperty(value = "是否含税, 0不含, 1含")
@QueryField(type = QueryType.EQ)
private Integer isTax;
@ApiModelProperty(value = "当前克隆的租户ID")
@QueryField(type = QueryType.EQ)
private Integer planId;
@ApiModelProperty(value = "状态")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "排序号")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "按companyId集搜索")
@TableField(exist = false)
private Set<Integer> companyIds;
}
+45
View File
@@ -0,0 +1,45 @@
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-02-04 14:44:42
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "CompanyUserParam对象", description = "成员管理查询参数")
public class CompanyUserParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer companyUserId;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
@QueryField(type = QueryType.EQ)
private Integer role;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "企业ID")
@QueryField(type = QueryType.EQ)
private Integer companyId;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
@QueryField(type = QueryType.EQ)
private Integer status;
}
+65
View File
@@ -0,0 +1,65 @@
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-14 11:50:39
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "LinkParam对象", description = "常用链接查询参数")
public class LinkParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer id;
@ApiModelProperty(value = "链接名称")
private String name;
@ApiModelProperty(value = "图标")
private String icon;
@ApiModelProperty(value = "链接地址")
private String url;
@ApiModelProperty(value = "链接类型")
private String linkType;
@ApiModelProperty(value = "应用ID")
@QueryField(type = QueryType.EQ)
private Integer appId;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "是否推荐")
@QueryField(type = QueryType.EQ)
private Integer recommend;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "状态, 0正常, 1待确认")
@QueryField(type = QueryType.EQ)
private Integer status;
}
+67
View File
@@ -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;
}
+74
View File
@@ -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;
}
+66
View File
@@ -0,0 +1,66 @@
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-10-30 14:25:30
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "TaskCountParam对象", description = "数据统计查询参数")
public class TaskCountParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer taskCountId;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "待处理数")
@QueryField(type = QueryType.EQ)
private Integer pending;
@ApiModelProperty(value = "已完成数")
@QueryField(type = QueryType.EQ)
private Integer completed;
@ApiModelProperty(value = "今天处理数")
@QueryField(type = QueryType.EQ)
private Integer today;
@ApiModelProperty(value = "本月处理数")
@QueryField(type = QueryType.EQ)
private Integer month;
@ApiModelProperty(value = "今年处理数")
@QueryField(type = QueryType.EQ)
private Integer year;
@ApiModelProperty(value = "总工单数")
@QueryField(type = QueryType.EQ)
private Integer total;
@ApiModelProperty(value = "部门ID")
private Integer organizationId;
@ApiModelProperty(value = "角色ID")
private Integer roleId;
@ApiModelProperty(value = "角色标识")
private String roleCode;
}
+134
View File
@@ -0,0 +1,134 @@
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 com.gxwebsoft.common.system.entity.User;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 任务记录表查询参数
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "TaskParam对象", description = "任务记录表查询参数")
public class TaskParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "工单ID")
@QueryField(type = QueryType.EQ)
private Integer taskId;
@ApiModelProperty(value = "工单名称")
private String name;
@ApiModelProperty(value = "工单类型")
private String taskType;
@ApiModelProperty(value = "任务内容")
private String content;
@ApiModelProperty(value = "工单附件")
private String files;
@ApiModelProperty(value = "工单发起人")
@QueryField(type = QueryType.EQ)
private Integer promoter;
@ApiModelProperty(value = "受理人")
@QueryField(type = QueryType.EQ)
private Integer commander;
@ApiModelProperty(value = "工单状态, 0未开始 1已指派 ")
@QueryField(type = QueryType.EQ)
private Integer progress;
@ApiModelProperty(value = "逾期天数")
@QueryField(type = QueryType.EQ)
private Integer overdueDays;
@ApiModelProperty(value = "优先级")
private String priority;
@ApiModelProperty(value = "品质要求")
private String quality;
@ApiModelProperty(value = "时限(天)")
@QueryField(type = QueryType.EQ)
private Integer day;
@ApiModelProperty(value = "手机号")
private String phone;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "项目ID")
@QueryField(type = QueryType.EQ)
private Integer appId;
@ApiModelProperty(value = "机构id")
@QueryField(type = QueryType.EQ)
private Integer organizationId;
@ApiModelProperty(value = "项目ID")
@QueryField(type = QueryType.EQ)
private Integer projectId;
@ApiModelProperty(value = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer customerId;
@ApiModelProperty(value = "资产ID")
@QueryField(type = QueryType.EQ)
private Integer assetsId;
@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 isRead;
@ApiModelProperty(value = "最后回复人")
@QueryField(type = QueryType.EQ)
private Integer lastReadUser;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
@ApiModelProperty(value = "当前登录用户")
private User loginUser;
@ApiModelProperty(value = "当前登录用户Id")
private Integer loginUserId;
}
+62
View File
@@ -0,0 +1,62 @@
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-10-23 18:53:01
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "TaskRecordParam对象", description = "工单回复记录表查询参数")
public class TaskRecordParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "回复ID")
@QueryField(type = QueryType.EQ)
private Integer taskRecordId;
@ApiModelProperty(value = "上级id, 0是顶级")
@QueryField(type = QueryType.EQ)
private Integer parentId;
@ApiModelProperty(value = "工单ID")
@QueryField(type = QueryType.EQ)
private Integer taskId;
@ApiModelProperty(value = "任务内容")
private String content;
@ApiModelProperty(value = "工单附件")
private String files;
@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;
}
+45
View File
@@ -0,0 +1,45 @@
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-10-23 18:53:01
*/
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "TaskUserParam对象", description = "工单成员查询参数")
public class TaskUserParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增ID")
@QueryField(type = QueryType.EQ)
private Integer taskUserId;
@ApiModelProperty(value = "角色,10体验成员 20开发者成员 30管理员 ")
@QueryField(type = QueryType.EQ)
private Integer role;
@ApiModelProperty(value = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "工单ID")
@QueryField(type = QueryType.EQ)
private Integer taskId;
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
@QueryField(type = QueryType.EQ)
private Integer status;
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.AppField;
import com.gxwebsoft.oa.param.AppFieldParam;
import java.util.List;
/**
* 应用参数Service
*
* @author 科技小王子
* @since 2024-01-14 11:42:53
*/
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);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.AppRenew;
import com.gxwebsoft.oa.param.AppRenewParam;
import java.util.List;
/**
* 续费管理Service
*
* @author 科技小王子
* @since 2023-11-14 14:27:57
*/
public interface AppRenewService extends IService<AppRenew> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<AppRenew>
*/
PageResult<AppRenew> pageRel(AppRenewParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<AppRenew>
*/
List<AppRenew> listRel(AppRenewParam param);
/**
* 根据id查询
*
* @param appRenewId 自增ID
* @return AppRenew
*/
AppRenew getByIdRel(Integer appRenewId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.App;
import com.gxwebsoft.oa.param.AppParam;
import java.util.List;
/**
* 应用管理记录表Service
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
public interface AppService extends IService<App> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<App>
*/
PageResult<App> pageRel(AppParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<App>
*/
List<App> listRel(AppParam param);
/**
* 根据id查询
*
* @param appId 应用ID
* @return App
*/
App getByIdRel(Integer appId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.AppUrl;
import com.gxwebsoft.oa.param.AppUrlParam;
import java.util.List;
/**
* 项目域名Service
*
* @author 科技小王子
* @since 2024-04-15 13:01:34
*/
public interface AppUrlService extends IService<AppUrl> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<AppUrl>
*/
PageResult<AppUrl> pageRel(AppUrlParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<AppUrl>
*/
List<AppUrl> listRel(AppUrlParam param);
/**
* 根据id查询
*
* @param appUrlId 自增ID
* @return AppUrl
*/
AppUrl getByIdRel(Integer appUrlId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.AppUser;
import com.gxwebsoft.oa.param.AppUserParam;
import java.util.List;
/**
* 应用成员Service
*
* @author 科技小王子
* @since 2023-10-26 22:06:23
*/
public interface AppUserService extends IService<AppUser> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<AppUser>
*/
PageResult<AppUser> pageRel(AppUserParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<AppUser>
*/
List<AppUser> listRel(AppUserParam param);
/**
* 根据id查询
*
* @param appUserId 自增ID
* @return AppUser
*/
AppUser getByIdRel(Integer appUserId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Assets;
import com.gxwebsoft.oa.param.AssetsParam;
import java.util.List;
/**
* 服务器资产记录表Service
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
public interface AssetsService extends IService<Assets> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Assets>
*/
PageResult<Assets> pageRel(AssetsParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Assets>
*/
List<Assets> listRel(AssetsParam param);
/**
* 根据id查询
*
* @param assetsId 资产ID
* @return Assets
*/
Assets getByIdRel(Integer assetsId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.AssetsUser;
import com.gxwebsoft.oa.param.AssetsUserParam;
import java.util.List;
/**
* 服务器成员管理Service
*
* @author 科技小王子
* @since 2023-10-26 21:08:27
*/
public interface AssetsUserService extends IService<AssetsUser> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<AssetsUser>
*/
PageResult<AssetsUser> pageRel(AssetsUserParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<AssetsUser>
*/
List<AssetsUser> listRel(AssetsUserParam param);
/**
* 根据id查询
*
* @param id 自增ID
* @return AssetsUser
*/
AssetsUser 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.CompanyField;
import com.gxwebsoft.oa.param.CompanyFieldParam;
import java.util.List;
/**
* 企业参数Service
*
* @author 科技小王子
* @since 2024-02-04 14:44:42
*/
public interface CompanyFieldService extends IService<CompanyField> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<CompanyField>
*/
PageResult<CompanyField> pageRel(CompanyFieldParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<CompanyField>
*/
List<CompanyField> listRel(CompanyFieldParam param);
/**
* 根据id查询
*
* @param id 自增ID
* @return CompanyField
*/
CompanyField getByIdRel(Integer id);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Company;
import com.gxwebsoft.oa.param.CompanyParam;
import java.util.List;
/**
* 企业信息Service
*
* @author 科技小王子
* @since 2023-10-23 19:18:58
*/
public interface CompanyService extends IService<Company> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Company>
*/
PageResult<Company> pageRel(CompanyParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Company>
*/
List<Company> listRel(CompanyParam param);
/**
* 根据id查询
*
* @param companyId 企业id
* @return Company
*/
Company getByIdRel(Integer companyId);
}
@@ -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.CompanyUser;
import com.gxwebsoft.oa.param.CompanyUserParam;
import java.util.List;
/**
* 成员管理Service
*
* @author 科技小王子
* @since 2024-02-04 14:44:42
*/
public interface CompanyUserService extends IService<CompanyUser> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<CompanyUser>
*/
PageResult<CompanyUser> pageRel(CompanyUserParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<CompanyUser>
*/
List<CompanyUser> listRel(CompanyUserParam param);
/**
* 根据id查询
*
* @param companyUserId 自增ID
* @return CompanyUser
*/
CompanyUser getByIdRel(Integer companyUserId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Link;
import com.gxwebsoft.oa.param.LinkParam;
import java.util.List;
/**
* 常用链接Service
*
* @author 科技小王子
* @since 2024-01-14 11:50:39
*/
public interface LinkService extends IService<Link> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<Link>
*/
PageResult<Link> pageRel(LinkParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<Link>
*/
List<Link> listRel(LinkParam param);
/**
* 根据id查询
*
* @param id 自增ID
* @return Link
*/
Link getByIdRel(Integer id);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.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);
}
+44
View File
@@ -0,0 +1,44 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.Task;
import com.gxwebsoft.oa.entity.TaskCount;
import com.gxwebsoft.oa.param.TaskCountParam;
import java.util.List;
/**
* 数据统计Service
*
* @author 科技小王子
* @since 2023-10-30 14:25:30
*/
public interface TaskCountService extends IService<TaskCount> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<TaskCount>
*/
PageResult<TaskCount> pageRel(TaskCountParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<TaskCount>
*/
List<TaskCount> listRel(TaskCountParam param);
/**
* 根据id查询
*
* @param taskCountId 自增ID
* @return TaskCount
*/
TaskCount getByIdRel(Integer taskCountId);
TaskCount getByUserId(Integer userId);
}
+42
View File
@@ -0,0 +1,42 @@
package com.gxwebsoft.oa.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.TaskRecord;
import com.gxwebsoft.oa.param.TaskRecordParam;
import java.util.List;
/**
* 工单回复记录表Service
*
* @author 科技小王子
* @since 2023-10-23 18:53:01
*/
public interface TaskRecordService extends IService<TaskRecord> {
/**
* 分页关联查询
*
* @param param 查询参数
* @return PageResult<TaskRecord>
*/
PageResult<TaskRecord> pageRel(TaskRecordParam param);
/**
* 关联查询全部
*
* @param param 查询参数
* @return List<TaskRecord>
*/
List<TaskRecord> listRel(TaskRecordParam param);
/**
* 根据id查询
*
* @param taskRecordId 回复ID
* @return TaskRecord
*/
TaskRecord getByIdRel(Integer taskRecordId);
}

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