소스 검색

Merge remote-tracking branch 'origin/test' into test

李进 1 년 전
부모
커밋
06edee7057

+ 8 - 0
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceController.java

@@ -83,6 +83,14 @@ public class MercMiniDeviceController {
     private final DeviceTempSetServiceImpl deviceTempSetService;
 
 
+    @ApiOperation("设备分页-管理员")
+    @PostMapping("pageByAdminName")
+    public R<PageBean<DeviceInfoDto.ListByAdminName>> pageByAdminName(@RequestBody @Validated DeviceInfoDto.PageByAdminNameDto dto) {
+        dto.setMercId(MercAuthUtils.getMercId());
+        return deviceInfoService.pageByAdminName(dto);
+    }
+
+
     @ApiOperation("商户设备列表分页-穿梭框用")
     @PostMapping("myDeviceList")
     public R<PageBean<DeviceInfoDto.MyDeviceInfo>> myDeviceList(@RequestBody @Validated DeviceInfoDto.MyDeviceDTO dto) {

+ 3 - 1
device-api-service/src/main/java/com/xy/mapper/DeviceInfoMapper.java

@@ -40,5 +40,7 @@ public interface DeviceInfoMapper extends BaseMapper<DeviceInfo> {
 
     List<DeviceInfoDto.PlaceDeviceNumVo> placeDeviceNum(@Param("dto") DeviceInfoDto.PlaceDeviceNumDto dto);
 
-    List<DeviceInfoDto.GroupByAdminName> groupByAdminName(@Param("dto") DeviceInfoDto.GroupByAdminNameDto dto);
+    List<DeviceInfoDto.ListByAdminName> listByAdminName(@Param("dto") DeviceInfoDto.GroupByAdminNameDto dto);
+
+    IPage<DeviceInfoDto.ListByAdminName> pageByAdminName(IPage page,@Param("dto") DeviceInfoDto.GroupByAdminNameDto dto);
 }

+ 33 - 5
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -109,10 +109,10 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
     private final MercPlaceService mercPlaceService;
 
     @Override
-    @ApiOperation("设备按管理员分组")
-    public R<List<DeviceInfoDto.GroupByAdminNameVo>> groupByAdminName(@RequestBody @Validated DeviceInfoDto.GroupByAdminNameDto dto) {
+    @ApiOperation("设备列表-管理员")
+    public R<List<DeviceInfoDto.ListByAdminName>> listByAdminName(@RequestBody @Validated DeviceInfoDto.GroupByAdminNameDto dto) {
         String noAdmin = "未分配管理员";
-        List<DeviceInfoDto.GroupByAdminName> deviceInfoList = baseMapper.groupByAdminName(dto);
+        List<DeviceInfoDto.ListByAdminName> deviceInfoList = baseMapper.listByAdminName(dto);
         deviceInfoList.forEach(i->{
             SysDictRedis dictDeviceType = SysDictUtils.get(DictConsts.DEVICE_TYPE, String.valueOf(i.getDeviceType()));
             i.setDeviceTypeName(dictDeviceType.getMsg());
@@ -123,8 +123,36 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
 
         //没有管理员的的设置默认值
         deviceInfoList.stream().filter(s -> s.getAdminName() == null).forEach(s -> s.setAdminName(noAdmin));
+        return R.ok(deviceInfoList);
+    }
+
+    //@Override
+    @ApiOperation("设备分页-管理员")
+    @PostMapping("pageByAdminName")
+    public R<PageBean<DeviceInfoDto.ListByAdminName>> pageByAdminName(@RequestBody @Validated DeviceInfoDto.PageByAdminNameDto dto) {
+        PageBean page = dto.getPage();
+        String noAdmin = "未分配管理员";
+        IPage<DeviceInfoDto.ListByAdminName> deviceInfoList = baseMapper.pageByAdminName(toIPage(page), dto);
+        deviceInfoList.getRecords().forEach(i->{
+            SysDictRedis dictDeviceType = SysDictUtils.get(DictConsts.DEVICE_TYPE, String.valueOf(i.getDeviceType()));
+            i.setDeviceTypeName(dictDeviceType.getMsg());
+            if(!Emptys.check(i.getDeviceName())){
+                i.setDeviceName("");
+            }
+        });
+
+        //没有管理员的的设置默认值
+        deviceInfoList.getRecords().stream().filter(s -> s.getAdminName() == null).forEach(s -> s.setAdminName(noAdmin));
+        return R.ok(toPageBean(DeviceInfoDto.ListByAdminName.class,deviceInfoList));
+    }
+
+    @Override
+    @ApiOperation("设备分组-管理员")
+    public R<List<DeviceInfoDto.GroupByAdminNameVo>> groupByAdminName(@RequestBody @Validated DeviceInfoDto.GroupByAdminNameDto dto) {
+        String noAdmin = "未分配管理员";
+        List<DeviceInfoDto.ListByAdminName> deviceInfoList = listByAdminName(dto).getData();
         //根据管理员名字分组
-        Map<String, List<DeviceInfoDto.GroupByAdminName>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfoDto.GroupByAdminName::getAdminName));
+        Map<String, List<DeviceInfoDto.ListByAdminName>> deviceMap = deviceInfoList.stream().collect(Collectors.groupingBy(DeviceInfoDto.ListByAdminName::getAdminName));
         List<DeviceInfoDto.GroupByAdminNameVo> list = new ArrayList<>();
         //不包含未分配管理员的
         deviceMap.forEach(
@@ -139,7 +167,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
                 }
         );
         //包含分配管理员的
-        List<DeviceInfoDto.GroupByAdminName> noAdminNamesList = deviceMap.get(noAdmin);
+        List<DeviceInfoDto.ListByAdminName> noAdminNamesList = deviceMap.get(noAdmin);
         if(Emptys.check(noAdminNamesList)){
             DeviceInfoDto.GroupByAdminNameVo vo = new DeviceInfoDto.GroupByAdminNameVo();
             vo.setAdminName(noAdmin)

+ 22 - 1
device-api-service/src/main/resources/mapper/DeviceInfoMapper.xml

@@ -94,7 +94,7 @@
         </association>
     </resultMap>
 
-    <select id="groupByAdminName" resultType="com.xy.dto.DeviceInfoDto$GroupByAdminName">
+    <select id="listByAdminName" resultType="com.xy.dto.DeviceInfoDto$ListByAdminName">
         SELECT d.device_id, d.device_name, p.admin_name, d.device_type
         FROM device_info d
                  left join merc_place p on p.id = d.place_id
@@ -112,6 +112,27 @@
                 </if>
             </where>
     </select>
+
+    <select id="pageByAdminName" resultType="com.xy.dto.DeviceInfoDto$ListByAdminName">
+        SELECT d.device_id, d.device_name, p.admin_name, d.device_type
+        FROM device_info d
+        left join merc_place p on p.id = d.place_id
+        <where>
+            and d.merc_id = #{dto.mercId}
+            and d.active_state = 1
+            <if test="dto.deviceIdList != null and dto.deviceIdList.size > 0">
+                and device_id in
+                <foreach collection="dto.deviceIdList" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="dto.searchKey != null and dto.searchKey != ''">
+                and CONCAT(IFNULL(d.device_name, ''), IFNULL(p.admin_name, '')) like CONCAT('%', #{dto.searchKey}, '%')
+            </if>
+        </where>
+        order by p.admin_name asc,d.device_id desc
+    </select>
+
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="queryPageMap">
         select info.*,

+ 17 - 8
device-api/src/main/java/com/xy/dto/DeviceInfoDto.java

@@ -24,11 +24,10 @@ import java.util.List;
 
 @Data
 @Accessors(chain = true)
-public class DeviceInfoDto {
-    /**
-     * 删除线路\点位时时指定 传入 wherePlaceLineId\wherePlaceId
-     */
-    public final static String DEL = "del";
+public class DeviceInfoDto {/**
+ * 删除线路\点位时时指定 传入 wherePlaceLineId\wherePlaceId
+ */
+public final static String DEL = "del";
     /**
      * 更新线\点位时指定 传入 deviceIds、placeLineId\placeId
      */
@@ -38,10 +37,18 @@ public class DeviceInfoDto {
      */
     public final static String CLEAR = "clear";
 
+
+    @Data
+    @Accessors(chain = true)
+    public static class PageByAdminNameDto extends GroupByAdminNameDto {
+        @NotNull(message = "分页信息不能为空")
+        @ApiModelProperty(value = "商户ID",required = true)
+        private PageBean page;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class GroupByAdminNameDto {
-        @NotNull(message = "商户ID不能为空")
         @ApiModelProperty(value = "商户ID",required = true)
         private Long mercId;
 
@@ -52,6 +59,8 @@ public class DeviceInfoDto {
         private String searchKey;
     }
 
+
+
     @Data
     @Accessors(chain = true)
     public static class GroupByAdminNameVo {
@@ -62,12 +71,12 @@ public class DeviceInfoDto {
         private Integer deviceNum;
 
         @ApiModelProperty(value = "列表设备信息")
-        private List<GroupByAdminName> deviceInfos;
+        private List<ListByAdminName> deviceInfos;
     }
 
     @Data
     @Accessors(chain = true)
-    public static class GroupByAdminName {
+    public static class ListByAdminName {
         @ApiModelProperty("设备ID")
         private Long deviceId;
 

+ 3 - 0
device-api/src/main/java/com/xy/service/DeviceInfoService.java

@@ -195,6 +195,9 @@ public interface DeviceInfoService {
     R<PageBean<DeviceInfoDto.AlgorithmChargingVo>> algorithmChargingDevice(@RequestBody @Validated DeviceInfoDto.AlgorithmCharging algorithmCharging);
 
 
+    @PostMapping("listByAdminName")
+    R<List<DeviceInfoDto.ListByAdminName>> listByAdminName(@RequestBody @Validated DeviceInfoDto.GroupByAdminNameDto dto);
+
     @PostMapping("groupByAdminName")
     R<List<DeviceInfoDto.GroupByAdminNameVo>> groupByAdminName(@RequestBody @Validated DeviceInfoDto.GroupByAdminNameDto dto);
 }