15928045575 2 лет назад
Родитель
Сommit
69b03e4c31
15 измененных файлов с 1033 добавлено и 1 удалено
  1. 50 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/bannerDistrictEnum.java
  2. 1 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  3. 25 0
      sckw-modules/sckw-operation/pom.xml
  4. 93 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/controller/KwoBannerController.java
  5. 20 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/dao/KwoBannerMapper.java
  6. 95 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/entity/KwoBanner.java
  7. 106 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/BannerAddReqVo.java
  8. 64 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/BannerQueryReqVo.java
  9. 34 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/IdsReqVo.java
  10. 95 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/res/BannerDetailResVo.java
  11. 116 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/res/BannerQueryResVo.java
  12. 218 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/service/BannerService.java
  13. 91 0
      sckw-modules/sckw-operation/src/main/java/com/sckw/operation/service/CommonBusinessService.java
  14. 24 0
      sckw-modules/sckw-operation/src/main/resources/bootstrap-sky.yml
  15. 1 1
      sckw-modules/sckw-operation/src/main/resources/bootstrap.yml

+ 50 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/bannerDistrictEnum.java

@@ -0,0 +1,50 @@
+package com.sckw.core.model.enums;
+
+import lombok.Getter;
+
+/**
+ * @author sky
+ * @desc 默认地址类型
+ * @date 2023/6/15
+ */
+@Getter
+public enum bannerDistrictEnum {
+
+    //首页
+    BANNER_ZERO(0, "首页"),
+    //建材市场
+    BANNER_ONE(1, "建材市场"),
+    //求购大厅
+    BANNER_TWO(2, "求购大厅"),
+    //运需广场
+    BANNER_THREE(3, "运需广场"),
+    //运力大厅
+    BANNER_FOUR(4, "运力大厅"),
+    //金融服务
+    BANNER_FIVE(5, "金融服务"),
+    //车后服务
+    BANNER_SIX(6,"车后服务"),
+    //绿智新能
+    BANNER_SEVEN(7,"绿智新能");
+
+
+
+    private final int code;
+
+    private final String name;
+
+    bannerDistrictEnum(int code, String name){
+        this.code = code;
+        this.name = name;
+    }
+
+    public static bannerDistrictEnum getName(int code){
+        for (bannerDistrictEnum addressDefaultTypeEnum : values()) {
+            if (addressDefaultTypeEnum.getCode() == code) {
+                return addressDefaultTypeEnum;
+            }
+        }
+        return null;
+    }
+
+}

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -146,6 +146,7 @@ public class HttpStatus {
     public static final String COOPERATE_CANCEL_EXISTS = "未查询到可撤销的记录";
     public static final String ADDRESS_NOT_EXISTS = "未查询到地址记录或已失效";
     public static final String CONTRACT_NOT_EXISTS = "未查询到合同或已失效";
+    public static final String Data_NOT_EXISTS = "未查询到相关数据";
 
     /**自定义提示消息*/
     public static final String PASSWD_ERROR = "密码不正确";

+ 25 - 0
sckw-modules/sckw-operation/pom.xml

@@ -29,6 +29,11 @@
             <artifactId>sckw-common-core</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-remote</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-common-datasource</artifactId>
@@ -38,6 +43,26 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-common-redis</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-stream</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-seata</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-common-sentinel</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>sckw-system-api</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.sckw</groupId>
             <artifactId>sckw-common-log</artifactId>

+ 93 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/controller/KwoBannerController.java

@@ -0,0 +1,93 @@
+package com.sckw.operation.controller;
+
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.operation.model.vo.req.*;
+import com.sckw.operation.service.BannerService;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author sky
+ * @desc 菜单管理
+ * @date 2023/8/28
+ */
+@RestController
+@RequestMapping("/bannerOperation")
+public class KwoBannerController {
+
+    @Autowired
+    private BannerService bannerService;
+
+    /**
+     * @param reqVo 分页入参
+     * @return HttpResult
+     * @desc: 分页查询
+     * @author: sky
+     * @date: 2023/8/28
+     */
+    @PostMapping("/queryByPage")
+    public HttpResult queryByPage(@RequestBody BannerQueryReqVo reqVo) throws SystemException {
+        return HttpResult.ok(bannerService.queryByPage(reqVo));
+    }
+
+    /**
+     * @param reqVo 新增入参
+     * @return HttpResult
+     * @desc: 新增入参
+     * @author: sky
+     * @date: 2023/8/28
+     */
+    @PostMapping("/add")
+    public HttpResult add(@Valid @RequestBody BannerAddReqVo reqVo) throws SystemException {
+        bannerService.addService(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_003);
+    }
+
+    /**
+     * @param reqVo 更新
+     * @return HttpResult
+     * @desc: 更新入参
+     * @author: sky
+     * @date: 2023/8/28
+     */
+    @PostMapping("/update")
+    public HttpResult update(@Valid @RequestBody BannerAddReqVo reqVo) throws SystemException {
+        bannerService.udpateService(reqVo);
+        return HttpResult.ok(HttpStatus.MSG_005);
+    }
+
+    /**
+     * @param reqVo ids
+     * @return HttpResult
+     * @desc: 删除
+     * @author: sky
+     * @date: 2023/8/28
+     */
+    @PostMapping("/delete")
+    public HttpResult delete(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+        bannerService.deleteServer(reqVo.getIds());
+        return HttpResult.ok(HttpStatus.MSG_008);
+    }
+
+    /**
+     * @param reqVo 主键
+     * @return HttpResult
+     * @desc: 查详情
+     * @author: sky
+     * @date: 2023/8/28
+     */
+    @PostMapping("detail")
+    public HttpResult detail(@RequestBody IdsReqVo reqVo) throws SystemException {
+        return HttpResult.ok(bannerService.detailServer(reqVo.getId()));
+    }
+
+
+
+
+}

+ 20 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/dao/KwoBannerMapper.java

@@ -0,0 +1,20 @@
+package com.sckw.operation.dao;
+
+import com.sckw.operation.model.entity.KwoBanner;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @author PC
+* @description 针对表【kwo_banner(地址信息)】的数据库操作Mapper
+* @createDate 2023-07-10 14:27:34
+* @Entity com.sckw.operation.model.entity.KwoBanner
+*/
+@Mapper
+public interface KwoBannerMapper extends BaseMapper<KwoBanner> {
+
+}
+
+
+
+

+ 95 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/entity/KwoBanner.java

@@ -0,0 +1,95 @@
+package com.sckw.operation.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 地址信息
+ * @TableName kwo_banner
+ */
+@TableName(value ="kwo_banner")
+@Data
+public class KwoBanner implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long id;
+
+    /**
+     * 展示图片
+     */
+    private String url;
+
+    /**
+     * 跳转地址
+     */
+    private String jumpUrl;
+
+    /**
+     * 显示区域(0首页,1建材市场,2求购大厅,3运需广场,4运力大厅,5金融服务,6车后服务,7绿智新能)
+     */
+    private Integer district;
+
+    /**
+     * 开始日期
+     */
+    private Date startTime;
+
+    /**
+     * 结束日期
+     */
+    private Date entTime;
+
+    /**
+     * 顺序
+     */
+    private Integer sort;
+
+    /**
+     * 显示终端:苹果设备 ios、安卓设备 android、物流管家 pc、官网 pc-portal、管理系统 pc-background、移动端网页 mobile、全部终端 terminal
+     */
+    private String clientType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+
+    /**
+     * 状态(0 草稿 1已发布 2取消发布)
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 删除标识(0正常/1删除)
+     */
+    private Integer delFlag;
+
+}

