Commit 5ff0c145 by 阳浪

门户搜素接口

parent 99b75835
package com.yizhi.application.protal.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.plugins.Page;
import com.google.common.collect.Lists;
import com.yizhi.application.Certificate.CertificateUtills.PushCertificateUtil;
import com.yizhi.application.protal.constant.SiteEnum;
import com.yizhi.application.protal.constant.TerminalEnum;
......@@ -32,6 +35,7 @@ import com.yizhi.site.application.feign.api.PortalApiFeignClients;
import com.yizhi.site.application.feign.api.PortalBlockFeignClients;
import com.yizhi.site.application.vo.domain.*;
import com.yizhi.site.application.vo.site.*;
import com.yizhi.system.application.feign.DictionaryFeignClients;
import com.yizhi.system.application.system.remote.CompanyClient;
import com.yizhi.system.application.system.remote.OrganizationClient;
import com.yizhi.system.application.system.remote.SiteClient;
......@@ -61,6 +65,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.stream.Collectors;
@Api(tags = "门户学员端接口", description = "门户学员端接口")
@RestController
......@@ -110,6 +115,9 @@ public class PortalApiController {
@Autowired
private InformationManageFeignClients informationManageFeignClients;
@Autowired
private DictionaryFeignClients dictionaryFeignClients;
@ApiOperation(value = "获取登陆页面", notes = "获取登陆页面", response = PortalHomeOtherVO.class)
@GetMapping("/public/login/view")
public Response<String> loginPageView(@ApiParam(name = "companyCode", value = "公司编码", required = true) String companyCode,
......@@ -206,13 +214,58 @@ public class PortalApiController {
siteComponyIdVO.setCreateByName(ContextHolder.get().getAccountName());
siteComponyIdVO.setOrgId(ContextHolder.get().getOrgId());
siteComponyIdVO.setSiteId(ContextHolder.get().getSiteId());
siteComponyIdVO.setBannerName(searchName);
PortalHomeSearchOtherVO vo = new PortalHomeSearchOtherVO();
List<ClassificationVO> classificationVOList = classifyManageFeignClients.getClassification(siteComponyIdVO);
List<InformationVo> informationVoList = informationManageFeignClients.listbyName(searchName,ContextHolder.get().getSiteId());
vo.setClassificationVOList(classificationVOList);
vo.setInformationVoList(informationVoList);
return Response.ok(vo);
if(CollectionUtil.isNotEmpty(informationVoList)&&CollectionUtil.isNotEmpty(classificationVOList)){
List<Long> classNameList = informationVoList.stream().map(InformationVo::getTypeOne).collect(Collectors.toList());
vo.setClassificationVOList(classificationVOList.stream().filter(c->classNameList.contains(c.getId())).collect(Collectors.toList()));
vo.getClassificationVOList().stream().forEach(classificationVO -> {
classificationVO.getData().forEach(typeTwo->{
typeTwo.setInformationVoList(informationVoList.stream().filter(informationVo -> Objects.equals(informationVo.getTypeTwo(),typeTwo.getId())).collect(Collectors.toList()));
});
});
classificationVOList = classificationVOList.stream().filter(c->!classNameList.contains(c.getId())).collect(Collectors.toList());
}
RequestContext context = ContextHolder.get();
List<ClassificationVO> classificationVONewList = Lists.newArrayList();
if(CollectionUtil.isNotEmpty(classificationVOList)){
classificationVOList.stream().forEach(classificationVO -> {
classificationVO.getData().forEach(typeTwo->{
if(typeTwo.getName().indexOf(searchName)>=0){
InfomationParamReleaseVO releaseVO =new InfomationParamReleaseVO();
releaseVO.setCompanyCode(context.getCompanyCode());
releaseVO.setCompanyId(context.getCompanyId());
releaseVO.setSiteCode(context.getSiteCode());
releaseVO.setSiteId(context.getSiteId());
releaseVO.setAccountId(context.getAccountId());
releaseVO.setAdmin(context.isAdmin());
releaseVO.setOrgId(context.getOrgId());
releaseVO.setOrgIds(context.getOrgIds());
releaseVO.setOrgName(context.getOrgName());
releaseVO.setTypeId(classificationVO.getId());
releaseVO.setTypeTwoId(typeTwo.getId());
Page<InformationVo> page = informationManageFeignClients.releaseList(releaseVO);
typeTwo.setInformationVoList(page!=null?page.getRecords():Lists.newArrayList());
ClassificationVO classification = new ClassificationVO();
BeanUtil.copyProperties(classificationVO,classification);
if(CollectionUtil.isNotEmpty(classificationVONewList)){
Optional<ClassificationVO> optionalClassificationVO = classificationVONewList.stream().filter(c->Objects.equals(c.getId(),classificationVO.getId())).findFirst();
if(optionalClassificationVO!=null&&optionalClassificationVO.isPresent()){
classification = optionalClassificationVO.get();
if(CollectionUtil.isEmpty(vo.getClassificationVOList())){
vo.setClassificationVOList(Lists.newArrayList());
}
vo.getClassificationVOList().add(classification);
}
}
}
});
});
}
dictionaryFeignClients.insertBySearchName(searchName);
return Response.ok(vo);
} catch (Exception e) {
LOG.error("首页搜索接口:", e);
return Response.fail(ReturnCode.SERVICE_UNAVAILABLE.getCode(),ReturnCode.SERVICE_UNAVAILABLE.getMsg());
......
package com.yizhi.application.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* com.yizhi.application.vo
*
* @author yanglang
* @create 2024-12-20 15:57:43
*/
@Data
public class DictionaryVO {
/**
* 主键id
*/
@ApiModelProperty(notes = "主键id")
private Long id;
/**
* 字典code
*/
@ApiModelProperty(notes = "字典code")
private String code;
/**
* 中文名称
*/
@ApiModelProperty(notes = "中文名称")
private String cnName;
/**
* 英文名称
*/
@ApiModelProperty(notes = "英文名称")
private String enName;
/**
* 字典取值
*/
@ApiModelProperty(notes = "字典取值")
private String value;
/**
* 根id(当前为顶层则为“0”)
*/
@ApiModelProperty(notes = "根id(当前为顶层则为“0”)")
private Long rootId;
/**
* 父字典的id(当前为顶层为“0”)
*/
@ApiModelProperty(notes = "父字典的id(当前为顶层为“0”)")
private Long parentId;
/**
* 节点层级(当前为顶层则为“0”)
*/
@ApiModelProperty(notes = "节点层级(当前为顶层则为“0”)")
private Integer layer;
/**
* 同层级排序(从1开始)
*/
@ApiModelProperty(notes = "同层级排序(从1开始)")
private Integer sort;
/**
* 字典描述
*/
@ApiModelProperty(notes = "字典描述")
private String description;
/**
* 是否可用:0:不可用,1:可用
*/
@ApiModelProperty(notes = "是否可用:0:不可用,1:可用")
private Boolean enabled;
/**
* 字典类型:0:系统字典,1:业务选项
*/
@ApiModelProperty(notes = "字典类型:0:系统字典,1:业务选项")
private Integer systemFlag;
/**
* 创建者id
*/
@ApiModelProperty(notes = "创建者id")
private Long createById;
/**
* 创建者名称
*/
@ApiModelProperty(notes = "创建者名称")
private String createByName;
/**
* 创建时间
*/
@ApiModelProperty(notes = "创建时间")
private Date createTime;
/**
* 更新者id
*/
@ApiModelProperty(notes = "更新者id")
private Long updateById;
/**
* 修改者名称
*/
@ApiModelProperty(notes = "修改者名称")
private String updateByName;
/**
* 修改时间
*/
@ApiModelProperty(notes = "修改时间")
private Date updateTime;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment