package com.estate.expert.admin.controller.admin;
|
|
import com.estate.expert.admin.domain.business.client.ClientDto;
|
import com.estate.expert.admin.domain.business.client.clientparam.ClientParam;
|
import com.estate.expert.admin.domain.report.ReportTemplate;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.domain.common.request.BatchReq;
|
import com.estate.expert.admin.domain.common.request.PageReq;
|
import com.estate.expert.admin.domain.business.client.ClientType;
|
import com.estate.expert.admin.service.ClientParamService;
|
import com.estate.expert.admin.service.ClientService;
|
import com.estate.expert.admin.service.ReportTemplateService;
|
import com.estate.expert.common.domain.Session;
|
import com.estate.expert.common.rpc.Result;
|
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.annotation.Resource;
|
|
import java.util.List;
|
|
import static org.springframework.data.jpa.domain.AbstractPersistable_.id;
|
|
@Slf4j
|
@CrossOrigin
|
@Api(tags = "管理后台/客户清单")
|
@RequestMapping("/admin/client")
|
@RestController
|
@Validated
|
public class ClientController {
|
|
@Resource
|
private ClientService clientService;
|
|
@Resource
|
private ClientParamService clientParamService;
|
|
@ApiOperation(value = "委托方列表")
|
@PostMapping("/list")
|
public Result list(@ApiParam(value = "关键词") @RequestParam(value = "keyword", required = false) String keyword,
|
@ApiParam(value = "委托方类型") @RequestParam(value = "clientType", required = false) ClientType clientType,
|
@ApiParam(value = "创建者ID") @RequestParam(value = "creatorId", required = false) Integer creatorId,
|
@Validated @RequestBody PageReq pageReq) {
|
return Result.success(clientService.list(keyword, clientType, creatorId, pageReq));
|
}
|
|
@ApiOperation(value = "委托方添加")
|
@PostMapping("/add")
|
public Result add(@ApiParam(hidden = true) Session session,
|
@Validated @RequestBody ClientDto clientDto) {
|
clientService.add((User) session.getUser(), clientDto);
|
return Result.success();
|
}
|
|
@ApiOperation(value = "委托方修改")
|
@PostMapping("/edit")
|
public Result edit(@Validated @RequestBody ClientDto clientDto) {
|
clientService.edit(clientDto);
|
return Result.success();
|
}
|
|
@ApiOperation(value = "委托方批量删除")
|
@PostMapping("/batch/del")
|
public Result batchDel(@Validated @RequestBody BatchReq request) {
|
clientService.deleteAllById(request.getIds());
|
return Result.success();
|
}
|
|
|
@ApiOperation(value = "委托方设置参数")
|
@PostMapping("/setParam")
|
public Result setParam(@Validated @RequestBody ClientParam clientParam) {
|
clientParamService.saveOrUpdate(clientParam);
|
return Result.success();
|
}
|
|
@ApiOperation(value = "委托方获取模板",response = ReportTemplate.class)
|
@PostMapping("/getTemplate")
|
public Result getTemplate(@ApiParam(value = "模板类型0安全 1设备") @RequestParam(value = "type") Integer type) {
|
List<ReportTemplate> list = clientParamService.getTemplate(type);
|
return Result.success(list);
|
}
|
}
|