Commit f57a5e50 authored by 张亚辉's avatar 张亚辉

Merge branch 'dev' of 47.100.44.39:zhoupeng/tamp_fund into dev

parents 50588c3f 51b203ef
...@@ -9,8 +9,23 @@ import com.tanpu.common.model.privatefund.resp.FundNavMessage; ...@@ -9,8 +9,23 @@ import com.tanpu.common.model.privatefund.resp.FundNavMessage;
import com.tanpu.common.model.product.req.NetReq; import com.tanpu.common.model.product.req.NetReq;
import com.tanpu.common.model.product.req.ProductInfoReq; import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; import com.tanpu.common.model.product.resp.BonusRatioVO;
import com.tanpu.common.model.product.resp.DynamicRetreatVO;
import com.tanpu.common.model.product.resp.FundCompanyVO;
import com.tanpu.common.model.product.resp.FundIndexBasicResp;
import com.tanpu.common.model.product.resp.FundInfoSimpleListResp;
import com.tanpu.common.model.product.resp.FundManagerVO;
import com.tanpu.common.model.product.resp.FundNoticeVO;
import com.tanpu.common.model.product.resp.FundRecordVO;
import com.tanpu.common.model.product.resp.FundSameResp;
import com.tanpu.common.model.product.resp.NetVO;
import com.tanpu.common.model.product.resp.ProductInfoVO;
import com.tanpu.common.model.product.resp.RiskRatingVO;
import com.tanpu.common.model.product.resp.TrackNetVO;
import com.tanpu.common.model.product.resp.TrackRecordVO;
import com.tanpu.common.model.product.resp.UnitNetVO;
import com.tanpu.common.model.tanpuroom.Type; import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.common.model.tanpuroom.resp.SysConstantVO;
import com.tanpu.common.resp.CommonResp; import com.tanpu.common.resp.CommonResp;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -204,6 +219,10 @@ public interface ProductApi { ...@@ -204,6 +219,10 @@ public interface ProductApi {
CommonResp<List<Type>> getFundLikeShortNameInfo(@Valid @NotEmpty(message = "产品名称不能为空") @RequestParam("productName") String productName, CommonResp<List<Type>> getFundLikeShortNameInfo(@Valid @NotEmpty(message = "产品名称不能为空") @RequestParam("productName") String productName,
Pageable page); Pageable page);
@ApiOperation("私募子策略列表")
@GetMapping("/private/substrategyList")
CommonResp<List<SysConstantVO>> getSubstrategyList();
//**********************************************************私有基金 end********************************************************** //**********************************************************私有基金 end**********************************************************
@ApiOperation("推荐基金 - 无净值基金") @ApiOperation("推荐基金 - 无净值基金")
@GetMapping("/noNetfund/query/samefund") @GetMapping("/noNetfund/query/samefund")
......
package com.tanpu.fund.config; package com.tanpu.fund.config;
import com.tanpu.common.auth.intercept.FaLoginIntercept; import com.tanpu.common.auth.intercept.FaLoginIntercept;
import com.tanpu.common.log.LoggingFilter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
...@@ -27,4 +30,15 @@ public class WebConfig implements WebMvcConfigurer { ...@@ -27,4 +30,15 @@ public class WebConfig implements WebMvcConfigurer {
log.info("添加拦截器FaLoginIntercept"); log.info("添加拦截器FaLoginIntercept");
registry.addInterceptor(faLoginIntercept).addPathPatterns("/**"); registry.addInterceptor(faLoginIntercept).addPathPatterns("/**");
} }
@Bean
public FilterRegistrationBean<LoggingFilter> logFilterRegistration() {
log.info("logFilter Registration");
FilterRegistrationBean<LoggingFilter> registration = new FilterRegistrationBean<>();
registration.setFilter(new LoggingFilter());
registration.addUrlPatterns("/*");
return registration;
}
} }
...@@ -13,12 +13,13 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; ...@@ -13,12 +13,13 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.context.environment.EnvironmentChangeEvent; import org.springframework.cloud.context.environment.EnvironmentChangeEvent;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.Set; import java.util.Set;
/*动态刷新日志参数配置*/ /*动态刷新日志参数配置*/
// @Component @Component
@Slf4j @Slf4j
@ConditionalOnProperty(PropertySourcesConstants.APOLLO_BOOTSTRAP_ENABLED) @ConditionalOnProperty(PropertySourcesConstants.APOLLO_BOOTSTRAP_ENABLED)
@AutoConfigureAfter(ApolloAutoConfiguration.class) @AutoConfigureAfter(ApolloAutoConfiguration.class)
......
...@@ -13,6 +13,7 @@ import com.tanpu.common.model.product.req.ProductInfoReq; ...@@ -13,6 +13,7 @@ import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; import com.tanpu.common.model.product.resp.*;
import com.tanpu.common.model.tanpuroom.Type; import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.common.model.tanpuroom.resp.SysConstantVO;
import com.tanpu.common.resp.CommonResp; import com.tanpu.common.resp.CommonResp;
import com.tanpu.fund.api.ProductApi; import com.tanpu.fund.api.ProductApi;
import com.tanpu.fund.feign.publicfund.FeignClientForPublicfund; import com.tanpu.fund.feign.publicfund.FeignClientForPublicfund;
...@@ -255,6 +256,11 @@ public class ProductController implements ProductApi { ...@@ -255,6 +256,11 @@ public class ProductController implements ProductApi {
return CommonResp.success(this.productService.getFundLikeShortName(productName, page)); return CommonResp.success(this.productService.getFundLikeShortName(productName, page));
} }
@Override
public CommonResp<List<SysConstantVO>> getSubstrategyList() {
return CommonResp.success(this.productPrivateService.getSubstrategyList());
}
@TanpuInterfaceLoginAuth @TanpuInterfaceLoginAuth
@Override @Override
public CommonResp<List<FundSameResp>> getNoNetfund(String fundId) { public CommonResp<List<FundSameResp>> getNoNetfund(String fundId) {
......
...@@ -7,6 +7,8 @@ import com.tanpu.common.model.product.req.ProductInfoReq; ...@@ -7,6 +7,8 @@ import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; import com.tanpu.common.model.product.resp.*;
import com.tanpu.common.model.tanpuroom.Type; import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.common.model.tanpuroom.resp.SysConstantVO;
import com.tanpu.common.resp.CommonResp;
import java.util.List; import java.util.List;
...@@ -37,7 +39,7 @@ public interface ProductPrivateService { ...@@ -37,7 +39,7 @@ public interface ProductPrivateService {
List<RiskRatingVO> getRiskRating(String id); List<RiskRatingVO> getRiskRating(String id);
List<FundManagerVO> getFundManager(String id,String ifaId); List<FundManagerVO> getFundManager(String id, String ifaId);
FundRecordVO getFundRecord(String id); FundRecordVO getFundRecord(String id);
...@@ -70,4 +72,6 @@ public interface ProductPrivateService { ...@@ -70,4 +72,6 @@ public interface ProductPrivateService {
List<FundSameResp> getRemmendPrivateFundList(); List<FundSameResp> getRemmendPrivateFundList();
List<Type> getSimplePrivateFundList(List<String> list); List<Type> getSimplePrivateFundList(List<String> list);
List<SysConstantVO> getSubstrategyList();
} }
...@@ -24,6 +24,9 @@ public class ProductForPcServiceImpl implements ProductForPcService { ...@@ -24,6 +24,9 @@ public class ProductForPcServiceImpl implements ProductForPcService {
@Override @Override
public List<Net> getFundNewnet(List<String> list) { public List<Net> getFundNewnet(List<String> list) {
if (CollectionUtils.isEmpty(list)) {
return new ArrayList<>();
}
List<FundNav> fundInfoNewNet = fundInfoCustomMapper.getFundInfoNewNet(list); List<FundNav> fundInfoNewNet = fundInfoCustomMapper.getFundInfoNewNet(list);
if (CollectionUtils.isNotEmpty(fundInfoNewNet)) { if (CollectionUtils.isNotEmpty(fundInfoNewNet)) {
return fundInfoNewNet.stream().map(item -> Net.builder() return fundInfoNewNet.stream().map(item -> Net.builder()
...@@ -38,6 +41,9 @@ public class ProductForPcServiceImpl implements ProductForPcService { ...@@ -38,6 +41,9 @@ public class ProductForPcServiceImpl implements ProductForPcService {
@Override @Override
public List<Net> getPrivatefundNewnet(List<String> list) { public List<Net> getPrivatefundNewnet(List<String> list) {
if (CollectionUtils.isEmpty(list)) {
return new ArrayList<>();
}
List<FundNav> fundInfoNewNet = fundInfoCustomMapper.getPrivateFundInfoNewNet(list); List<FundNav> fundInfoNewNet = fundInfoCustomMapper.getPrivateFundInfoNewNet(list);
if (CollectionUtils.isNotEmpty(fundInfoNewNet)) { if (CollectionUtils.isNotEmpty(fundInfoNewNet)) {
return fundInfoNewNet.stream().map(item -> Net.builder() return fundInfoNewNet.stream().map(item -> Net.builder()
......
...@@ -15,10 +15,14 @@ import com.tanpu.common.model.product.req.ProductInfoReq; ...@@ -15,10 +15,14 @@ import com.tanpu.common.model.product.req.ProductInfoReq;
import com.tanpu.common.model.product.req.ProductListReq; import com.tanpu.common.model.product.req.ProductListReq;
import com.tanpu.common.model.product.resp.*; import com.tanpu.common.model.product.resp.*;
import com.tanpu.common.model.tanpuroom.Type; import com.tanpu.common.model.tanpuroom.Type;
import com.tanpu.common.model.tanpuroom.resp.SysConstantVO;
import com.tanpu.common.model.user.resp.SysConstantResp;
import com.tanpu.common.resp.CommonResp;
import com.tanpu.common.utils.BigDecimalUtil; import com.tanpu.common.utils.BigDecimalUtil;
import com.tanpu.fund.entity.generator.*; import com.tanpu.fund.entity.generator.*;
import com.tanpu.fund.enums.ProTypeEnums; import com.tanpu.fund.enums.ProTypeEnums;
import com.tanpu.fund.feign.diagnose.FeignClientForDiagnose; import com.tanpu.fund.feign.diagnose.FeignClientForDiagnose;
import com.tanpu.fund.feign.user.FeignClientForFatools;
import com.tanpu.fund.mapper.generator.*; import com.tanpu.fund.mapper.generator.*;
import com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper; import com.tanpu.fund.mapper.generator.custom.FundInfoCustomMapper;
import com.tanpu.fund.service.ProductPrivateService; import com.tanpu.fund.service.ProductPrivateService;
...@@ -90,6 +94,9 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan ...@@ -90,6 +94,9 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan
@Resource @Resource
private FundInfoCustomMapper fundInfoCustomMapper; private FundInfoCustomMapper fundInfoCustomMapper;
@Resource
private FeignClientForFatools feignClientForFatools;
@Override @Override
public Page<ProductInfoVO> getProductList(ProductInfoReq req) { public Page<ProductInfoVO> getProductList(ProductInfoReq req) {
return null; return null;
...@@ -528,4 +535,23 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan ...@@ -528,4 +535,23 @@ public class ProductPrivateServiceImpl implements ProductPrivateService, Constan
public List<Type> getSimplePrivateFundList(List<String> list) { public List<Type> getSimplePrivateFundList(List<String> list) {
return fundInfoCustomMapper.getSimplePrivateFundList(list.stream().collect(Collectors.joining("','", "'", "'"))); return fundInfoCustomMapper.getSimplePrivateFundList(list.stream().collect(Collectors.joining("','", "'", "'")));
} }
@Override
public List<SysConstantVO> getSubstrategyList() {
// tampsubstrategy 私募基金子策略
CommonResp<List<SysConstantResp>> resp = feignClientForFatools.queryLabels("tampsubstrategy");
if (!resp.isSuccess() || CollectionUtils.isEmpty(resp.getAttributes())) {
return Lists.newArrayList();
}
// 排除白名单相关策略
List<String> excludeCodes = Lists.newArrayList("9010", "9020", "9030", "9040", "9050", "7030");
return resp.attributes.stream().sorted(Comparator.comparing(SysConstantResp::getConstantCode))
.filter(v -> !excludeCodes.contains(v.getConstantCode())).map(item -> {
SysConstantVO vo = new SysConstantVO();
vo.setConstantCode(item.getConstantCode());
vo.setConstantName(item.getConstantName());
vo.setConstantValue(item.getConstantValue());
return vo;
}).collect(Collectors.toList());
}
} }
...@@ -55,9 +55,7 @@ ...@@ -55,9 +55,7 @@
res.price_date as priceDate, res.price_date as priceDate,
res.nav as nav, res.nav as nav,
res.cumulative_nav as cumulativeNav, res.cumulative_nav as cumulativeNav,
res.cumulative_nav as cumulativeNavWithdrawal, res.cumulative_nav as cumulativeNavWithdrawal
res.ishigh_or_low as ishighOrLow,
res.tohigh_nav_ratio as tohighNavRatio
from from
(SELECT fund_id, max(price_date) as price_date FROM ifa_imported_fund_nav WHERE fund_id in (SELECT fund_id, max(price_date) as price_date FROM ifa_imported_fund_nav WHERE fund_id in
<foreach close=")" collection="list" item="fundId" open="(" separator=","> <foreach close=")" collection="list" item="fundId" open="(" separator=",">
......
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