- controller类
```java
package com.peppa.la.api.controller.smart.la.im;
import com.github.pagehelper.PageInfo;
import com.peppa.common.response.Response;
import com.peppa.core.util.ObjectConvertUtil;
import com.peppa.employee.intf.EmployeeFeign;
import com.peppa.employee.intf.vo.EmployeeVo;
import com.peppa.la.api.controller.smart.viewmodel.im.IdParamModel;
import com.peppa.la.api.controller.smart.viewmodel.im.ImWhiteListPageModel;
import com.peppa.la.api.login.ManageBaseController;
import com.peppa.la.framework.modify.ModelHelper;
import com.peppa.la.sentry.intf.feign.la.ImWhiteListFeign;
import com.peppa.la.sentry.intf.vo.la.AddLaWhiteListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.Min;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
-
@author Administrator
*/
@Slf4j
@RestController
@RequestMapping("/smart/la/im")
@Api(tags = “im白名单”)
@Validated
public class ImWhiteListController extends ManageBaseController {
@Autowired
private ImWhiteListFeign imWhiteListFeign;
@Autowired
private EmployeeFeign employeeFeign;/**
-
分页查询辅导老师白名单
-
@param pageSize 每页大小
-
@param pageNum 页码
-
@return 分页数据
*/
@GetMapping(“page”)
@ApiOperation(“分页查询im白名单辅导老师”)
Response<PageInfo> page(
@ApiParam(value = “pageSize”) @RequestParam(value = “pageSize”, defaultValue = “10”, required = false) @Min(1)
final Integer pageSize,
@ApiParam(value = “pageNum”) @RequestParam(value = “pageNum”, defaultValue = “1”, required = false) @Min(1)
final Integer pageNum) {
final PageInfo page = ObjectConvertUtil
.convertPageInfo(imWhiteListFeign.page(pageSize, pageNum).getData(), ImWhiteListPageModel.class);
final List ids =
page.getList().stream().map(ImWhiteListPageModel::getLaId).collect(Collectors.toList());final List employeeVoList = employeeFeign.listEmployeesByIds(ids).getData();
final Map<Integer, String> map =
employeeVoList.stream().collect(Collectors.toMap(EmployeeVo::getId, EmployeeVo::getName));
for (final ImWhiteListPageModel model : page.getList()) {
model.setLaName(map.get(model.getLaId()));
}
return success(page);
}
/**
- 添加辅导老师到白名单
- @param idParamModel 辅导老师id
- @return 影响行数
*/
@PostMapping(“addLaWhiteList”)
@ApiOperation(“添加辅导老师”)
Response addLaWhiteList(@RequestBody @Validated final IdParamModel idParamModel) {
final EmployeeVo employeeVo = getCurrentEmployee();
final AddLaWhiteListVo addLaWhiteListVo = new AddLaWhiteListVo();
addLaWhiteListVo.setLaId(idParamModel.getId());
ModelHelper.buildModify(addLaWhiteListVo, getModifyModel());
addLaWhiteListVo.setCreatedTime(new Date());
addLaWhiteListVo.setCreatorId(employeeVo.getId());
addLaWhiteListVo.setCreatorName(employeeVo.getName());
return imWhiteListFeign.addLaWhiteList(addLaWhiteListVo);
}
/**
- 从白名单中移除辅导老师
- @param idParamModel 辅导老师Id
- @return 影响行数
*/
@PostMapping(“removeLaWhiteList”)
@ApiOperation(“移除辅导老师”)
Response removeLaWhiteList(@RequestBody @Validated final IdParamModel idParamModel) {
return imWhiteListFeign.removeLaWhiteList(idParamModel.getId());
}
-
}
- pojo类
```java
package com.peppa.la.api.controller.smart.viewmodel.im;
import com.peppa.la.api.enums.ExpressHoursTempEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author zpf
*/
@Data
@ApiModel("id参数包装类")
public class IdParamModel {
@NotNull
@Min(1)
@ApiModelProperty(value = "id", required = true)
private Integer id;
@NotNull(message = "枚举参数不对")
@ApiModelProperty("枚举")
private ExpressHoursTempEnum anEnum;
}