+ 106 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/BannerAddReqVo.java

@@ -0,0 +1,106 @@
+package com.sckw.operation.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.page.PageRequest;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author sky
+ * @desc 新增入参
+ * @date 2023/7/10
+ */
+@Data
+public class BannerAddReqVo extends PageRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5677297006062954377L;
+
+    private Long id;
+    /**
+     * 展示图片
+     */
+    @NotBlank(message = "图片地址不能为空")
+    @Size(max = 200, message = "图片地址超长")
+    private String url;
+    /**
+     * 跳转地址
+     */
+    @NotBlank(message = "跳转地址不能为空")
+    @Size(max = 100, message = "跳转地址超长")
+    private String jumpUrl;
+
+    /**
+     * 显示区域(0首页,1建材市场,2求购大厅,3运需广场,4运力大厅,5金融服务,6车后服务,7绿智新能)
+     */
+    @NotNull(message = "显示区域不能为空")
+    private Integer district;
+
+    /**
+     * 创建开始时间(时间戳)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @NotNull(message = "开始时间不能为空")
+    private Date startTime;
+
+    /**
+     * 创建结束时间(时间戳)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @NotNull(message = "结束时间不能为空")
+    private Date endTime;
+
+    /**
+     * 排序
+     */
+    @NotNull(message = "排序不能为空")
+    private Integer sort;
+
+    /**
+     * 显示终端:苹果设备 ios、安卓设备 android、物流管家 pc、官网 pc-portal、管理系统 pc-background、移动端网页 mobile、全部终端 terminal
+     */
+    @NotBlank(message = "显示终端不能为空")
+    @Size(max = 40, message = "显示终端超长")
+    private String clientType;
+
+    /**
+     * 备注
+     */
+
+    private String remark;
+
+    /**
+     * 状态(0 草稿 1已发布 2取消发布)
+     */
+    @NotNull(message = "状态不能为空")
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private String createTime;
+
+    /**
+     * 更新时间
+     */
+    private String updateBy;
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+
+}

