package com.persagy.proxy.object.controller; import cn.hutool.core.collection.CollUtil; import com.persagy.proxy.adm.request.AdmCreateRequest; import com.persagy.proxy.adm.request.AdmCreateResponse; import com.persagy.proxy.adm.request.AdmQueryCriteria; import com.persagy.proxy.adm.request.AdmResponse; import com.persagy.proxy.adm.utils.AdmContextUtil; import com.persagy.proxy.common.entity.InstanceUrlParam; import com.persagy.proxy.object.model.AdmDoor; import com.persagy.proxy.object.service.IAdmDoorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * ADM 门 API * @author xujiaheng * @date 2021-09-06 */ @RestController @RequestMapping("/object/door") public class AdmDoorController { @Autowired private IAdmDoorService service; /** * 创建 * @param createRequest * @return * @throws Exception */ @PostMapping("/create") public AdmCreateResponse create(@RequestBody AdmCreateRequest createRequest) throws Exception { // 组装上下文条件 List vos = CollUtil.newArrayList(createRequest.getContent()); vos = service.doInsert(AdmContextUtil.toDmpContext(), AdmDoor.class, vos); return AdmCreateResponse.success(vos); } /** * 创建(主键重复则忽略) * @param createRequest * @return * @throws Exception */ @PostMapping("/create_ignore") public AdmResponse createIgnore(@RequestBody AdmCreateRequest createRequest) throws Exception { // 组装上下文条件 InstanceUrlParam context = AdmContextUtil.toDmpContext(); createRequest.getContent().forEach(request->{ //TODO }); return AdmResponse.success(); } /** * 根据ID删除 * @param vos * @return * @throws Exception */ @PostMapping("/delete") public AdmResponse delete(@RequestBody List vos) throws Exception { // 组装上下文条件 service.doDelete(AdmContextUtil.toDmpContext(), vos); return AdmResponse.success(); } /** * 更新 * @param createRequest * @return * @throws Exception */ @PostMapping("/update") public AdmResponse update(@RequestBody AdmCreateRequest createRequest) throws Exception { List vos = CollUtil.newArrayList(createRequest.getContent()); vos = service.doUpdate(AdmContextUtil.toDmpContext(), AdmDoor.class, vos); return AdmResponse.success(vos); } /** * 查询 * @param request * @return * @throws Exception */ @PostMapping("/query") public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception { request.setName("equipment"); request.setFilters("classCode = 'CFBEDR'"); return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmDoor.class); } /** * 统计 * @param request * @return * @throws Exception */ @PostMapping("/count") public AdmResponse count(@RequestBody AdmQueryCriteria request) throws Exception { request.setName("equipment"); request.setOnlyCount(true); return service.doQuery(AdmContextUtil.toDmpContext(), request, AdmDoor.class); } }