Browse Source

代码提交

高家顺 4 years ago
parent
commit
d8a1c551cd
22 changed files with 445 additions and 8 deletions
  1. 3 3
      src/main/java/com/macro/mall/tiny/config/SwaggerConfig.java
  2. 48 0
      src/main/java/com/macro/mall/tiny/modules/business/controller/BLineController.java
  3. 1 1
      src/main/java/com/macro/mall/tiny/modules/business/controller/BProvinceController.java
  4. 21 0
      src/main/java/com/macro/mall/tiny/modules/business/controller/BTowerController.java
  5. 22 0
      src/main/java/com/macro/mall/tiny/modules/business/mapper/BLineMapper.java
  6. 17 0
      src/main/java/com/macro/mall/tiny/modules/business/mapper/BTowerMapper.java
  7. 45 0
      src/main/java/com/macro/mall/tiny/modules/business/model/BLine.java
  8. 45 0
      src/main/java/com/macro/mall/tiny/modules/business/model/BTower.java
  9. 19 0
      src/main/java/com/macro/mall/tiny/modules/business/service/BLineCacheService.java
  10. 21 0
      src/main/java/com/macro/mall/tiny/modules/business/service/BLineService.java
  11. 16 0
      src/main/java/com/macro/mall/tiny/modules/business/service/BTowerService.java
  12. 46 0
      src/main/java/com/macro/mall/tiny/modules/business/service/impl/BLineCacheServiceImpl.java
  13. 52 0
      src/main/java/com/macro/mall/tiny/modules/business/service/impl/BLineServiceImpl.java
  14. 1 0
      src/main/java/com/macro/mall/tiny/modules/business/service/impl/BProvinceCacheServiceImpl.java
  15. 4 1
      src/main/java/com/macro/mall/tiny/modules/business/service/impl/BProvinceServiceImpl.java
  16. 20 0
      src/main/java/com/macro/mall/tiny/modules/business/service/impl/BTowerServiceImpl.java
  17. 1 1
      src/main/resources/application-dev.yml
  18. 1 1
      src/main/resources/application-prod.yml
  19. 1 0
      src/main/resources/application.yml
  20. 1 1
      src/main/resources/generator.properties
  21. 46 0
      src/main/resources/mapper/business/BLineMapper.xml
  22. 14 0
      src/main/resources/mapper/business/BTowerMapper.xml

+ 3 - 3
src/main/java/com/macro/mall/tiny/config/SwaggerConfig.java