+ 64 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/BannerQueryReqVo.java

@@ -0,0 +1,64 @@
+package com.sckw.operation.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.page.PageRequest;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 查询入参
+ * @date 2023/7/10
+ */
+@Data
+public class BannerQueryReqVo extends PageRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5677297006062954377L;
+
+    /**
+     * 状态(0 草稿 1已发布 2取消发布)
+     */
+    private Integer status;
+
+    /**
+     * 显示终端:苹果设备 ios、安卓设备 android、物流管家 pc、官网 pc-portal、管理系统 pc-background、移动端网页 mobile、全部终端 terminal
+     */
+    private String clientType;
+
+    /**
+     * 创建开始时间(时间戳)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 创建结束时间(时间戳)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    /**
+     * 显示区域(0首页,1建材市场,2求购大厅,3运需广场,4运力大厅,5金融服务,6车后服务,7绿智新能)
+     */
+    private Long district;
+
+    /**
+     * 主键
+     */
+    private String ids;
+
+    /**
+     * 搜索
+     */
+    private String Keywords;
+
+}

+ 34 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/req/IdsReqVo.java

@@ -0,0 +1,34 @@
+package com.sckw.operation.model.vo.req;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author sky
+ * @desc 已多个主键为入参
+ * @date 2023/7/11
+ */
+@Data
+public class IdsReqVo implements Serializable {
+
+
+    @Serial
+    private static final long serialVersionUID = 1025798279287885824L;
+    /**
+     * 多个主键,用","隔开
+     */
+    @NotBlank(message = "id不能为空")
+    private String ids;
+
+    private Long id;
+
+    /**
+     * 备注
+     */
+    @Size(max = 400, message = "备注超长")
+    private String remark;
+}

+ 95 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/res/BannerDetailResVo.java

@@ -0,0 +1,95 @@
+package com.sckw.operation.model.vo.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.model.page.PageRequest;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author sky
+ * @desc 详情返回
+ * @date 2023/7/10
+ */
+@Data
+public class BannerDetailResVo extends PageRequest implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5677297006062954377L;
+
+    /**
+     * 主键
+     */
+    private Long id;
+
+    /**
+     * 展示图片
+     */
+    private String url;
+    /**
+     * 跳转地址
+     */
+    private String jumpUrl;
+
+    /**
+     * 显示区域(0首页,1建材市场,2求购大厅,3运需广场,4运力大厅,5金融服务,6车后服务,7绿智新能)
+     */
+    private Integer district;
+
+    /**
+     * 创建开始时间(时间戳)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 创建结束时间(时间戳)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+    /**
+     * 显示终端:苹果设备 ios、安卓设备 android、物流管家 pc、官网 pc-portal、管理系统 pc-background、移动端网页 mobile、全部终端 terminal
+     */
+    private Integer sort;
+
+    /**
+     * 显示终端:苹果设备 ios、安卓设备 android、物流管家 pc、官网 pc-portal、管理系统 pc-background、移动端网页 mobile、全部终端 terminal
+     */
+    private String clientType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态(0 草稿 1已发布 2取消发布)
+     */
+    private String status;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private String createTime;
+
+    /**
+     * 更新时间
+     */
+    private String updateBy;
+    /**
+     * 更新时间
+     */
+    private String updateTime;
+
+}

