From 7bc689d46f19133b7696cd3e72da1314231f7108 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 10 九月 2025 14:12:40 +0800
Subject: [PATCH] 服务商 、 应用、 需求记录
---
serverWuhu/src/main/java/com/doumee/service/business/DemandRecordService.java | 97 +++
serverWuhu/src/main/java/com/doumee/core/utils/Constants.java | 1
serverWuhu/src/main/java/com/doumee/service/business/ApplicationInfoService.java | 98 +++
serverWuhu/src/main/java/com/doumee/dao/business/model/ApplicationInfo.java | 95 +++
serverWuhu/src/main/java/com/doumee/service/business/impl/ServerProviderServiceImpl.java | 220 ++++++++
serverWuhu/src/main/java/com/doumee/api/business/ServerProviderController.java | 109 ++++
serverWuhu/src/main/java/com/doumee/dao/business/DemandRecordMapper.java | 13
serverWuhu/src/main/java/com/doumee/service/business/impl/DemandRecordServiceImpl.java | 155 +++++
serverWuhu/src/main/java/com/doumee/dao/business/model/ServerProvider.java | 95 +++
serverWuhu/src/main/java/com/doumee/service/business/impl/ApplicationInfoServiceImpl.java | 196 +++++++
serverWuhu/src/main/java/com/doumee/dao/business/ApplicationInfoMapper.java | 13
serverWuhu/src/main/java/com/doumee/api/business/LabelsController.java | 11
serverWuhu/src/main/java/com/doumee/core/utils/Date.java | 7
serverWuhu/src/main/java/com/doumee/service/business/ServerProviderService.java | 98 +++
serverWuhu/src/main/java/com/doumee/api/business/ApplicationInfoController.java | 111 ++++
serverWuhu/src/main/java/com/doumee/api/business/DemandRecordController.java | 90 +++
serverWuhu/src/main/java/com/doumee/dao/business/ServerProviderMapper.java | 13
serverWuhu/src/main/java/com/doumee/dao/business/model/DemandRecord.java | 98 +++
18 files changed, 1,520 insertions(+), 0 deletions(-)
diff --git a/serverWuhu/src/main/java/com/doumee/api/business/ApplicationInfoController.java b/serverWuhu/src/main/java/com/doumee/api/business/ApplicationInfoController.java
new file mode 100644
index 0000000..a8b8237
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/api/business/ApplicationInfoController.java
@@ -0,0 +1,111 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.ApplicationInfo;
+import com.doumee.dao.business.model.ServerProvider;
+import com.doumee.service.business.ApplicationInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Api(tags = "搴旂敤绠$悊")
+@RestController
+@RequestMapping("/business/applicationInfo")
+public class ApplicationInfoController extends BaseController {
+
+ @Autowired
+ private ApplicationInfoService applicationInfoService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:applicationinfo:create")
+ public ApiResponse create(@RequestBody ApplicationInfo applicationInfo) {
+ return ApiResponse.success(applicationInfoService.create(applicationInfo));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:applicationinfo:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ applicationInfoService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:applicationinfo:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ applicationInfoService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:applicationinfo:update")
+ public ApiResponse updateById(@RequestBody ApplicationInfo applicationInfo) {
+ applicationInfoService.updateById(applicationInfo);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("business:applicationinfo:update")
+ public ApiResponse updateStatus(@RequestBody ApplicationInfo applicationInfo) {
+ applicationInfoService.updateStatus(applicationInfo);
+ return ApiResponse.success(null);
+ }
+
+
+
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:applicationinfo:query")
+ public ApiResponse<PageData<ApplicationInfo>> findPage (@RequestBody PageWrap<ApplicationInfo> pageWrap) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Objects.nonNull(loginUserInfo)&&Objects.nonNull(loginUserInfo.getType())&&!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+ pageWrap.getModel().setStatus(Constants.ZERO);
+ }
+ return ApiResponse.success(applicationInfoService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:applicationinfo:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ApplicationInfo> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(ApplicationInfo.class).export(applicationInfoService.findPage(pageWrap).getRecords(), "搴旂敤绠$悊", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:applicationinfo:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(applicationInfoService.findById(id));
+ }
+}
diff --git a/serverWuhu/src/main/java/com/doumee/api/business/DemandRecordController.java b/serverWuhu/src/main/java/com/doumee/api/business/DemandRecordController.java
new file mode 100644
index 0000000..547b29e
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/api/business/DemandRecordController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.DemandRecord;
+import com.doumee.service.business.DemandRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Api(tags = "闇�姹傝褰�")
+@RestController
+@RequestMapping("/business/demandRecord")
+public class DemandRecordController extends BaseController {
+
+ @Autowired
+ private DemandRecordService demandRecordService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:demandrecord:create")
+ public ApiResponse create(@RequestBody DemandRecord demandRecord) {
+ return ApiResponse.success(demandRecordService.create(demandRecord));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:demandrecord:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ demandRecordService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:demandrecord:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ demandRecordService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:demandrecord:update")
+ public ApiResponse updateById(@RequestBody DemandRecord demandRecord) {
+ demandRecordService.updateById(demandRecord);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:demandrecord:query")
+ public ApiResponse<PageData<DemandRecord>> findPage (@RequestBody PageWrap<DemandRecord> pageWrap) {
+ return ApiResponse.success(demandRecordService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:demandrecord:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<DemandRecord> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(DemandRecord.class).export(demandRecordService.findPage(pageWrap).getRecords(), "闇�姹傝褰�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:demandrecord:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(demandRecordService.findById(id));
+ }
+}
diff --git a/serverWuhu/src/main/java/com/doumee/api/business/LabelsController.java b/serverWuhu/src/main/java/com/doumee/api/business/LabelsController.java
index 30e6b19..e6d8744 100644
--- a/serverWuhu/src/main/java/com/doumee/api/business/LabelsController.java
+++ b/serverWuhu/src/main/java/com/doumee/api/business/LabelsController.java
@@ -1,11 +1,13 @@
package com.doumee.api.business;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Labels;
import com.doumee.service.business.LabelsService;
import io.swagger.annotations.Api;
@@ -74,6 +76,15 @@
return ApiResponse.success(labelsService.findPage(pageWrap));
}
+
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ public ApiResponse<List<Labels>> list (@RequestBody Labels labels) {
+ return ApiResponse.success(labelsService.findList(labels));
+ }
+
+
+
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@RequiresPermissions("business:labels:exportExcel")
diff --git a/serverWuhu/src/main/java/com/doumee/api/business/ServerProviderController.java b/serverWuhu/src/main/java/com/doumee/api/business/ServerProviderController.java
new file mode 100644
index 0000000..25cf696
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/api/business/ServerProviderController.java
@@ -0,0 +1,109 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.ServerProvider;
+import com.doumee.service.business.ServerProviderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Api(tags = "鏈嶅姟鍟嗕俊鎭�")
+@RestController
+@RequestMapping("/business/serverProvider")
+public class ServerProviderController extends BaseController {
+
+ @Autowired
+ private ServerProviderService serverProviderService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:serverprovider:create")
+ public ApiResponse create(@RequestBody ServerProvider serverProvider) {
+ return ApiResponse.success(serverProviderService.create(serverProvider));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:serverprovider:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ serverProviderService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("淇敼鐘舵��")
+ @PostMapping("/updateStatus")
+ @RequiresPermissions("business:serverprovider:update")
+ public ApiResponse updateStatus(@RequestBody ServerProvider serverProvider) {
+ serverProviderService.updateStatus(serverProvider);
+ return ApiResponse.success(null);
+ }
+
+
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:serverprovider:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ serverProviderService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:serverprovider:update")
+ public ApiResponse updateById(@RequestBody ServerProvider serverProvider) {
+ serverProviderService.updateById(serverProvider);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:serverprovider:query")
+ public ApiResponse<PageData<ServerProvider>> findPage (@RequestBody PageWrap<ServerProvider> pageWrap) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(Objects.nonNull(loginUserInfo)&&Objects.nonNull(loginUserInfo.getType())&&!Constants.equalsInteger(loginUserInfo.getType(),Constants.ZERO)){
+ pageWrap.getModel().setStatus(Constants.ZERO);
+ }
+ return ApiResponse.success(serverProviderService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:serverprovider:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<ServerProvider> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(ServerProvider.class).export(serverProviderService.findPage(pageWrap).getRecords(), "鏈嶅姟鍟嗕俊鎭�", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:serverprovider:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(serverProviderService.findById(id));
+ }
+}
diff --git a/serverWuhu/src/main/java/com/doumee/core/utils/Constants.java b/serverWuhu/src/main/java/com/doumee/core/utils/Constants.java
index cff3b74..8b5f803 100644
--- a/serverWuhu/src/main/java/com/doumee/core/utils/Constants.java
+++ b/serverWuhu/src/main/java/com/doumee/core/utils/Constants.java
@@ -43,6 +43,7 @@
public static final String SYSTEM_USER_FILE ="SYSTEM_USER_FILE" ;
public static final String CREDIT_CODE_REGEX = "[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}";
public static final String COMPANY_USER_RULES = "COMPANY_USER_RULES";
+ public static final String LOGO_FILE ="LOGO_FILE" ;
/**
* 鍗曠偣鐧诲綍
diff --git a/serverWuhu/src/main/java/com/doumee/core/utils/Date.java b/serverWuhu/src/main/java/com/doumee/core/utils/Date.java
index 73310aa..68d5160 100644
--- a/serverWuhu/src/main/java/com/doumee/core/utils/Date.java
+++ b/serverWuhu/src/main/java/com/doumee/core/utils/Date.java
@@ -2,6 +2,7 @@
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
+import java.util.Objects;
/**
* 鏃ユ湡宸ュ叿
@@ -20,6 +21,9 @@
* @return java.util.Date
*/
public java.util.Date getStart (java.util.Date date) {
+ if(Objects.isNull(date)){
+ return null;
+ }
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
@@ -36,6 +40,9 @@
* @return java.util.Date
*/
public java.util.Date getEnd (java.util.Date date) {
+ if(Objects.isNull(date)){
+ return null;
+ }
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1);
diff --git a/serverWuhu/src/main/java/com/doumee/dao/business/ApplicationInfoMapper.java b/serverWuhu/src/main/java/com/doumee/dao/business/ApplicationInfoMapper.java
new file mode 100644
index 0000000..ef13b60
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/dao/business/ApplicationInfoMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ApplicationInfo;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+public interface ApplicationInfoMapper extends MPJJoinMapper<ApplicationInfo> {
+
+}
diff --git a/serverWuhu/src/main/java/com/doumee/dao/business/DemandRecordMapper.java b/serverWuhu/src/main/java/com/doumee/dao/business/DemandRecordMapper.java
new file mode 100644
index 0000000..bca5118
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/dao/business/DemandRecordMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.DemandRecord;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+public interface DemandRecordMapper extends MPJJoinMapper<DemandRecord> {
+
+}
diff --git a/serverWuhu/src/main/java/com/doumee/dao/business/ServerProviderMapper.java b/serverWuhu/src/main/java/com/doumee/dao/business/ServerProviderMapper.java
new file mode 100644
index 0000000..489c0d9
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/dao/business/ServerProviderMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.ServerProvider;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+public interface ServerProviderMapper extends MPJJoinMapper<ServerProvider> {
+
+}
diff --git a/serverWuhu/src/main/java/com/doumee/dao/business/model/ApplicationInfo.java b/serverWuhu/src/main/java/com/doumee/dao/business/model/ApplicationInfo.java
new file mode 100644
index 0000000..3df6317
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/dao/business/model/ApplicationInfo.java
@@ -0,0 +1,95 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 搴旂敤绠$悊
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Data
+@ApiModel("搴旂敤绠$悊")
+@TableName("`application_info`")
+public class ApplicationInfo {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "绂佸惎鐢ㄧ姸鎬侊細0=鍚敤锛�1=绂佺敤", example = "1")
+ @ExcelColumn(name="绂佸惎鐢ㄧ姸鎬侊細0=鍚敤锛�1=绂佺敤")
+ private Integer status;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鏈嶅姟鍟嗕富閿� server_provider", example = "1")
+ @ExcelColumn(name="鏈嶅姟鍟嗕富閿� server_provider")
+ private Integer serverId;
+
+ @ApiModelProperty(value = "搴旂敤鍚嶇О")
+ @ExcelColumn(name="搴旂敤鍚嶇О")
+ private String name;
+
+ @ApiModelProperty(value = "LOGO鍥剧墖")
+ @ExcelColumn(name="LOGO鍥剧墖")
+ private String logo;
+
+ @ApiModelProperty(value = "鏍囩淇℃伅锛堝涓互鑻辨枃,鍒嗗壊锛�")
+ @ExcelColumn(name="鏍囩淇℃伅锛堝涓互鑻辨枃,鍒嗗壊锛�")
+ private String lables;
+
+ @ApiModelProperty(value = "绠�浠嬶紙澶氳鏂囨湰锛�")
+ @ExcelColumn(name="绠�浠嬶紙澶氳鏂囨湰锛�")
+ private String introduction;
+
+ @ApiModelProperty(value = "璇︽儏锛堝瘜鏂囨湰锛�")
+ @ExcelColumn(name="璇︽儏锛堝瘜鏂囨湰锛�")
+ private String details;
+
+ @ApiModelProperty(value = "鏈嶅姟鍟嗗悕绉�", example = "1")
+ @TableField(exist = false)
+ private String serverName;
+
+ @ApiModelProperty(value = "logo鍏ㄨ矾寰�", example = "1")
+ @TableField(exist = false)
+ private String fullLog;
+
+ @ApiModelProperty(value = "搴旂敤淇℃伅", example = "1")
+ @TableField(exist = false)
+ private String applicationInfo;
+
+}
diff --git a/serverWuhu/src/main/java/com/doumee/dao/business/model/DemandRecord.java b/serverWuhu/src/main/java/com/doumee/dao/business/model/DemandRecord.java
new file mode 100644
index 0000000..5675ebb
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/dao/business/model/DemandRecord.java
@@ -0,0 +1,98 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 闇�姹傝褰�
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Data
+@ApiModel("闇�姹傝褰�")
+@TableName("`demand_record`")
+public class DemandRecord {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鎻愪氦鏃堕棿",width = 20,index = 7,dateFormat = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "绂佸惎鐢ㄧ姸鎬侊細0=鍚敤锛�1=绂佺敤", example = "1")
+ private Integer status;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "搴旂敤涓婚敭 application_info", example = "1")
+ private Integer applicationId;
+
+ @ApiModelProperty(value = "浼佷笟涓婚敭 company", example = "1")
+ private Integer companyId;
+
+ @ApiModelProperty(value = "鑱旂郴浜哄鍚�")
+ @ExcelColumn(name="鑱旂郴浜�",width = 20,index = 4)
+ private String linkName;
+
+ @ApiModelProperty(value = "鑱旂郴浜虹數璇�")
+ @ExcelColumn(name="鑱旂郴鐢佃瘽",width = 20,index = 5)
+ private String linkPhone;
+
+ @ApiModelProperty(value = "鎻忚堪")
+ @ExcelColumn(name="闇�姹傛弿杩�",width = 30,index = 6)
+ private String details;
+
+ @ApiModelProperty(value = "浼佷笟鍚嶇О", example = "1")
+ @ExcelColumn(name="闇�姹備紒涓�",width = 20,index = 3)
+ @TableField(exist = false)
+ private String companyName;
+
+ @ApiModelProperty(value = "鏈嶅姟鍟嗗悕绉�", example = "1")
+ @ExcelColumn(name="鏈嶅姟鍟嗗悕绉�",width = 20,index = 1)
+ @TableField(exist = false)
+ private String serverName;
+
+ @ApiModelProperty(value = "搴旂敤鍚嶇О", example = "1")
+ @ExcelColumn(name="搴旂敤鍚嶇О",width = 20,index = 2)
+ @TableField(exist = false)
+ private String applicationName;
+
+ @ApiModelProperty(value = "搴旂敤LOGO", example = "1")
+ @TableField(exist = false)
+ private String applicationLogo;
+
+ @ApiModelProperty(value = "鎻愪氦鏌ヨ鏃堕棿", example = "1")
+ @TableField(exist = false)
+ private Date startDate;
+
+ @ApiModelProperty(value = "鎻愪氦鏌ヨ鏃堕棿", example = "1")
+ @TableField(exist = false)
+ private Date endDate;
+
+
+}
diff --git a/serverWuhu/src/main/java/com/doumee/dao/business/model/ServerProvider.java b/serverWuhu/src/main/java/com/doumee/dao/business/model/ServerProvider.java
new file mode 100644
index 0000000..870cd6d
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/dao/business/model/ServerProvider.java
@@ -0,0 +1,95 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈嶅姟鍟嗕俊鎭�
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Data
+@ApiModel("鏈嶅姟鍟嗕俊鎭�")
+@TableName("`server_provider`")
+public class ServerProvider {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "绂佸惎鐢ㄧ姸鎬侊細0=鍚敤锛�1=绂佺敤", example = "1")
+ @ExcelColumn(name="绂佸惎鐢ㄧ姸鎬侊細0=鍚敤锛�1=绂佺敤")
+ private Integer status;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ @ExcelColumn(name="鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "LOGO鍥剧墖")
+ @ExcelColumn(name="LOGO鍥剧墖")
+ private String logo;
+
+ @ApiModelProperty(value = "鎵�灞炶涓氾紙鍏宠仈labels琛級", example = "1")
+ @ExcelColumn(name="鎵�灞炶涓氾紙鍏宠仈labels琛級")
+ private Integer industryId;
+
+ @ApiModelProperty(value = "鏈嶅姟鏄熺骇 1 - 5", example = "1")
+ @ExcelColumn(name="鏈嶅姟鏄熺骇 1 - 5")
+ private Integer starLevel;
+
+ @ApiModelProperty(value = "鑱旂郴浜哄鍚�")
+ @ExcelColumn(name="鑱旂郴浜哄鍚�")
+ private String linkName;
+
+ @ApiModelProperty(value = "鑱旂郴浜虹數璇�")
+ @ExcelColumn(name="鑱旂郴浜虹數璇�")
+ private String linkPhone;
+
+ @ApiModelProperty(value = "绠�浠嬶紙澶氳鏂囨湰锛�")
+ @ExcelColumn(name="绠�浠嬶紙澶氳鏂囨湰锛�")
+ private String introduction;
+
+ @ApiModelProperty(value = "鎵�灞炶涓氬悕绉�", example = "1")
+ @TableField(exist = false)
+ private String industryName;
+
+
+ @ApiModelProperty(value = "logo鍏ㄨ矾寰�", example = "1")
+ @TableField(exist = false)
+ private String fullLog;
+}
diff --git a/serverWuhu/src/main/java/com/doumee/service/business/ApplicationInfoService.java b/serverWuhu/src/main/java/com/doumee/service/business/ApplicationInfoService.java
new file mode 100644
index 0000000..911b6ac
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/service/business/ApplicationInfoService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.ApplicationInfo;
+import java.util.List;
+
+/**
+ * 搴旂敤绠$悊Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+public interface ApplicationInfoService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param applicationInfo 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(ApplicationInfo applicationInfo);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param applicationInfo 瀹炰綋瀵硅薄
+ */
+ void delete(ApplicationInfo applicationInfo);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param applicationInfo 瀹炰綋瀵硅薄
+ */
+ void updateById(ApplicationInfo applicationInfo);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param applicationInfos 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<ApplicationInfo> applicationInfos);
+
+ void updateStatus(ApplicationInfo applicationInfo);
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return ApplicationInfo
+ */
+ ApplicationInfo findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param applicationInfo 瀹炰綋瀵硅薄
+ * @return ApplicationInfo
+ */
+ ApplicationInfo findOne(ApplicationInfo applicationInfo);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param applicationInfo 瀹炰綋瀵硅薄
+ * @return List<ApplicationInfo>
+ */
+ List<ApplicationInfo> findList(ApplicationInfo applicationInfo);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<ApplicationInfo>
+ */
+ PageData<ApplicationInfo> findPage(PageWrap<ApplicationInfo> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param applicationInfo 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(ApplicationInfo applicationInfo);
+}
diff --git a/serverWuhu/src/main/java/com/doumee/service/business/DemandRecordService.java b/serverWuhu/src/main/java/com/doumee/service/business/DemandRecordService.java
new file mode 100644
index 0000000..7b32af0
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/service/business/DemandRecordService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.DemandRecord;
+import java.util.List;
+
+/**
+ * 闇�姹傝褰昐ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+public interface DemandRecordService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param demandRecord 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(DemandRecord demandRecord);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param demandRecord 瀹炰綋瀵硅薄
+ */
+ void delete(DemandRecord demandRecord);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param demandRecord 瀹炰綋瀵硅薄
+ */
+ void updateById(DemandRecord demandRecord);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param demandRecords 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<DemandRecord> demandRecords);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return DemandRecord
+ */
+ DemandRecord findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param demandRecord 瀹炰綋瀵硅薄
+ * @return DemandRecord
+ */
+ DemandRecord findOne(DemandRecord demandRecord);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param demandRecord 瀹炰綋瀵硅薄
+ * @return List<DemandRecord>
+ */
+ List<DemandRecord> findList(DemandRecord demandRecord);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<DemandRecord>
+ */
+ PageData<DemandRecord> findPage(PageWrap<DemandRecord> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param demandRecord 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(DemandRecord demandRecord);
+}
diff --git a/serverWuhu/src/main/java/com/doumee/service/business/ServerProviderService.java b/serverWuhu/src/main/java/com/doumee/service/business/ServerProviderService.java
new file mode 100644
index 0000000..dd89294
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/service/business/ServerProviderService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.ServerProvider;
+import java.util.List;
+
+/**
+ * 鏈嶅姟鍟嗕俊鎭疭ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+public interface ServerProviderService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param serverProvider 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(ServerProvider serverProvider);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param serverProvider 瀹炰綋瀵硅薄
+ */
+ void delete(ServerProvider serverProvider);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ void updateStatus(ServerProvider serverProvider);
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param serverProvider 瀹炰綋瀵硅薄
+ */
+ void updateById(ServerProvider serverProvider);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param serverProviders 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<ServerProvider> serverProviders);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return ServerProvider
+ */
+ ServerProvider findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param serverProvider 瀹炰綋瀵硅薄
+ * @return ServerProvider
+ */
+ ServerProvider findOne(ServerProvider serverProvider);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param serverProvider 瀹炰綋瀵硅薄
+ * @return List<ServerProvider>
+ */
+ List<ServerProvider> findList(ServerProvider serverProvider);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<ServerProvider>
+ */
+ PageData<ServerProvider> findPage(PageWrap<ServerProvider> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param serverProvider 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(ServerProvider serverProvider);
+}
diff --git a/serverWuhu/src/main/java/com/doumee/service/business/impl/ApplicationInfoServiceImpl.java b/serverWuhu/src/main/java/com/doumee/service/business/impl/ApplicationInfoServiceImpl.java
new file mode 100644
index 0000000..e7ca3ae
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/service/business/impl/ApplicationInfoServiceImpl.java
@@ -0,0 +1,196 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.ApplicationInfoMapper;
+import com.doumee.dao.business.ServerProviderMapper;
+import com.doumee.dao.business.model.ApplicationInfo;
+import com.doumee.dao.business.model.Labels;
+import com.doumee.dao.business.model.ServerProvider;
+import com.doumee.service.business.ApplicationInfoService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.Model;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 搴旂敤绠$悊Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Service
+public class ApplicationInfoServiceImpl implements ApplicationInfoService {
+
+ @Autowired
+ private ApplicationInfoMapper applicationInfoMapper;
+
+ @Autowired
+ private ServerProviderMapper serverProviderMapper;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+
+ @Override
+ public Integer create(ApplicationInfo applicationInfo) {
+ if(Objects.isNull(applicationInfo)
+ || Objects.isNull(applicationInfo.getServerId())
+ || StringUtils.isBlank(applicationInfo.getName())
+ || StringUtils.isBlank(applicationInfo.getLogo())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(serverProviderMapper.selectCount(new QueryWrapper<ServerProvider>().lambda().eq(ServerProvider::getIsdeleted, Constants.ZERO)
+ .eq(ServerProvider::getId,applicationInfo.getServerId()))<=Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈嶅姟鍟嗕俊鎭凡鍒犻櫎锛�");
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ applicationInfo.setCreateDate(new Date());
+ applicationInfo.setCreator(loginUserInfo.getId());
+ applicationInfo.setEditor(applicationInfo.getCreator());
+ applicationInfo.setEditDate(applicationInfo.getCreateDate());
+ applicationInfo.setStatus(Constants.ZERO);
+ applicationInfo.setIsdeleted(Constants.ZERO);
+ applicationInfoMapper.insert(applicationInfo);
+ return applicationInfo.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ applicationInfoMapper.update(null,new UpdateWrapper<ApplicationInfo>().lambda()
+ .set(ApplicationInfo::getIsdeleted,Constants.ONE).eq(ApplicationInfo::getId,id));
+ }
+
+ @Override
+ public void delete(ApplicationInfo applicationInfo) {
+ UpdateWrapper<ApplicationInfo> deleteWrapper = new UpdateWrapper<>(applicationInfo);
+ applicationInfoMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ applicationInfoMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(ApplicationInfo applicationInfo) {
+ if(Objects.isNull(applicationInfo)
+ || Objects.isNull(applicationInfo.getId())
+ || Objects.isNull(applicationInfo.getServerId())
+ || StringUtils.isBlank(applicationInfo.getName())
+ || StringUtils.isBlank(applicationInfo.getLogo())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ applicationInfo.setEditor(loginUserInfo.getId());
+ applicationInfo.setEditDate(new Date());
+ applicationInfoMapper.updateById(applicationInfo);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<ApplicationInfo> applicationInfos) {
+ if (CollectionUtils.isEmpty(applicationInfos)) {
+ return;
+ }
+ for (ApplicationInfo applicationInfo: applicationInfos) {
+ this.updateById(applicationInfo);
+ }
+ }
+
+ @Override
+ public void updateStatus(ApplicationInfo applicationInfo) {
+ if(Objects.isNull(applicationInfo)
+ || Objects.isNull(applicationInfo.getId())
+ || Objects.isNull(applicationInfo.getStatus())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ applicationInfoMapper.update(null,new UpdateWrapper<ApplicationInfo>().lambda().set(ApplicationInfo::getStatus,applicationInfo.getStatus())
+ .eq(ApplicationInfo::getId,applicationInfo.getId()));
+ }
+
+
+
+
+ @Override
+ public ApplicationInfo findById(Integer id) {
+ MPJLambdaWrapper<ApplicationInfo> queryWrapper = new MPJLambdaWrapper<ApplicationInfo>();
+ queryWrapper.selectAll(ApplicationInfo.class)
+ .selectAs(ServerProvider::getName,ApplicationInfo::getServerName)
+ .leftJoin(ServerProvider.class,ServerProvider::getId,ApplicationInfo::getServerId)
+ .eq(ApplicationInfo::getId,id)
+ .orderByDesc(ApplicationInfo::getId)
+ ;
+ String prefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.LOGO_FILE).getCode();
+ ApplicationInfo applicationInfo = applicationInfoMapper.selectJoinOne(ApplicationInfo.class,queryWrapper);
+ if(Objects.isNull(applicationInfo)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ applicationInfo.setFullLog(prefix + applicationInfo.getLogo());
+ return applicationInfo;
+ }
+
+ @Override
+ public ApplicationInfo findOne(ApplicationInfo applicationInfo) {
+ QueryWrapper<ApplicationInfo> wrapper = new QueryWrapper<>(applicationInfo);
+ return applicationInfoMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<ApplicationInfo> findList(ApplicationInfo applicationInfo) {
+ QueryWrapper<ApplicationInfo> wrapper = new QueryWrapper<>(applicationInfo);
+ return applicationInfoMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<ApplicationInfo> findPage(PageWrap<ApplicationInfo> pageWrap) {
+ IPage<ApplicationInfo> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<ApplicationInfo> queryWrapper = new MPJLambdaWrapper<ApplicationInfo>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ ApplicationInfo model = pageWrap.getModel();
+ queryWrapper.selectAll(ApplicationInfo.class)
+ .selectAs(ServerProvider::getName,ApplicationInfo::getServerName)
+ .leftJoin(ServerProvider.class,ServerProvider::getId,ApplicationInfo::getServerId)
+ .eq(ApplicationInfo::getIsdeleted,Constants.ZERO)
+ .eq(Objects.nonNull(model.getStatus()),ApplicationInfo::getStatus,model.getStatus())
+ .like(StringUtils.isNotBlank(model.getName()),ApplicationInfo::getName,model.getName())
+ .like(StringUtils.isNotBlank(model.getServerName()),ServerProvider::getName,model.getServerName())
+ .and(StringUtils.isNotBlank(model.getApplicationInfo()),i->i.like(ApplicationInfo::getName,model.getApplicationInfo()).or().like(ServerProvider::getName,model.getApplicationInfo()))
+ .orderByDesc(ServerProvider::getId)
+ ;
+ IPage<ApplicationInfo> iPage = applicationInfoMapper.selectJoinPage(page, ApplicationInfo.class ,queryWrapper);
+ String prefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.LOGO_FILE).getCode();
+ iPage.getRecords().forEach(i->{
+ i.setFullLog(prefix + i.getLogo());
+ });
+ return PageData.from(iPage);
+ }
+
+
+ @Override
+ public long count(ApplicationInfo applicationInfo) {
+ QueryWrapper<ApplicationInfo> wrapper = new QueryWrapper<>(applicationInfo);
+ return applicationInfoMapper.selectCount(wrapper);
+ }
+}
diff --git a/serverWuhu/src/main/java/com/doumee/service/business/impl/DemandRecordServiceImpl.java b/serverWuhu/src/main/java/com/doumee/service/business/impl/DemandRecordServiceImpl.java
new file mode 100644
index 0000000..d8780d2
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/service/business/impl/DemandRecordServiceImpl.java
@@ -0,0 +1,155 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.DemandRecordMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.service.business.DemandRecordService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 闇�姹傝褰昐ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Service
+public class DemandRecordServiceImpl implements DemandRecordService {
+
+ @Autowired
+ private DemandRecordMapper demandRecordMapper;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Override
+ public Integer create(DemandRecord demandRecord) {
+ if(Objects.isNull(demandRecord)
+ || Objects.isNull(demandRecord.getApplicationId())
+ || StringUtils.isEmpty(demandRecord.getLinkName())
+ || StringUtils.isEmpty(demandRecord.getLinkPhone())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!(Constants.equalsInteger(loginUserInfo.getType(),Constants.ONE)||Constants.equalsInteger(loginUserInfo.getType(),Constants.TWO))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠鐢ㄦ埛鏃犳硶杩涜璇ユ搷浣�");
+ }
+ demandRecord.setCreateDate(new Date());
+ demandRecord.setCreator(loginUserInfo.getId());
+ demandRecord.setEditor(demandRecord.getCreator());
+ demandRecord.setEditDate(demandRecord.getCreateDate());
+ demandRecord.setStatus(Constants.ZERO);
+ demandRecord.setIsdeleted(Constants.ZERO);
+ demandRecord.setCompanyId(loginUserInfo.getCompanyId());
+ demandRecordMapper.insert(demandRecord);
+ return demandRecord.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ demandRecordMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(DemandRecord demandRecord) {
+ UpdateWrapper<DemandRecord> deleteWrapper = new UpdateWrapper<>(demandRecord);
+ demandRecordMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ demandRecordMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(DemandRecord demandRecord) {
+ demandRecordMapper.updateById(demandRecord);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<DemandRecord> demandRecords) {
+ if (CollectionUtils.isEmpty(demandRecords)) {
+ return;
+ }
+ for (DemandRecord demandRecord: demandRecords) {
+ this.updateById(demandRecord);
+ }
+ }
+
+ @Override
+ public DemandRecord findById(Integer id) {
+ return demandRecordMapper.selectById(id);
+ }
+
+ @Override
+ public DemandRecord findOne(DemandRecord demandRecord) {
+ QueryWrapper<DemandRecord> wrapper = new QueryWrapper<>(demandRecord);
+ return demandRecordMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<DemandRecord> findList(DemandRecord demandRecord) {
+ QueryWrapper<DemandRecord> wrapper = new QueryWrapper<>(demandRecord);
+ return demandRecordMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<DemandRecord> findPage(PageWrap<DemandRecord> pageWrap) {
+ IPage<DemandRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<DemandRecord> queryWrapper = new MPJLambdaWrapper<DemandRecord>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ DemandRecord model = pageWrap.getModel();
+ queryWrapper.selectAll(DemandRecord.class)
+ .selectAs(Company::getName,DemandRecord::getCompanyName)
+ .selectAs(ServerProvider::getName,DemandRecord::getServerName)
+ .selectAs(ApplicationInfo::getName,DemandRecord::getApplicationName)
+ .selectAs(ApplicationInfo::getLogo,DemandRecord::getApplicationLogo)
+ .leftJoin(Company.class,Company::getId,DemandRecord::getCompanyId)
+ .leftJoin(ApplicationInfo.class,ApplicationInfo::getId,DemandRecord::getApplicationId)
+ .leftJoin(ServerProvider.class,ServerProvider::getId,ApplicationInfo::getServerId)
+ .eq(ServerProvider::getIsdeleted,Constants.ZERO)
+ .and(org.apache.commons.lang3.StringUtils.isNotBlank(model.getLinkName())
+ , i->i.like(DemandRecord::getLinkName,model.getLinkName()).or().like(DemandRecord::getLinkPhone,model.getLinkName()))
+ .like(org.apache.commons.lang3.StringUtils.isNotBlank(model.getApplicationName()),ApplicationInfo::getName,model.getApplicationName())
+ .ge(Objects.nonNull(model.getStartDate()),DemandRecord::getCreateDate, Utils.Date.getStart(model.getStartDate()))
+ .le(Objects.nonNull(model.getEndDate()),DemandRecord::getCreateDate, Utils.Date.getEnd(model.getEndDate()))
+ .orderByDesc(DemandRecord::getId)
+ ;
+ IPage<DemandRecord> iPage = demandRecordMapper.selectJoinPage( page, DemandRecord.class, queryWrapper);
+ String prefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.LOGO_FILE).getCode();
+ for (DemandRecord demandRecord:iPage.getRecords()) {
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(demandRecord.getApplicationLogo())){
+ demandRecord.setApplicationLogo(prefix + demandRecord.getApplicationLogo());
+ }
+ }
+ return PageData.from(iPage);
+ }
+
+ @Override
+ public long count(DemandRecord demandRecord) {
+ QueryWrapper<DemandRecord> wrapper = new QueryWrapper<>(demandRecord);
+ return demandRecordMapper.selectCount(wrapper);
+ }
+}
diff --git a/serverWuhu/src/main/java/com/doumee/service/business/impl/ServerProviderServiceImpl.java b/serverWuhu/src/main/java/com/doumee/service/business/impl/ServerProviderServiceImpl.java
new file mode 100644
index 0000000..5087a27
--- /dev/null
+++ b/serverWuhu/src/main/java/com/doumee/service/business/impl/ServerProviderServiceImpl.java
@@ -0,0 +1,220 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.ApplicationInfoMapper;
+import com.doumee.dao.business.LabelsMapper;
+import com.doumee.dao.business.ServerProviderMapper;
+import com.doumee.dao.business.model.ApplicationInfo;
+import com.doumee.dao.business.model.Labels;
+import com.doumee.dao.business.model.ServerProvider;
+import com.doumee.service.business.ServerProviderService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 鏈嶅姟鍟嗕俊鎭疭ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/09/08 10:24
+ */
+@Service
+public class ServerProviderServiceImpl implements ServerProviderService {
+
+ @Autowired
+ private ServerProviderMapper serverProviderMapper;
+
+ @Autowired
+ private LabelsMapper labelsMapper;
+
+ @Autowired
+ private ApplicationInfoMapper applicationInfoMapper;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Override
+ public Integer create(ServerProvider serverProvider) {
+ if(Objects.isNull(serverProvider)
+ || StringUtils.isBlank(serverProvider.getName())
+ || StringUtils.isBlank(serverProvider.getLogo())
+// || Objects.isNull(serverProvider.getStarLevel())
+// || Objects.isNull(serverProvider.getIndustryId())
+// || StringUtils.isBlank(serverProvider.getLinkPhone())
+// || StringUtils.isBlank(serverProvider.getLinkName())
+// || StringUtils.isBlank(serverProvider.getIntroduction())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ //鏌ヨ鍚嶇О鏄惁閲嶅
+ if(serverProviderMapper.selectCount(new QueryWrapper<ServerProvider>().lambda().eq(ServerProvider::getIsdeleted,Constants.ZERO).eq(ServerProvider::getName,serverProvider.getName()))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈嶅姟鍟嗗悕绉癧 "+serverProvider.getName()+" ]宸插瓨鍦紒");
+ }
+ if(Objects.nonNull(serverProvider.getIndustryId())&&Objects.isNull(labelsMapper.selectById(serverProvider.getIndustryId()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"琛屼笟淇℃伅閿欒");
+ };
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ serverProvider.setCreateDate(new Date());
+ serverProvider.setCreator(loginUserInfo.getId());
+ serverProvider.setEditor(serverProvider.getCreator());
+ serverProvider.setEditDate(serverProvider.getCreateDate());
+ serverProvider.setStatus(Constants.ZERO);
+ serverProvider.setIsdeleted(Constants.ZERO);
+ serverProviderMapper.insert(serverProvider);
+ return serverProvider.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ if(applicationInfoMapper.selectCount(new QueryWrapper<ApplicationInfo>().lambda()
+ .eq(ApplicationInfo::getIsdeleted,Constants.ZERO).eq(ApplicationInfo::getServerId,id)
+ )>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈嶅姟鍟嗕娇鐢ㄤ腑锛屾棤娉曡繘琛屽垹闄�");
+ }
+ serverProviderMapper.update(null,new UpdateWrapper<ServerProvider>().lambda()
+ .set(ServerProvider::getIsdeleted,Constants.ONE).eq(ServerProvider::getId,id));
+ }
+
+ @Override
+ public void delete(ServerProvider serverProvider) {
+ UpdateWrapper<ServerProvider> deleteWrapper = new UpdateWrapper<>(serverProvider);
+ serverProviderMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ serverProviderMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateStatus(ServerProvider serverProvider) {
+ if(Objects.isNull(serverProvider)
+ || Objects.isNull(serverProvider.getId())
+ || Objects.isNull(serverProvider.getStatus())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ serverProviderMapper.update(null,new UpdateWrapper<ServerProvider>().lambda().set(ServerProvider::getStatus,serverProvider.getStatus()).eq(ServerProvider::getId,serverProvider.getId()));
+ }
+
+
+
+ @Override
+ public void updateById(ServerProvider serverProvider) {
+ if(Objects.isNull(serverProvider)
+ || Objects.isNull(serverProvider.getId())
+ || StringUtils.isBlank(serverProvider.getName())
+ || StringUtils.isBlank(serverProvider.getLogo())
+// || Objects.isNull(serverProvider.getStarLevel())
+// || Objects.isNull(serverProvider.getIndustryId())
+// || StringUtils.isBlank(serverProvider.getLinkPhone())
+// || StringUtils.isBlank(serverProvider.getLinkName())
+// || StringUtils.isBlank(serverProvider.getIntroduction())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ //鏌ヨ鍚嶇О鏄惁閲嶅
+ if(serverProviderMapper.selectCount(new QueryWrapper<ServerProvider>().lambda().ne(ServerProvider::getId,serverProvider.getId())
+ .eq(ServerProvider::getIsdeleted,Constants.ZERO).eq(ServerProvider::getName,serverProvider.getName()))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈嶅姟鍟嗗悕绉癧 "+serverProvider.getName()+" ]宸插瓨鍦紒");
+ }
+ if(Objects.nonNull(serverProvider.getIndustryId())&&Objects.isNull(labelsMapper.selectById(serverProvider.getIndustryId()))){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"琛屼笟淇℃伅閿欒");
+ };
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ serverProvider.setEditor(loginUserInfo.getId());
+ serverProvider.setEditDate(new Date());
+ serverProviderMapper.updateById(serverProvider);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<ServerProvider> serverProviders) {
+ if (CollectionUtils.isEmpty(serverProviders)) {
+ return;
+ }
+ for (ServerProvider serverProvider: serverProviders) {
+ this.updateById(serverProvider);
+ }
+ }
+
+ @Override
+ public ServerProvider findById(Integer id) {
+ MPJLambdaWrapper<ServerProvider> queryWrapper = new MPJLambdaWrapper<ServerProvider>();
+ queryWrapper.selectAll(ServerProvider.class)
+ .selectAs(Labels::getName,ServerProvider::getIndustryName)
+ .leftJoin(Labels.class,Labels::getId,ServerProvider::getIndustryId)
+ .eq(ServerProvider::getId,id)
+ .orderByDesc(ServerProvider::getId)
+ ;
+ String prefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.LOGO_FILE).getCode();
+ ServerProvider serverProvider = serverProviderMapper.selectJoinOne(ServerProvider.class,queryWrapper);
+ if(Objects.isNull(serverProvider)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ serverProvider.setFullLog(prefix + serverProvider.getLogo());
+ return serverProvider;
+ }
+
+ @Override
+ public ServerProvider findOne(ServerProvider serverProvider) {
+ QueryWrapper<ServerProvider> wrapper = new QueryWrapper<>(serverProvider);
+ return serverProviderMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<ServerProvider> findList(ServerProvider serverProvider) {
+ QueryWrapper<ServerProvider> wrapper = new QueryWrapper<>(serverProvider);
+ wrapper.lambda().eq(ServerProvider::getIsdeleted,Constants.ZERO);
+ wrapper.lambda().eq(ServerProvider::getStatus,Constants.ZERO);
+ return serverProviderMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<ServerProvider> findPage(PageWrap<ServerProvider> pageWrap) {
+ IPage<ServerProvider> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<ServerProvider> queryWrapper = new MPJLambdaWrapper<ServerProvider>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ ServerProvider model = pageWrap.getModel();
+ queryWrapper.selectAll(ServerProvider.class)
+ .selectAs(Labels::getName,ServerProvider::getIndustryName)
+ .leftJoin(Labels.class,Labels::getId,ServerProvider::getIndustryId)
+ .eq(ServerProvider::getIsdeleted,Constants.ZERO)
+ .and(StringUtils.isNotBlank(model.getName()),i->i.like(ServerProvider::getName,model.getName()))
+ .eq(Objects.nonNull(model.getStatus()),ServerProvider::getStatus,model.getStatus())
+ .eq(Objects.nonNull(model.getIndustryId()),ServerProvider::getIndustryId,model.getIndustryId())
+ .orderByDesc(ServerProvider::getId)
+ ;
+ IPage<ServerProvider> serverProviderIPage = serverProviderMapper.selectJoinPage(page, ServerProvider.class ,queryWrapper);
+ String prefix = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.LOGO_FILE).getCode();
+ serverProviderIPage.getRecords().forEach(i->{
+ i.setFullLog(prefix + i.getLogo());
+ });
+ return PageData.from(serverProviderIPage);
+ }
+
+ @Override
+ public long count(ServerProvider serverProvider) {
+ QueryWrapper<ServerProvider> wrapper = new QueryWrapper<>(serverProvider);
+ return serverProviderMapper.selectCount(wrapper);
+ }
+}
--
Gitblit v1.9.3