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)); } } 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)); } } 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") 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)); } } 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" ; /** * åç¹ç»å½ 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); 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> { } 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> { } 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> { } 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; } 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; } 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; } 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); } 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; /** * éæ±è®°å½Serviceå®ä¹ * @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); } 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; /** * æå¡åä¿¡æ¯Serviceå®ä¹ * @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); } 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); } } 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; /** * éæ±è®°å½Serviceå®ç° * @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); } } 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; /** * æå¡åä¿¡æ¯Serviceå®ç° * @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); } }