+ 116 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/model/vo/res/BannerQueryResVo.java

@@ -0,0 +1,116 @@
+package com.sckw.operation.model.vo.res;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author sky
+ * @desc 查询返参
+ * @date 2023/7/12
+ */
+@Data
+public class BannerQueryResVo implements Serializable {
+    /**
+     * 主键
+     */
+    @JsonSerialize(using = LongToStringUtils.class)
+    private Long id;
+
+    /**
+     * 展示图片
+     */
+    private String url;
+
+    /**
+     * 跳转地址
+     */
+    private String jumpUrl;
+
+    /**
+     * 显示区域(0首页,1建材市场,2求购大厅,3运需广场,4运力大厅,5金融服务,6车后服务,7绿智新能)
+     */
+    private Integer district;
+
+    private String districtName;
+
+    /**
+     * 开始日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /**
+     * 结束日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date entTime;
+
+    /**
+     * 顺序
+     */
+    private Integer sort;
+
+    /**
+     * 显示终端:苹果设备 ios、安卓设备 android、物流管家 pc、官网 pc-portal、管理系统 pc-background、移动端网页 mobile、全部终端 terminal
+     */
+    private String clientType;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+
+    /**
+     * 状态(0 草稿 1已发布 2取消发布)
+     */
+    private Integer status;
+
+    private String statusText;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 创建人名字
+     */
+    private String createByName;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 删除标识(0正常/1删除)
+     */
+    private Integer delFlag;
+
+}

+ 218 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/service/BannerService.java

