|  |  | 
 |  |  | package com.vincent.rsf.server.manager.controller; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONArray; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import com.vincent.rsf.framework.common.Cools; | 
 |  |  | import com.vincent.rsf.framework.common.R; | 
 |  |  | import com.vincent.rsf.framework.exception.CoolException; | 
 |  |  | import com.vincent.rsf.server.common.utils.ExcelUtil; | 
 |  |  | import com.vincent.rsf.server.common.annotation.OperationLog; | 
 |  |  | import com.vincent.rsf.server.common.domain.BaseParam; | 
 |  |  | import com.vincent.rsf.server.common.domain.KeyValVo; | 
 |  |  | import com.vincent.rsf.server.common.domain.PageParam; | 
 |  |  | import com.vincent.rsf.server.manager.controller.params.DeviceSiteParame; | 
 |  |  | import com.vincent.rsf.server.manager.entity.DeviceSite; | 
 |  |  | import com.vincent.rsf.server.manager.service.DeviceSiteService; | 
 |  |  | import com.vincent.rsf.server.system.controller.BaseController; | 
 |  |  | import io.swagger.annotations.Api; | 
 |  |  | import io.swagger.annotations.ApiOperation; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.security.access.prepost.PreAuthorize; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  | 
 |  |  | import java.util.*; | 
 |  |  |  | 
 |  |  | @RestController | 
 |  |  | @Api(tags = "站点管理") | 
 |  |  | public class DeviceSiteController extends BaseController { | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  | 
 |  |  |         BaseParam baseParam = buildParam(map, BaseParam.class); | 
 |  |  |         PageParam<DeviceSite, BaseParam> pageParam = new PageParam<>(baseParam, DeviceSite.class); | 
 |  |  |         return R.ok().add(deviceSiteService.page(pageParam, pageParam.buildWrapper(true))); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:deviceSite:list')") | 
 |  |  |     @PostMapping("/selectStaList/list") | 
 |  |  |     public R selectStaList(@RequestBody Map<String, Object> map) { | 
 |  |  |         List<String> longs = null; | 
 |  |  |         if (map.get("type") != null) { | 
 |  |  |             longs = JSONArray.parseArray(map.get("type").toString(), String.class); | 
 |  |  |             map.entrySet().removeIf(next -> next.getKey().equals("type")); | 
 |  |  |         } | 
 |  |  |         List<DeviceSite> list = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>().in(DeviceSite::getType, longs)); | 
 |  |  |         return R.ok().add(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:deviceSite:list')") | 
 |  |  | 
 |  |  |         ExcelUtil.build(ExcelUtil.create(deviceSiteService.list(), DeviceSite.class), response); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PreAuthorize("hasAuthority('manager:deviceSite:save')") | 
 |  |  |     @ApiOperation("站点初始化") | 
 |  |  |     @PostMapping("/deviceSite/init") | 
 |  |  |     public R initDeviceSite(@RequestBody DeviceSiteParame param) { | 
 |  |  |         if (Objects.isNull(param)) { | 
 |  |  |             throw new CoolException("参数不能为空!!"); | 
 |  |  |         } | 
 |  |  |         return R.ok(deviceSiteService.initSites(param)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |