package com.vci.ubcs.omd.feign; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.omd.entity.RevisionRule; import com.vci.ubcs.omd.service.IRevisionRuleService; import com.vci.ubcs.omd.vo.RevisionRuleVO; import com.vci.ubcs.omd.wrapper.RevisionRuleWrapper; import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import com.vci.ubcs.starter.web.pagemodel.PageHelper; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springframework.cglib.beans.BeanMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.*; /** * Description: * * @author LiHang * @date 2023/5/22 */ @NonDS @ApiIgnore() @RestController @AllArgsConstructor public class RevisionRuleClient implements IRevisionRuleClient{ private final IRevisionRuleService service; /** * 获取版本规则详情信息 * * @param oid 主键 * @return 版本规则详情信息 */ @GetMapping(GET_DETAIL) @Override public R getDetail(String oid) { return R.data(RevisionRuleWrapper.build().entityVO(service.getOne(Wrappers.query().lambda().eq(RevisionRule::getOid,oid)))); } /** * 参照列表查询 * * @param baseQueryObject 查询条件 * @return 查询结果 */ @GetMapping(GET_REF_PAGE) @Override public R> getRefPage(BaseQueryObject baseQueryObject) { Map conditionMap = baseQueryObject.getConditionMap(); if (conditionMap == null){ conditionMap = new HashMap<>(); } Query query = new Query(); query.setSize(baseQueryObject.getLimit()); query.setCurrent(baseQueryObject.getPage()); Map condition = new HashMap<>(); BeanUtil.copy(conditionMap,condition); return R.data(service.pageQueryVO(condition,query)); } /** * 参照列表查询 * * @param baseQueryObject 查询条件 * @return 查询结果 */ @Override @GetMapping(GET_REF) public R> getRef(BaseQueryObject baseQueryObject) { RevisionRule query = new RevisionRule(); BeanMap.create(query).putAll(Optional.ofNullable(baseQueryObject.getConditionMap()).orElseGet(HashMap::new)); return R.data(RevisionRuleWrapper.build().listEntityVO(service.list(Condition.getQueryWrapper(query)))); } /** * 根据英文名称批量查询对象 * * @param ids 对象英文名称 但是不能超过1000 * @return 业务对象 */ @Override @GetMapping(GET_BY_IDS) public R> selectByIdCollection(List ids) { return R.data(service.listRevisionRuleByIdCollection(ids)); } /** * 批量根据主键获取版本规则 * * @param oidCollection 版本规则主键集合 * @return 版本规则列表,如果有不存在的不会返回,全部不存在的则返回空列表 */ @Override @GetMapping(GET_BY_OIDS) public R> listBtmTypeByOidCollection(Collection oidCollection) { return R.data(service.listRevisionRuleByOidCollection(oidCollection)); } }