@@ -0,0 +1,218 @@
+package com.sckw.operation.service;
+
+import java.io.IOException;
+import java.util.*;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.AddressDefaultTypeEnum;
+import com.sckw.core.model.page.PageHelperUtil;
+import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.operation.model.vo.req.BannerAddReqVo;
+import com.sckw.operation.model.vo.res.*;
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
+import com.sckw.operation.dao.KwoBannerMapper;
+import com.sckw.operation.model.vo.req.BannerQueryReqVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.sckw.operation.model.entity.KwoBanner;
+import com.sckw.core.model.enums.bannerDistrictEnum;
+
+/**
+ * @author sky
+ * @desc banner service
+ * @date 2023/8/28
+ */
+@Slf4j
+@Service
+public class BannerService {
+
+    @Autowired
+    private KwoBannerMapper kwoBannerMapper;
+
+    @Autowired
+    private CommonBusinessService commonBusinessService;
+
+
+
+
+    /**
+     * @param reqVo 分页入参
+     * @return HttpResult
+     * @desc: 分页查询
+     * @author: sky
+     * @date: 2023/7/12
+     */
+    public PageResult queryByPage(BannerQueryReqVo reqVo) {
+        PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
+        List<KwoBanner> kwoBannerList = findList(reqVo);
+        if (CollectionUtils.isEmpty(kwoBannerList)) {
+            return PageHelperUtil.getPageResult(new PageInfo<>());
+        }
+        List<BannerQueryResVo> list = getAddressQueryResVo(kwoBannerList);
+        return PageHelperUtil.getPageResult(new PageInfo<>(list), kwoBannerList, reqVo.getPageSize());
+    }
+
+    /**
+     * @param reqVo 分页入参
+     * @return KwoBanner
+     * @desc: 全量查询
+     * @author: sky
+     * @date: 2023/7/12
+     */
+    private List<KwoBanner> findList(BannerQueryReqVo reqVo) {
+        LambdaQueryWrapper<KwoBanner> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Objects.nonNull(reqVo.getStatus()), KwoBanner::getStatus, reqVo.getStatus()).
+                eq(KwoBanner::getDelFlag, Global.NO).
+                and(StringUtils.isNotBlank(reqVo.getKeywords()),
+                        wq -> wq.like(KwoBanner::getUrl, reqVo.getKeywords()).or().
+                                like(KwoBanner::getClientType, reqVo.getKeywords())).
+                orderByDesc(KwoBanner::getUpdateTime);
+
+        if (Objects.nonNull(reqVo.getStartTime())) {
+            wrapper.ge(KwoBanner::getCreateTime, reqVo.getStartTime());
+        }
+
+        if (Objects.nonNull(reqVo.getEndTime())) {
+            wrapper.lt(KwoBanner::getCreateTime, DateUtil.offsetDay(reqVo.getEndTime(), 1));
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getIds())) {
+            wrapper.in(KwoBanner::getId, Arrays.stream(reqVo.getIds().split(Global.COMMA)).map(Long::parseLong).toList());
+        }
+        return kwoBannerMapper.selectList(wrapper);
+    }
+
+
+    /**
+     * @return BannerQueryResVo
+     * @desc: 转换成vo
+     * @param: KwoBanner 实体
+     * @author: sky
+     * @date 2023/7/18
+     */
+    private List<BannerQueryResVo> getAddressQueryResVo(List<KwoBanner> kwoBanner) {
+        List<BannerQueryResVo> list = new ArrayList<>();
+        List<Long> userIds = kwoBanner.stream().map(KwoBanner::getCreateBy).distinct().toList();
+        List<Integer> types = kwoBanner.stream().map(KwoBanner::getDistrict).distinct().toList();
+        Map<Long, UserCacheResDto> userCacheResDtoMap = commonBusinessService.queryUserCacheMapByIds(userIds);
+
+        kwoBanner.forEach(item -> {
+            BannerQueryResVo bannerQueryResVo = new BannerQueryResVo();
+            BeanUtils.copyProperties(item, bannerQueryResVo);
+            UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
+
+            if (Objects.nonNull(userCacheResDto)) {
+                bannerQueryResVo.setCreateByName(userCacheResDto.getName());
+            }
+
+            if (Objects.nonNull(item.getDistrict())) {
+                bannerQueryResVo.setDistrictName(bannerDistrictEnum.getName(item.getDistrict()).getName());
+            }
+
+            //bannerQueryResVo.statusText(StringUtils.isNotBlank(item.getStatus()) ? "已设置" : "未设置");
+            list.add(bannerQueryResVo);
+        });
+        return list;
+    }
+
+    /**
+     * @param reqVo 新增入参
+     * @desc: 新增banner
+     * @author: sky
+     * @date: 2023/8/29
+     */
+    @Transactional(rollbackFor = {})
+    public void addService(BannerAddReqVo reqVo) {
+        KwoBanner kwoBanner = new KwoBanner();
+        BeanUtils.copyProperties(reqVo, kwoBanner);
+        Long userId = LoginUserHolder.getUserId();
+        Date date = new Date();
+        kwoBanner.setDelFlag(Global.NO);
+        kwoBanner.setStatus(Global.NO);
+        kwoBanner.setCreateBy(userId);
+        kwoBanner.setUpdateBy(userId);
+        kwoBanner.setCreateTime(date);
+        kwoBanner.setUpdateTime(date);
+        kwoBanner.setId(new IdWorker(1L).nextId());
+        if (kwoBannerMapper.insert(kwoBanner) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+        }
+    }
+
+    /**
+     * @param reqVo 更新入参
+     * @desc: 更新banner
+     * @author: sky
+     * @date: 2023/8/29
+     */
+    @Transactional(rollbackFor = {})
+    public void udpateService(BannerAddReqVo reqVo) {
+        KwoBanner kwobanner = kwoBannerMapper.selectById(reqVo.getId());
+        if (Objects.isNull(kwobanner)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.Data_NOT_EXISTS);
+        }
+        BeanUtils.copyProperties(reqVo, kwobanner);
+        if (kwoBannerMapper.updateById(kwobanner) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
+    }
+
+    /**
+     * @param ids 主键
+     * @desc: 删除
+     * @author: sky
+     * @date: 2023/8/29
+     */
+    @Transactional(rollbackFor = {})
+    public void deleteServer(String ids) {
+        List<Long> idList = Arrays.stream(ids.split(Global.COMMA)).map(Long::parseLong).toList();
+        List<KwoBanner> kwoBanner = kwoBannerMapper.selectBatchIds(idList);
+        if (CollectionUtils.isEmpty(kwoBanner)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ADDRESS_NOT_EXISTS);
+        }
+
+        Long userId = LoginUserHolder.getUserId();
+        Date date = new Date();
+        kwoBanner.forEach(item -> {
+            item.setUpdateTime(date);
+            item.setUpdateBy(userId);
+            item.setDelFlag(Global.YES);
+
+            if (kwoBannerMapper.updateById(item) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.DELETE_FAIL);
+            }
+        });
+    }
+
+    /**
+     * @param id 主键
+     * @return AddressDetailResVo
+     * @desc: 查详情
+     * @author: czh
+     * @date: 2023/7/25
+     */
+    public BannerDetailResVo detailServer(Long id) {
+        KwoBanner kwoBanner = kwoBannerMapper.selectById(id);
+        if (Objects.isNull(kwoBanner) || kwoBanner.getDelFlag().equals(Global.YES)) {
+            return null;
+        }
+
+        BannerDetailResVo bannerDetailResVo = new BannerDetailResVo();
+        BeanUtils.copyProperties(kwoBanner, bannerDetailResVo);
+        return bannerDetailResVo;
+    }
+
+}