@@ -17,9 +17,9 @@ public class SwaggerConfig extends BaseSwaggerConfig {
     public SwaggerProperties swaggerProperties() {
         return SwaggerProperties.builder()
                 .apiBasePackage("com.macro.mall.tiny.modules")
-                .title("mall-tiny项目骨架")
-                .description("mall-tiny项目骨架相关接口文档")
-                .contactName("macro")
+                .title("power-system项目骨架")
+                .description("power-system项目骨架相关接口文档")
+                .contactName("jiashun")
                 .version("1.0")
                 .enableSecurity(true)
                 .build();

+ 48 - 0
src/main/java/com/macro/mall/tiny/modules/business/controller/BLineController.java

@@ -0,0 +1,48 @@
+package com.macro.mall.tiny.modules.business.controller;
+
+
+import com.macro.mall.tiny.common.api.CommonResult;
+import com.macro.mall.tiny.modules.business.model.BLine;
+import com.macro.mall.tiny.modules.business.service.BLineService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.websocket.server.PathParam;
+import java.security.Key;
+import java.util.List;
+
+/**
+ * <p>
+ * 线路表 前端控制器
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+@RestController
+@Api(tags = "BLineController", description = "线路管理")
+@RequestMapping("line")
+public class BLineController {
+
+    @Autowired
+    private BLineService lineService;
+
+    @ApiOperation("获取线路列表")
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<List<BLine>> list() {
+        List<BLine> lineList = lineService.getLineList();
+        return CommonResult.success(lineList);
+    }
+
+    @ApiOperation("按照关键字查询线路列表")
+    @RequestMapping(value = "/findByKey", method = RequestMethod.GET)
+    @ResponseBody
+    public CommonResult<List<BLine>> findByKey(@RequestParam @PathParam(value = "key") String key) {
+        List<BLine> lineList = lineService.findByKey(key);
+        return CommonResult.success(lineList);
+    }
+}
+

+ 1 - 1
src/main/java/com/macro/mall/tiny/modules/business/controller/BProvinceController.java

@@ -35,7 +35,7 @@ public class BProvinceController {
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     @ResponseBody
     public CommonResult<List<BProvince>> list() {
-        List<BProvince> provinceList = provinceService.list();
+        List<BProvince> provinceList = provinceService.getProvinceList();
         return CommonResult.success(provinceList);
     }
 }

+ 21 - 0
src/main/java/com/macro/mall/tiny/modules/business/controller/BTowerController.java

@@ -0,0 +1,21 @@
+package com.macro.mall.tiny.modules.business.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 塔表 前端控制器
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+@RestController
+@RequestMapping("/business/bTower")
+public class BTowerController {
+
+}
+

+ 22 - 0
src/main/java/com/macro/mall/tiny/modules/business/mapper/BLineMapper.java

@@ -0,0 +1,22 @@
+package com.macro.mall.tiny.modules.business.mapper;
+
+import com.macro.mall.tiny.modules.business.model.BLine;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 线路表 Mapper 接口
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+public interface BLineMapper extends BaseMapper<BLine> {
+
+    List<BLine> findListMulti();
+
+    List<BLine> findListByKey(@Param("key") String key);
+}

+ 17 - 0
src/main/java/com/macro/mall/tiny/modules/business/mapper/BTowerMapper.java

@@ -0,0 +1,17 @@
+package com.macro.mall.tiny.modules.business.mapper;
+
+import com.macro.mall.tiny.modules.business.model.BTower;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 塔表 Mapper 接口
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+public interface BTowerMapper extends BaseMapper<BTower> {
+
+    
+}

+ 45 - 0
src/main/java/com/macro/mall/tiny/modules/business/model/BLine.java

@@ -0,0 +1,45 @@
+package com.macro.mall.tiny.modules.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 线路表
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("b_line")
+@ApiModel(value="BLine对象", description="线路表")
+public class BLine implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    @ApiModelProperty(value = "线路ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "线路名称")
+    private String name;
+
+    @ApiModelProperty(value = "线路所属省份")
+    private Integer provinceId;
+
+
+    @ApiModelProperty(value = "包含铁塔")
+    @TableField(exist = false)
+    private List<BTower> towerList;
+}

+ 45 - 0
src/main/java/com/macro/mall/tiny/modules/business/model/BTower.java

@@ -0,0 +1,45 @@
+package com.macro.mall.tiny.modules.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 塔表
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("b_tower")
+@ApiModel(value="BTower对象", description="塔表")
+public class BTower implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    @ApiModelProperty(value = "杆塔表")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "杆塔号")
+    private String name;
+
+    @ApiModelProperty(value = "塔形")
+    private String shape;
+
+    @ApiModelProperty(value = "金具串型号")
+    private String hardwareType;
+
+    @ApiModelProperty(value = "线路ID")
+    private Integer lineId;
+
+
+}

+ 19 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/BLineCacheService.java

@@ -0,0 +1,19 @@
+package com.macro.mall.tiny.modules.business.service;
+
+import com.macro.mall.tiny.modules.business.model.BLine;
+
+import java.util.List;
+
+/**
+ * @author gjs
+ * @description
+ * @date 2021/3/24 14:38
+ */
+public interface BLineCacheService {
+
+    List<BLine> getLineList();
+
+    void setLineList(List<BLine> lineList);
+
+    void delLineList();
+}

+ 21 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/BLineService.java

@@ -0,0 +1,21 @@
+package com.macro.mall.tiny.modules.business.service;
+
+import com.macro.mall.tiny.modules.business.model.BLine;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 线路表 服务类
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+public interface BLineService extends IService<BLine> {
+
+    List<BLine> getLineList();
+
+    List<BLine> findByKey(String key);
+}

+ 16 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/BTowerService.java

@@ -0,0 +1,16 @@
+package com.macro.mall.tiny.modules.business.service;
+
+import com.macro.mall.tiny.modules.business.model.BTower;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 塔表 服务类
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+public interface BTowerService extends IService<BTower> {
+
+}

+ 46 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/impl/BLineCacheServiceImpl.java

@@ -0,0 +1,46 @@
+package com.macro.mall.tiny.modules.business.service.impl;
+
+import com.macro.mall.tiny.common.service.RedisService;
+import com.macro.mall.tiny.modules.business.model.BLine;
+import com.macro.mall.tiny.modules.business.service.BLineCacheService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author gjs
+ * @description
+ * @date 2021/3/24 14:40
+ */
+@Service
+public class BLineCacheServiceImpl implements BLineCacheService {
+
+    @Autowired
+    private RedisService redisService;
+    @Value("${redis.database}")
+    private String REDIS_DATABASE;
+    @Value("${redis.expire.common}")
+    private Long REDIS_EXPIRE;
+    @Value("${business:lineList}")
+    private String REDIS_KEY_LINE_LIST;
+
+    @Override
+    public List<BLine> getLineList() {
+        String key = REDIS_DATABASE + ":" + REDIS_KEY_LINE_LIST;
+        return (List<BLine>) redisService.get(key);
+    }
+
+    @Override
+    public void setLineList(List<BLine> lineList) {
+        String key = REDIS_DATABASE + ":" + REDIS_KEY_LINE_LIST;
+        redisService.set(key, lineList, REDIS_EXPIRE);
+    }
+
+    @Override
+    public void delLineList() {
+        String key = REDIS_DATABASE + ":" + REDIS_KEY_LINE_LIST;
+        redisService.del(key);
+    }
+}

+ 52 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/impl/BLineServiceImpl.java

@@ -0,0 +1,52 @@
+package com.macro.mall.tiny.modules.business.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.macro.mall.tiny.modules.business.model.BLine;
+import com.macro.mall.tiny.modules.business.mapper.BLineMapper;
+import com.macro.mall.tiny.modules.business.service.BLineCacheService;
+import com.macro.mall.tiny.modules.business.service.BLineService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 线路表 服务实现类
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+@Service
+public class BLineServiceImpl extends ServiceImpl<BLineMapper, BLine> implements BLineService {
+
+    @Autowired
+    private BLineCacheService lineCacheService;
+
+    @Autowired
+    private BLineMapper lineMapper;
+
+    @Override
+    public List<BLine> getLineList() {
+        List<BLine> lineList = lineCacheService.getLineList();
+        if (CollUtil.isNotEmpty(lineList)) {
+            return lineList;
+        }
+        lineList = lineMapper.findListMulti();
+        if (CollUtil.isNotEmpty(lineList)) {
+            lineCacheService.setLineList(lineList);
+        } else {
+            lineCacheService.setLineList(new ArrayList<>());
+        }
+        return lineList;
+    }
+
+    @Override
+    public List<BLine> findByKey(String key) {
+        return lineMapper.findListByKey(key);
+    }
+}

+ 1 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/impl/BProvinceCacheServiceImpl.java

@@ -32,6 +32,7 @@ public class BProvinceCacheServiceImpl implements BProvinceCacheService {
         return (List<BProvince>) redisService.get(key);
     }
 
+    @Override
     public void setProvinceList(List<BProvince> provinceList) {
         String key = REDIS_DATABASE + ":" + REDIS_KEY_PROVINCE_LIST;
         redisService.set(key, provinceList, REDIS_EXPIRE);

+ 4 - 1
src/main/java/com/macro/mall/tiny/modules/business/service/impl/BProvinceServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -36,8 +37,10 @@ public class BProvinceServiceImpl extends ServiceImpl<BProvinceMapper, BProvince
             return  provinceList;
         }
         provinceList = provinceMapper.selectList(new QueryWrapper<>());
-        if(CollUtil.isNotEmpty(provinceList)){
+        if (CollUtil.isNotEmpty(provinceList)) {
             provinceCacheService.setProvinceList(provinceList);
+        } else {
+            provinceCacheService.setProvinceList(new ArrayList<>());
         }
         return provinceList;
     }

+ 20 - 0
src/main/java/com/macro/mall/tiny/modules/business/service/impl/BTowerServiceImpl.java

@@ -0,0 +1,20 @@
+package com.macro.mall.tiny.modules.business.service.impl;
+
+import com.macro.mall.tiny.modules.business.model.BTower;
+import com.macro.mall.tiny.modules.business.mapper.BTowerMapper;
+import com.macro.mall.tiny.modules.business.service.BTowerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 塔表 服务实现类
+ * </p>
+ *
+ * @author macro
+ * @since 2021-03-24
+ */
+@Service
+public class BTowerServiceImpl extends ServiceImpl<BTowerMapper, BTower> implements BTowerService {
+
+}

+ 1 - 1
src/main/resources/application-dev.yml

@@ -2,7 +2,7 @@ spring:
   datasource:
     url: jdbc:mysql://localhost:3306/power_system?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
     username: root
-    password: abc45628
+    password: root
   redis:
     host: localhost # Redis服务器地址
     database: 0 # Redis数据库索引(默认为0)

+ 1 - 1
src/main/resources/application-prod.yml

@@ -2,7 +2,7 @@ spring:
   datasource:
     url: jdbc:mysql://localhost:3306/power_system?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
     username: root
-    password: abc45628
+    password: root
   redis:
     host: localhost # Redis服务器地址
     database: 0 # Redis数据库索引(默认为0)

+ 1 - 0
src/main/resources/application.yml

@@ -28,6 +28,7 @@ redis:
     admin: 'ums:admin'
     resourceList: 'ums:resourceList'
     provinceList: 'business:provinceList'
+    lineList: 'business:lineList'
   expire:
     common: 86400 # 24小时
 

+ 1 - 1
src/main/resources/generator.properties

@@ -1,5 +1,5 @@
 dataSource.url=jdbc:mysql://localhost:3306/power_system?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
 dataSource.driverName=com.mysql.cj.jdbc.Driver
 dataSource.username=root
-dataSource.password=abc45628
+dataSource.password=root
 package.base=com.macro.mall.tiny.modules

+ 46 - 0
src/main/resources/mapper/business/BLineMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.macro.mall.tiny.modules.business.mapper.BLineMapper">
+
+    <select id="findListMulti" resultMap="BaseResultMap">
+        SELECT l.id,
+               l.name,
+               t.id            t_id,
+               t.name          t_name,
+               t.shape         t_shape,
+               t.hardware_type t_hardware_type,
+               t.line_id       t_line_id
+        FROM b_line l
+                 LEFT JOIN b_tower t ON l.id = t.line_id;
+    </select>
+
+    <select id="findListByKey" resultMap="BaseResultMap" parameterType="string">
+        SELECT l.id,
+               l.name,
+               t.id            t_id,
+               t.name          t_name,
+               t.shape         t_shape,
+               t.hardware_type t_hardware_type,
+               t.line_id       t_line_id
+        FROM b_line l
+                 LEFT JOIN b_tower t ON l.id = t.line_id
+                 LEFT JOIN b_province p on l.province_id = p.id
+        WHERE l.name like concat('%', #{key}, '%')
+           OR p.province like concat('%', #{key}, '%');
+    </select>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.macro.mall.tiny.modules.business.model.BLine">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="province_id" property="provinceId"/>
+        <collection property="towerList" ofType="com.macro.mall.tiny.modules.business.model.BTower" column="id">
+            <id column="t_id" property="id"/>
+            <result column="t_name" property="name"/>
+            <result column="t_shape" property="shape"/>
+            <result column="t_hardware_type" property="hardwareType"/>
+            <result column="t_line_id" property="lineId"/>
+        </collection>
+    </resultMap>
+
+</mapper>

+ 14 - 0
src/main/resources/mapper/business/BTowerMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.macro.mall.tiny.modules.business.mapper.BTowerMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.macro.mall.tiny.modules.business.model.BTower">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="shape" property="shape" />
+        <result column="hardware_type" property="hardwareType" />
+        <result column="line_id" property="lineId" />
+    </resultMap>
+
+</mapper>