Explorar o código

提供工作日列表远程调用API

chenjun hai 1 ano
pai
achega
ffe3ce99b8

+ 30 - 0
zjugis-module-adm/zjugis-module-adm-api/src/main/java/com/zjugis/module/adm/api/workday/WorkdayApi.java

@@ -0,0 +1,30 @@
+package com.zjugis.module.adm.api.workday;
+
+import com.zjugis.framework.common.pojo.CommonResult;
+import com.zjugis.module.adm.api.workday.dto.WorkdayListReqDTO;
+import com.zjugis.module.adm.api.workday.dto.WorkdayRespDTO;
+import com.zjugis.module.adm.enums.ApiConstants;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/2/4 14:42
+ * @Version 1.0
+ */
+@FeignClient(name = ApiConstants.NAME)
+@Tag(name = "RPC 服务 - 工作日")
+public interface WorkdayApi {
+
+    String PREFIX = ApiConstants.PREFIX + "/workday";
+
+    @GetMapping(PREFIX + "/list")
+    @Operation(summary = "获得部门信息数组")
+    CommonResult<List<WorkdayRespDTO>> getWorkdayList(@Valid @RequestBody WorkdayListReqDTO reqDTO);
+}

+ 22 - 0
zjugis-module-adm/zjugis-module-adm-api/src/main/java/com/zjugis/module/adm/api/workday/dto/WorkdayListReqDTO.java

@@ -0,0 +1,22 @@
+package com.zjugis.module.adm.api.workday.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.zjugis.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/2/4 14:46
+ * @Version 1.0
+ */
+@Data
+public class WorkdayListReqDTO {
+
+    @Schema(description = "日期")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] dateDay;
+}

+ 42 - 0
zjugis-module-adm/zjugis-module-adm-api/src/main/java/com/zjugis/module/adm/api/workday/dto/WorkdayRespDTO.java

@@ -0,0 +1,42 @@
+package com.zjugis.module.adm.api.workday.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import static com.zjugis.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/2/4 14:46
+ * @Version 1.0
+ */
+@Data
+public class WorkdayRespDTO {
+
+    @Schema(description = "日期")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime dateDay;
+
+    @Schema(description = "星期几")
+    private BigDecimal dayOfWeek;
+
+    @Schema(description = "节假备注", example = "你说的对")
+    private String holidayRemark;
+
+    @Schema(description = "是否工作日")
+    private Integer isworkday;
+
+    @Schema(description = "年份")
+    private Integer year;
+
+    @Schema(description = "月份")
+    private Integer month;
+
+    @Schema(description = "周")
+    private Integer week;
+
+}

+ 37 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/api/workday/WorkdayApiImpl.java

@@ -0,0 +1,37 @@
+package com.zjugis.module.adm.api.workday;
+
+import com.zjugis.framework.common.pojo.CommonResult;
+import com.zjugis.module.adm.api.workday.dto.WorkdayListReqDTO;
+import com.zjugis.module.adm.api.workday.dto.WorkdayRespDTO;
+import com.zjugis.module.adm.controller.admin.workday.vo.WorkdayListReqVO;
+import com.zjugis.module.adm.convert.workday.WorkdayConvert;
+import com.zjugis.module.adm.dal.dataobject.workday.WorkdayDO;
+import com.zjugis.module.adm.service.workday.WorkdayService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+import static com.zjugis.framework.common.pojo.CommonResult.success;
+
+/**
+ * @Author 陈俊
+ * @Date 2024/2/4 14:43
+ * @Version 1.0
+ */
+@RestController // 提供 RESTful API 接口,给 Feign 调用
+@Validated
+public class WorkdayApiImpl implements WorkdayApi {
+
+    @Resource
+    private WorkdayService workdayService;
+
+    @Override
+    public CommonResult<List<WorkdayRespDTO>> getWorkdayList(WorkdayListReqDTO reqDTO) {
+        WorkdayListReqVO listReqVO = new WorkdayListReqVO();
+        listReqVO.setDateDay(reqDTO.getDateDay());
+        List<WorkdayDO> workdayList = workdayService.getWorkdayList(listReqVO);
+        return success(WorkdayConvert.INSTANCE.convertList2(workdayList));
+    }
+}

+ 3 - 0
zjugis-module-adm/zjugis-module-adm-biz/src/main/java/com/zjugis/module/adm/convert/workday/WorkdayConvert.java

@@ -1,6 +1,7 @@
 package com.zjugis.module.adm.convert.workday;
 
 import com.zjugis.framework.common.pojo.PageResult;
+import com.zjugis.module.adm.api.workday.dto.WorkdayRespDTO;
 import com.zjugis.module.adm.controller.admin.workday.vo.WorkdayRespVO;
 import com.zjugis.module.adm.controller.admin.workday.vo.WorkdayUpdateReqVO;
 import com.zjugis.module.adm.dal.dataobject.workday.WorkdayDO;
@@ -25,6 +26,8 @@ public interface WorkdayConvert {
 
     List<WorkdayRespVO> convertList(List<WorkdayDO> list);
 
+    List<WorkdayRespDTO> convertList2(List<WorkdayDO> list);
+
     PageResult<WorkdayRespVO> convertPage(PageResult<WorkdayDO> page);
 
 }