+ 91 - 0
sckw-modules/sckw-operation/src/main/java/com/sckw/operation/service/CommonBusinessService.java

@@ -0,0 +1,91 @@
+package com.sckw.operation.service;
+
+import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.enums.CooperateTypeEnum;
+import com.sckw.system.api.RemoteSystemService;
+
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @author sky
+ * @desc 公共
+ * @date 2023/7/12
+ */
+@Service
+public class CommonBusinessService {
+
+    @DubboReference(version = "1.0.0", group = "design", check = false)
+    private RemoteSystemService remoteSystemService;
+
+
+
+
+    /**
+     * @param userIds 用户id
+     * @return UserCacheResDto
+     * @desc: 查用户信息
+     * @author: czh
+     * @date: 2023/7/12
+     */
+    public Map<Long, UserCacheResDto> queryUserCacheMapByIds(List<Long> userIds){
+        return remoteSystemService.queryUserCacheMapByIds(userIds);
+    }
+
+
+    /**
+     * @param entIds 企业id
+     * @return EntCacheResDto
+     * @desc: 查企业信息
+     * @author: czh
+     * @date: 2023/7/12
+     */
+    public Map<Long, EntCacheResDto> queryEntCacheMapByIds(List<Long> entIds) {
+        return remoteSystemService.queryEntCacheMapByIds(entIds);
+    }
+
+    /**
+     * @param keys type#value,type#value
+     * @return Map
+     * @desc: 根据id查字典
+     * @author: czh
+     * @date: 2023/7/12
+     */
+    public Map<String, SysDictResDto> queryDictMapByTypeValues(String keys) {
+        return remoteSystemService.queryDictMapByTypeValues(keys);
+    }
+
+    /**
+     * @param type 当前企业的属性
+     * @return Integer
+     * @desc: 转换成相对的属性
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    public Integer changeAttribute(Integer type) {
+        if (type == CooperateTypeEnum.SUPPLIER.getCode()) {
+            return CooperateTypeEnum.PURCHASER.getCode();
+        }
+
+        if (type == CooperateTypeEnum.PURCHASER.getCode()) {
+            return CooperateTypeEnum.SUPPLIER.getCode();
+        }
+
+        if (type == CooperateTypeEnum.CONSIGN.getCode()) {
+            return CooperateTypeEnum.CARRIAGE.getCode();
+        }
+
+        if (type == CooperateTypeEnum.CARRIAGE.getCode()) {
+            return CooperateTypeEnum.CONSIGN.getCode();
+        }
+
+        return Global.NO;
+    }
+}

+ 24 - 0
sckw-modules/sckw-operation/src/main/resources/bootstrap-sky.yml

@@ -0,0 +1,24 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: 10.10.10.230:8848
+        # 命名空间
+        namespace: sckw-sky
+        # 共享配置
+        group: sckw-service-platform
+      config:
+        # 配置中心地址
+        server-addr: 10.10.10.230:8848
+        # 配置文件格式
+        file-extension: yaml
+        # 命名空间
+        namespace: sckw-sky
+        # 共享配置
+        group: sckw-service-platform
+        #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
+        extension-configs:
+          - dataId: sckw-common.yml
+            group: sckw-service-platform
+            refresh: true

+ 1 - 1
sckw-modules/sckw-operation/src/main/resources/bootstrap.yml

@@ -5,7 +5,7 @@ spring:
   application:
     name: sckw-operation
   profiles:
-    active: ${DEPLOY_MODE:dev}
+    active: sky
   main:
     allow-bean-definition-overriding: true
     allow-circular-references: true