From 1ff2f63ddc05988ed7d698ef93a905659365446f Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期三, 10 九月 2025 14:52:57 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/intelligent_manufacture_wuhu --- 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