Commit df829e20 authored by 刘基明's avatar 刘基明

讨论区产品

parent 9b60af56
...@@ -14,9 +14,12 @@ import lombok.NoArgsConstructor; ...@@ -14,9 +14,12 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
public class TopicAttachment { public class TopicAttachment {
@ApiModelProperty(value = " 88:产品 300:课程包 323: 线下活动 未定:资管人") @ApiModelProperty(value = " 88:产品 300:课程包 323:线下活动 90:资管人")
private String type; private String type;
@ApiModelProperty(value = "type=88时 ,0 公募,1 私募,2 白名单,3 私有")
private String subType;
@ApiModelProperty(value = "对象详情") @ApiModelProperty(value = "对象详情")
private TopicAttachmentDetail detail; private TopicAttachmentDetail detail;
......
package com.tanpu.community.api.beans.qo; package com.tanpu.community.api.beans.qo;
import com.tanpu.community.api.beans.resp.CoursePackageSimpleResp; import com.tanpu.community.api.beans.resp.CoursePackageSimpleResp;
import com.tanpu.community.api.beans.resp.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.activity.OfflineActivitySimpleResp; import com.tanpu.community.api.beans.vo.feign.activity.OfflineActivitySimpleResp;
import com.tanpu.community.api.beans.vo.feign.product.FundInfoBaseResp; import com.tanpu.community.api.beans.vo.feign.product.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -19,7 +19,7 @@ import lombok.NoArgsConstructor; ...@@ -19,7 +19,7 @@ import lombok.NoArgsConstructor;
public class TopicAttachmentDetail { public class TopicAttachmentDetail {
@ApiModelProperty("产品信息") @ApiModelProperty("产品信息")
private FundInfoBaseResp product; private ProductInfoVO fund;
@ApiModelProperty("新版课程") @ApiModelProperty("新版课程")
private CoursePackageSimpleResp coursePackage; private CoursePackageSimpleResp coursePackage;
@ApiModelProperty("线下活动") @ApiModelProperty("线下活动")
......
package com.tanpu.community.api.beans.vo.feign;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
/**
* @author: zhoupeng
* @email: zhoupeng_08@163.com
*/
@ApiModel("净值")
@Data
@Builder
@AllArgsConstructor
public class Net {
@ApiModelProperty("基金ID")
private String fundId;
@ApiModelProperty("净值日期 返回时间戳")
private Long netDate;
@ApiModelProperty("单位净值")
private String netValue;
@ApiModelProperty("累计净值(分红再投)")
private String cumulativeNav;
public Net() {
}
public Net(Long netDate, String netValue, String cumulativeNav) {
this.netDate = netDate;
this.netValue = netValue;
this.cumulativeNav = cumulativeNav;
}
}
package com.tanpu.community.api.beans.vo.feign.product;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author: zhoupeng
* @email: zhoupeng_08@163.com
*/
@ApiModel("栏目信息")
@Data
public class ColumnVO {
@ApiModelProperty("栏目id")
private String id;
@ApiModelProperty("名称")
private String title;
}
package com.tanpu.community.api.beans.resp; package com.tanpu.community.api.beans.vo.feign.product;
import com.tanpu.community.api.beans.vo.feign.product.Net;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
......
package com.tanpu.community.api.beans.vo.feign.product;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author: zyh
* @date: 2021-08-02 1:58 下午
* @description: 通用组装类
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LabelValVo {
private String label;
private String value;
}
package com.tanpu.community.api.beans.resp; package com.tanpu.community.api.beans.vo.feign.product;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
......
package com.tanpu.community.api.beans.vo.feign.product;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@ApiModel("类型")
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class Type {
@ApiModelProperty("类型id")
private String id;
@ApiModelProperty("类型value")
private String value;
@ApiModelProperty(value = "标签名称", notes = "获客线索用")
private String labelName;
@ApiModelProperty("资源数量")
private Integer resourceNum;
@ApiModelProperty("扩展字段")
private String ext;
@ApiModelProperty("产品名称")
private String productName;
@ApiModelProperty("基金代码")
private String fundCode;
@ApiModelProperty("基金类型")
private Integer fundType;
@ApiModelProperty("近一年收益")
private String ret1y;
@ApiModelProperty("最新净值")
private String net;
@ApiModelProperty("最新净值日期")
private String netDate;
}
package com.tanpu.community.feign.product; package com.tanpu.community.feign.product;
import com.tanpu.common.api.CommonResp; import com.tanpu.common.api.CommonResp;
import com.tanpu.community.api.beans.resp.FundCompanyVO; import com.tanpu.community.api.beans.vo.feign.product.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.fund.FundCompanySimpleVO; import com.tanpu.community.api.beans.vo.feign.fund.FundCompanySimpleVO;
import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO; import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO;
import feign.hystrix.FallbackFactory; import feign.hystrix.FallbackFactory;
......
package com.tanpu.community.feign.product; package com.tanpu.community.feign.product;
import com.tanpu.common.api.CommonResp; import com.tanpu.common.api.CommonResp;
import com.tanpu.community.api.beans.resp.FundCompanyVO; import com.tanpu.community.api.beans.vo.feign.product.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.fund.FundCompanySimpleVO; import com.tanpu.community.api.beans.vo.feign.fund.FundCompanySimpleVO;
import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO; import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -16,12 +16,12 @@ import java.util.List; ...@@ -16,12 +16,12 @@ import java.util.List;
//@FeignClient(value = "service-product", contextId = "product", fallbackFactory = FeignBackClientForProducts.class, url = "http://172.20.0.68:8194/product") //@FeignClient(value = "service-product", contextId = "product", fallbackFactory = FeignBackClientForProducts.class, url = "http://172.20.0.68:8194/product")
public interface FeignClientForProducts { public interface FeignClientForProducts {
@ApiOperation("获取产品详情") @ApiOperation("获取私募产品详情")
@GetMapping("/product/detail") @GetMapping("/product/detail")
CommonResp<ProductInfoVO> getProductDetailInfo(@ApiParam("产品id") @RequestParam("id") String id); CommonResp<ProductInfoVO> getProductDetailInfo(@ApiParam("产品id") @RequestParam("id") String id);
@ApiOperation("根据id查询列表") @ApiOperation("批量获取私募产品详情")
@GetMapping("/getProductInfoByIds") @GetMapping("/getProductInfoByIds")
CommonResp<List<ProductInfoVO>> getProductInfoByIds(@ApiParam("产品id") @RequestParam("fundIds") List<String> fundIds); CommonResp<List<ProductInfoVO>> getProductInfoByIds(@ApiParam("产品id") @RequestParam("fundIds") List<String> fundIds);
......
...@@ -15,7 +15,7 @@ import java.util.List; ...@@ -15,7 +15,7 @@ import java.util.List;
//@FeignClient(value = "service-fundpublic",path = "/fundpublic") //@FeignClient(value = "service-fundpublic",path = "/fundpublic")
public interface FeignForPublicFund { public interface FeignForPublicFund {
@ApiOperation("获取产品详情") @ApiOperation("获取公募产品详情")
@GetMapping("/product/list") @GetMapping("/product/list")
CommonResp<List<ProductInfoVO>> getProductList(@ApiParam("产品id") @RequestParam("ids") List<String> ids); CommonResp<List<ProductInfoVO>> getProductList(@ApiParam("产品id") @RequestParam("ids") List<String> ids);
......
...@@ -3,11 +3,11 @@ package com.tanpu.community.service; ...@@ -3,11 +3,11 @@ package com.tanpu.community.service;
import com.tanpu.common.api.CommonResp; import com.tanpu.common.api.CommonResp;
import com.tanpu.common.exception.BizException; import com.tanpu.common.exception.BizException;
import com.tanpu.community.api.beans.resp.CoursePackageSimpleResp; import com.tanpu.community.api.beans.resp.CoursePackageSimpleResp;
import com.tanpu.community.api.beans.resp.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.activity.OfflineActivitySimpleResp; import com.tanpu.community.api.beans.vo.feign.activity.OfflineActivitySimpleResp;
import com.tanpu.community.api.beans.vo.feign.course.CourseSimpleResp; import com.tanpu.community.api.beans.vo.feign.course.CourseSimpleResp;
import com.tanpu.community.api.beans.vo.feign.course.ShortVideoBaseInfoResp; import com.tanpu.community.api.beans.vo.feign.course.ShortVideoBaseInfoResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp;
import com.tanpu.community.api.beans.vo.feign.product.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO; import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO;
import com.tanpu.community.api.beans.vo.feign.zhibo.ZhiboListResp; import com.tanpu.community.api.beans.vo.feign.zhibo.ZhiboListResp;
import com.tanpu.community.cache.LocalCache; import com.tanpu.community.cache.LocalCache;
......
...@@ -2,6 +2,7 @@ package com.tanpu.community.service; ...@@ -2,6 +2,7 @@ package com.tanpu.community.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tanpu.biz.common.enums.RelTypeEnum; import com.tanpu.biz.common.enums.RelTypeEnum;
import com.tanpu.common.enums.fund.ProductTypeEnum;
import com.tanpu.community.api.beans.qo.ThemeQo; import com.tanpu.community.api.beans.qo.ThemeQo;
import com.tanpu.community.api.beans.qo.TopicAttachment; import com.tanpu.community.api.beans.qo.TopicAttachment;
import com.tanpu.community.api.beans.qo.TopicAttachmentDetail; import com.tanpu.community.api.beans.qo.TopicAttachmentDetail;
...@@ -9,9 +10,10 @@ import com.tanpu.community.api.beans.qo.TopicFollowQo; ...@@ -9,9 +10,10 @@ import com.tanpu.community.api.beans.qo.TopicFollowQo;
import com.tanpu.community.api.beans.qo.TopicPageDetailQo; import com.tanpu.community.api.beans.qo.TopicPageDetailQo;
import com.tanpu.community.api.beans.qo.TopicRankQo; import com.tanpu.community.api.beans.qo.TopicRankQo;
import com.tanpu.community.api.beans.resp.CoursePackageSimpleResp; import com.tanpu.community.api.beans.resp.CoursePackageSimpleResp;
import com.tanpu.community.api.beans.resp.FundCompanyVO; import com.tanpu.community.api.beans.vo.feign.product.FundCompanyVO;
import com.tanpu.community.api.beans.vo.feign.activity.OfflineActivitySimpleResp; import com.tanpu.community.api.beans.vo.feign.activity.OfflineActivitySimpleResp;
import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp; import com.tanpu.community.api.beans.vo.feign.fatools.UserInfoResp;
import com.tanpu.community.api.beans.vo.feign.product.ProductInfoVO;
import com.tanpu.community.api.enums.DeleteTagEnum; import com.tanpu.community.api.enums.DeleteTagEnum;
import com.tanpu.community.api.enums.StatusEnum; import com.tanpu.community.api.enums.StatusEnum;
import com.tanpu.community.api.enums.TopicSpecialPermissionEnum; import com.tanpu.community.api.enums.TopicSpecialPermissionEnum;
...@@ -32,6 +34,7 @@ import org.springframework.stereotype.Service; ...@@ -32,6 +34,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -184,8 +187,18 @@ public class TopicService { ...@@ -184,8 +187,18 @@ public class TopicService {
for (TopicSubjectEntity entity : topicSubjectEntities) { for (TopicSubjectEntity entity : topicSubjectEntities) {
if (RelTypeEnum.FUND.type.equals(entity.getSubjectType().toString())) { if (RelTypeEnum.FUND.type.equals(entity.getSubjectType().toString())) {
List<ProductInfoVO> fund = Collections.emptyList();
// 基金 // 基金
TopicAttachment attach = TopicAttachment.builder().type(RelTypeEnum.FUND.type).detail(null).build(); if (entity.getSubjectSubType() == ProductTypeEnum.PRIVATE.type || entity.getSubjectSubType() == ProductTypeEnum.TAMP.type) {
fund = feignService.getProductInfoByIds(Collections.singletonList(entity.getSubjectId()));
} else if (entity.getSubjectSubType() == ProductTypeEnum.PUBLIC.type) {
fund = feignService.getPublicFundList(Collections.singletonList(entity.getSubjectId()));
} else {
fund = Arrays.asList(new ProductInfoVO());
}
TopicAttachment attach = TopicAttachment.builder().type(RelTypeEnum.FUND_COMPANY.type)
.subType(String.valueOf(entity.getSubjectSubType()))
.detail(TopicAttachmentDetail.builder().fund(fund.get(0)).build()).build();
attachements.add(attach); attachements.add(attach);
} else if (RelTypeEnum.FUND_COMPANY.type.equals(entity.getSubjectType().toString())) { } else if (RelTypeEnum.FUND_COMPANY.type.equals(entity.getSubjectType().toString())) {
// 资管人 // 资管人
......
...@@ -124,6 +124,8 @@ tanpu: ...@@ -124,6 +124,8 @@ tanpu:
svc: https://testtamper.tanpuyun.com svc: https://testtamper.tanpuyun.com
diagnose: diagnose:
svc: https://testtamper.tanpuyun.com svc: https://testtamper.tanpuyun.com
fundpublic:
svc: https://testtamper.tanpuyun.com
#打印SQL语句 #打印SQL语句
logging: logging:
......
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