Commit 1dc15f97 authored by 李文彬's avatar 李文彬

Merge branch 'zj-6.6-2' into 'master'

Zj 6.6 2

See merge request !1
parents e31a8859 b1e9c89d
...@@ -20,17 +20,16 @@ import com.alibaba.druid.pool.DruidDataSource; ...@@ -20,17 +20,16 @@ import com.alibaba.druid.pool.DruidDataSource;
*/ */
@Configuration @Configuration
public class DataSourceConfig { public class DataSourceConfig {
@Value("${spring.datasource.primary.url}") @Value("${spring.datasource.primary.url}")
private String dbUrl; private String dbUrl;
@Value("${spring.datasource.primary.username}") @Value("${spring.datasource.primary.username}")
private String username; private String username;
@Value("${spring.datasource.primary.password}") @Value("${spring.datasource.primary.password}")
private String password; private String password;
@Value("${spring.datasource.primary.driver-class-name}") @Value("${spring.datasource.primary.driver-class-name}")
private String driverClassName; private String driverClassName;
@Value("${spring.datasource.initialSize}")
@Value("${spring.datasource.initialSize}")
private int initialSize; private int initialSize;
@Value("${spring.datasource.minIdle}") @Value("${spring.datasource.minIdle}")
private int minIdle; private int minIdle;
......
package com.quantgroup.asset.distribution.controller; package com.quantgroup.asset.distribution.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import com.quantgroup.asset.distribution.model.entity.fund.FundConfigCondition;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -18,6 +22,8 @@ import com.quantgroup.asset.distribution.util.fund.module.ChannelFundConfigUtil; ...@@ -18,6 +22,8 @@ import com.quantgroup.asset.distribution.util.fund.module.ChannelFundConfigUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.persistence.criteria.CriteriaBuilder;
/** /**
* 资方模块Controller * 资方模块Controller
* @author liwenbin * @author liwenbin
...@@ -55,7 +61,7 @@ public class FundModuleController { ...@@ -55,7 +61,7 @@ public class FundModuleController {
@RequestMapping("/get_channel_fund_configs") @RequestMapping("/get_channel_fund_configs")
public GlobalResponse getChannelFundConfigs(String bizChannel, Long fundId, Integer pageNum, Integer pageSize) { public GlobalResponse getChannelFundConfigs(String bizChannel, Long fundId, Integer pageNum, Integer pageSize) {
return getChannelFundsConfigCommon(bizChannel, fundId, pageNum, pageSize, 1); return getChannelFundsConfigCommon(bizChannel, fundId, pageNum, pageSize, 1,null);
} }
@RequestMapping("/get_audit_infos") @RequestMapping("/get_audit_infos")
...@@ -100,8 +106,8 @@ public class FundModuleController { ...@@ -100,8 +106,8 @@ public class FundModuleController {
} }
@RequestMapping("/get_channel_fund_configs_new") @RequestMapping("/get_channel_fund_configs_new")
public GlobalResponse getChannelFundConfigsNew(String bizChannel, Long fundId, Integer pageNum, Integer pageSize) { public GlobalResponse getChannelFundConfigsNew(String bizChannel, Long fundId, Integer pageNum, Integer pageSize,Integer sortMode) {
return getChannelFundsConfigCommon(bizChannel, fundId, pageNum, pageSize, 2); return getChannelFundsConfigCommon(bizChannel, fundId, pageNum, pageSize, 2,sortMode);
} }
@RequestMapping("/find_channel_fund_config_new") @RequestMapping("/find_channel_fund_config_new")
...@@ -109,6 +115,23 @@ public class FundModuleController { ...@@ -109,6 +115,23 @@ public class FundModuleController {
return findChannelFundConfigCommon(configId, 2); return findChannelFundConfigCommon(configId, 2);
} }
@RequestMapping("/simulation/conditions")
public GlobalResponse allConditions(Long configId){
return fundConfigConditions(configId);
}
@RequestMapping("/simulation/result")
public GlobalResponse simulationResult(String configConditions, Long configId){
return simulation(JSON.parseArray(configConditions,FundConfigCondition.class),configId);
}
@RequestMapping("/get_all_channel")
public GlobalResponse getAllConfigingChannels() {
Stopwatch stopwatch = Stopwatch.createStarted();
GlobalResponse response = fundModuleService.getAllConfigChannel();
log.info("资方模块接口, 获取所有已进行资方配置的渠道号结束, response : {}, 耗时 : {}", JSON.toJSONString(response), stopwatch.stop().elapsed(TimeUnit.MILLISECONDS));
return response;
}
private GlobalResponse saveChannelFundsConfigCommon(Integer type, Long id, String bizChannel, String funds, String remarks, private GlobalResponse saveChannelFundsConfigCommon(Integer type, Long id, String bizChannel, String funds, String remarks,
String auditor, String proposer, int oldOrNew) { String auditor, String proposer, int oldOrNew) {
...@@ -148,7 +171,7 @@ public class FundModuleController { ...@@ -148,7 +171,7 @@ public class FundModuleController {
return response; return response;
} }
private GlobalResponse getChannelFundsConfigCommon(String bizChannel, Long fundId, Integer pageNum, Integer pageSize, int oldOrNew) { private GlobalResponse getChannelFundsConfigCommon(String bizChannel, Long fundId, Integer pageNum, Integer pageSize, int oldOrNew,Integer sortMode) {
log.info("资方模块接口, 查询渠道资方配置信息开始, bizChannel : {}, fundId : {}, pageNum : {}, pageSize : {}", bizChannel, fundId, pageNum, pageSize); log.info("资方模块接口, 查询渠道资方配置信息开始, bizChannel : {}, fundId : {}, pageNum : {}, pageSize : {}", bizChannel, fundId, pageNum, pageSize);
if (pageNum == null || pageSize == null) { if (pageNum == null || pageSize == null) {
return GlobalResponse.create(FundModuleResponse.PAGEING_CONDITIONS_IS_EMPTY); return GlobalResponse.create(FundModuleResponse.PAGEING_CONDITIONS_IS_EMPTY);
...@@ -159,7 +182,7 @@ public class FundModuleController { ...@@ -159,7 +182,7 @@ public class FundModuleController {
// 老接口 // 老接口
response = fundModuleService.getChannelFundConfigs(bizChannel, fundId, pageNum, pageSize); response = fundModuleService.getChannelFundConfigs(bizChannel, fundId, pageNum, pageSize);
} else { } else {
response = fundModuleService.getChannelFundConfigsNew(bizChannel, fundId, pageNum, pageSize); response = fundModuleService.getChannelFundConfigsNew(bizChannel, fundId, pageNum, pageSize,sortMode);
} }
log.info("资方模块接口, 查询渠道资方配置信息结束, bizChannel : {}, fundId : {}, pageNum : {}, pageSize : {}, 耗时 : {}, response : {}", bizChannel, fundId, pageNum, pageSize, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS), JSON.toJSONString(response)); log.info("资方模块接口, 查询渠道资方配置信息结束, bizChannel : {}, fundId : {}, pageNum : {}, pageSize : {}, 耗时 : {}, response : {}", bizChannel, fundId, pageNum, pageSize, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS), JSON.toJSONString(response));
...@@ -182,4 +205,26 @@ public class FundModuleController { ...@@ -182,4 +205,26 @@ public class FundModuleController {
log.info("资方模块接口, 根据id获取资方配置, configId : {} 耗时 : {}, response : {}", configId, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS), JSON.toJSONString(response)); log.info("资方模块接口, 根据id获取资方配置, configId : {} 耗时 : {}, response : {}", configId, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS), JSON.toJSONString(response));
return response; return response;
} }
private GlobalResponse fundConfigConditions(Long configId){
log.info("资方模块接口,根据id获取所有案例, configId : {}", configId);
if (configId == null) {
return GlobalResponse.create(FundModuleResponse.ID_IS_EMPTY);
}
Stopwatch stopwatch = Stopwatch.createStarted();
GlobalResponse response = fundModuleService.getAllConditionsOfFundConfig(configId);
log.info("资方模块接口,根据id获取所有案例, configId : {} 耗时 : {}, response : {}", configId, stopwatch.stop().elapsed(TimeUnit.MILLISECONDS), JSON.toJSONString(response));
return response;
}
private GlobalResponse simulation(List<FundConfigCondition> configConditions,Long configId){
log.info("资方模块接口,根据案例进行空跑, configConditions : {}, configId:{}", configConditions,configId);
if (CollectionUtils.isEmpty(configConditions)) {
return GlobalResponse.create(FundModuleResponse.ID_IS_EMPTY);
}
Stopwatch stopwatch = Stopwatch.createStarted();
GlobalResponse response = fundModuleService.simulationCases(configConditions,configId);
log.info("资方模块接口,根据id获取所有案例, configConditions : {}, configId:{}, 耗时 : {}, response : {}", configConditions, configId,stopwatch.stop().elapsed(TimeUnit.MILLISECONDS), JSON.toJSONString(response));
return response;
}
} }
...@@ -43,4 +43,8 @@ public enum RuleOperator { ...@@ -43,4 +43,8 @@ public enum RuleOperator {
log.error("枚举不存在,code={}", code); log.error("枚举不存在,code={}", code);
throw new QGException(QGExceptionType.COMMON_ILLEGAL_PARAM); throw new QGException(QGExceptionType.COMMON_ILLEGAL_PARAM);
} }
public String getCode() {
return this.code;
}
} }
package com.quantgroup.asset.distribution.model.entity.fund;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class FundConfigCondition implements Serializable {
private static final long serialVersionUID = 1L;
private String conditionTempId;
private List<Condition> condition;
private Result result;
@Data
public static class Condition{
private String conditionCode;
private String conditionName;
private String conditionValue;
}
@Data
public static class Result{
private Boolean success;
private String fundInfo;
private String message;
}
}
package com.quantgroup.asset.distribution.model.entity.fund;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class FundConfigSimulationVO implements Serializable {
private static final long serialVersionUID = 1L;
private List<FundConfigCondition> conditionsCase;
private List<FundConfigCondition.Condition> conditionsType;
}
package com.quantgroup.asset.distribution.service.approval; package com.quantgroup.asset.distribution.service.approval;
import java.math.BigInteger;
import java.util.List;
import java.util.Map; import java.util.Map;
import com.quantgroup.asset.distribution.enums.funding.AuditTargetEnum; import com.quantgroup.asset.distribution.enums.funding.AuditTargetEnum;
...@@ -41,10 +43,11 @@ public interface IApprovalLogService { ...@@ -41,10 +43,11 @@ public interface IApprovalLogService {
*/ */
public Map<String, Object> getApprovalLogs(String targetName, Integer auditStatus, Integer auditType, Integer auditTarget, public Map<String, Object> getApprovalLogs(String targetName, Integer auditStatus, Integer auditType, Integer auditTarget,
String applyStartTime, String applyEndTime, String user, Integer pageNum, Integer pageSize); String applyStartTime, String applyEndTime, String user, Integer pageNum, Integer pageSize);
List<BigInteger> getFundConfigIds(String channel);
/** /**
* 审批接口 * 审批接口
* @param id 审批记录id
* @param auditStatus * @param auditStatus
*/ */
public void audit(ApprovalLog approvalLog, Integer auditStatus); public void audit(ApprovalLog approvalLog, Integer auditStatus);
......
package com.quantgroup.asset.distribution.service.approval.impl; package com.quantgroup.asset.distribution.service.approval.impl;
import java.math.BigInteger;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.*;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import com.quantgroup.asset.distribution.service.funding.IFundModuleChannelFundConfigNewService; import com.quantgroup.asset.distribution.service.funding.IFundModuleChannelFundConfigNewService;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.hibernate.jpa.criteria.predicate.InPredicate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -108,6 +107,15 @@ public class ApprovalLogServiceImpl implements IApprovalLogService{ ...@@ -108,6 +107,15 @@ public class ApprovalLogServiceImpl implements IApprovalLogService{
return result; return result;
} }
@Override
public List<BigInteger> getFundConfigIds(String channel){
if (StringUtils.isEmpty(channel)){
return approvalLogRepository.findAuditConfigIds();
}else {
return approvalLogRepository.findAuditConfigIds(channel);
}
}
@Transactional(rollbackFor=Exception.class) @Transactional(rollbackFor=Exception.class)
@Override @Override
public void audit(ApprovalLog approvalLog, Integer auditStatus) { public void audit(ApprovalLog approvalLog, Integer auditStatus) {
......
...@@ -4,6 +4,7 @@ import com.quantgroup.asset.distribution.model.response.GlobalResponse; ...@@ -4,6 +4,7 @@ import com.quantgroup.asset.distribution.model.response.GlobalResponse;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -26,4 +27,8 @@ public interface IFundModuleChannelFundConfigNewService { ...@@ -26,4 +27,8 @@ public interface IFundModuleChannelFundConfigNewService {
public FundModuleChannelFundConfigNew auditPassConfig(Long preId, Long auditId); public FundModuleChannelFundConfigNew auditPassConfig(Long preId, Long auditId);
public void clearChannelFundConfigCache(String bizChannel); public void clearChannelFundConfigCache(String bizChannel);
Map<String,Object> getChannelFundConfigsByChannelOrFundIdOrdered(String bizChannel, Long fundId, Integer pageNum, Integer pageSize);
public List<String> getAllConfigChanels();
} }
package com.quantgroup.asset.distribution.service.funding; package com.quantgroup.asset.distribution.service.funding;
import com.quantgroup.asset.distribution.config.annotation.HandleException;
import com.quantgroup.asset.distribution.model.entity.fund.FundConfigCondition;
import com.quantgroup.asset.distribution.model.response.GlobalResponse; import com.quantgroup.asset.distribution.model.response.GlobalResponse;
import java.util.List;
/** /**
* 资方模块Service * 资方模块Service
* @author liwenbin * @author liwenbin
...@@ -61,7 +65,7 @@ public interface IFundModuleService { ...@@ -61,7 +65,7 @@ public interface IFundModuleService {
* @param pageSize * @param pageSize
* @return * @return
*/ */
public GlobalResponse getChannelFundConfigsNew(String bizChannel, Long fundId, Integer pageNum, Integer pageSize); public GlobalResponse getChannelFundConfigsNew(String bizChannel, Long fundId, Integer pageNum, Integer pageSize,Integer sortMode);
/** /**
* 获取审批列表 * 获取审批列表
...@@ -99,4 +103,14 @@ public interface IFundModuleService { ...@@ -99,4 +103,14 @@ public interface IFundModuleService {
* @return * @return
*/ */
public GlobalResponse audit(Long id, Integer auditStatus); public GlobalResponse audit(Long id, Integer auditStatus);
/**
* 获取所有已进行资方配置的渠道
* @return
*/
public GlobalResponse getAllConfigChannel();
GlobalResponse getAllConditionsOfFundConfig(Long configId);
GlobalResponse simulationCases(List<FundConfigCondition> configConditions,Long configId);
} }
...@@ -8,6 +8,7 @@ import com.quantgroup.asset.distribution.exception.QGExceptionType; ...@@ -8,6 +8,7 @@ import com.quantgroup.asset.distribution.exception.QGExceptionType;
import com.quantgroup.asset.distribution.model.response.GlobalResponse; import com.quantgroup.asset.distribution.model.response.GlobalResponse;
import com.quantgroup.asset.distribution.service.approval.IApprovalLogService; import com.quantgroup.asset.distribution.service.approval.IApprovalLogService;
import com.quantgroup.asset.distribution.service.funding.IFundModuleChannelFundConfigNewService; import com.quantgroup.asset.distribution.service.funding.IFundModuleChannelFundConfigNewService;
import com.quantgroup.asset.distribution.service.jpa.entity.ApprovalLog;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew;
import com.quantgroup.asset.distribution.service.jpa.repository.IFundModuleChannelFundConfigNewRepository; import com.quantgroup.asset.distribution.service.jpa.repository.IFundModuleChannelFundConfigNewRepository;
...@@ -15,21 +16,28 @@ import com.quantgroup.asset.distribution.util.fund.module.ChannelFundConfigUtil; ...@@ -15,21 +16,28 @@ import com.quantgroup.asset.distribution.util.fund.module.ChannelFundConfigUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.hibernate.jpa.criteria.OrderImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import javax.xml.transform.Source;
import java.math.BigInteger;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author : Hyuk * @author : Hyuk
...@@ -44,6 +52,8 @@ public class FundModuleChannelFundConfigNewServiceImpl implements IFundModuleCha ...@@ -44,6 +52,8 @@ public class FundModuleChannelFundConfigNewServiceImpl implements IFundModuleCha
private IFundModuleChannelFundConfigNewRepository fundModuleChannelFundConfigNewRepository; private IFundModuleChannelFundConfigNewRepository fundModuleChannelFundConfigNewRepository;
@Autowired @Autowired
private IApprovalLogService approvalLogService; private IApprovalLogService approvalLogService;
@Autowired
private EntityManager entityManager;
@Override @Override
public Map<String, Object> getChannelFundConfigsByChannelOrFundId(String bizChannel, Long fundId, Integer pageNum, Integer pageSize) { public Map<String, Object> getChannelFundConfigsByChannelOrFundId(String bizChannel, Long fundId, Integer pageNum, Integer pageSize) {
...@@ -155,6 +165,49 @@ public class FundModuleChannelFundConfigNewServiceImpl implements IFundModuleCha ...@@ -155,6 +165,49 @@ public class FundModuleChannelFundConfigNewServiceImpl implements IFundModuleCha
log.info("渠道资方配置缓存清除, bizChannel : {}", bizChannel); log.info("渠道资方配置缓存清除, bizChannel : {}", bizChannel);
} }
@Override
public Map<String, Object> getChannelFundConfigsByChannelOrFundIdOrdered(String bizChannel, Long fundId, Integer pageNum, Integer pageSize) {
List<BigInteger> ids = approvalLogService.getFundConfigIds(bizChannel);
// 分页条件
Integer start = pageNum * pageSize;
Integer end = (pageNum + 1) * pageSize;
List<FundModuleChannelFundConfigNew> channelFundConfigs;
StringBuilder idsStr = new StringBuilder();
for (BigInteger id : ids){
idsStr.append(",").append(id);
}
idsStr.delete(0,1);
String fundLike = "";
if (fundId != null) {
fundLike = "and fund_ids like '%" + fundId + "%'";
}
String sql = "SELECT * FROM fund_module_channel_fund_config_new where id in ("+idsStr.toString()+") "+ fundLike+" order by field(id,"+idsStr.toString()+") limit "+start+","+end;
Query query = entityManager.createNativeQuery(sql,FundModuleChannelFundConfigNew.class);
channelFundConfigs = query.getResultList();
String total;
if (fundId == null){
total = ids.size() + "";
}else {
if (StringUtils.isEmpty(bizChannel)){
total = fundModuleChannelFundConfigNewRepository.count(fundId,ids) + "";
}else {
total = fundModuleChannelFundConfigNewRepository.count(fundId,bizChannel,ids) + "";
}
}
Map<String, Object> result = new HashMap<>();
result.put("total", total);
result.put("pages", (int)(new Double(total)%pageSize == 0?new Double(total)/pageSize:new Double(total)/pageSize +1));
result.put("pageSize", pageSize);
result.put("pageNum", pageNum);
result.put("list", channelFundConfigs);
return result;
}
@Override
public List<String> getAllConfigChanels() {
return fundModuleChannelFundConfigNewRepository.getAllBizChannel();
}
/** /**
* 更改配置enable状态 * 更改配置enable状态
* @param id * @param id
......
...@@ -4,6 +4,10 @@ import org.springframework.data.jpa.repository.JpaRepository; ...@@ -4,6 +4,10 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import com.quantgroup.asset.distribution.service.jpa.entity.ApprovalLog; import com.quantgroup.asset.distribution.service.jpa.entity.ApprovalLog;
import org.springframework.data.jpa.repository.Query;
import java.math.BigInteger;
import java.util.List;
public interface IApprovalLogRepository extends JpaRepository<ApprovalLog, Long>, JpaSpecificationExecutor<ApprovalLog>{ public interface IApprovalLogRepository extends JpaRepository<ApprovalLog, Long>, JpaSpecificationExecutor<ApprovalLog>{
...@@ -13,4 +17,10 @@ public interface IApprovalLogRepository extends JpaRepository<ApprovalLog, Long ...@@ -13,4 +17,10 @@ public interface IApprovalLogRepository extends JpaRepository<ApprovalLog, Long
Integer auditTarget, Integer auditTarget,
String targetName, String targetName,
Integer auditStatus); Integer auditStatus);
@Query(value = "select audit_config_id from approval_log where audit_type = 1 and target_name = ?1 and (audit_status = 0 or audit_status = 1) order by audit_status asc,updated_at desc", nativeQuery = true)
List<BigInteger> findAuditConfigIds(String channel);
@Query(value = "select audit_config_id from approval_log where audit_type = 1 and (audit_status = 0 or audit_status = 1) order by audit_status asc,updated_at desc",nativeQuery = true)
List<BigInteger> findAuditConfigIds();
} }
...@@ -2,9 +2,14 @@ package com.quantgroup.asset.distribution.service.jpa.repository; ...@@ -2,9 +2,14 @@ package com.quantgroup.asset.distribution.service.jpa.repository;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfig;
import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew; import com.quantgroup.asset.distribution.service.jpa.entity.FundModuleChannelFundConfigNew;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import java.math.BigInteger;
import java.util.List; import java.util.List;
/** /**
...@@ -35,4 +40,13 @@ public interface IFundModuleChannelFundConfigNewRepository extends JpaRepository ...@@ -35,4 +40,13 @@ public interface IFundModuleChannelFundConfigNewRepository extends JpaRepository
*/ */
public FundModuleChannelFundConfigNew findById(Long id); public FundModuleChannelFundConfigNew findById(Long id);
@Query(value = "select biz_channel from fund_module_channel_fund_config_new where enable = 1", nativeQuery = true)
public List<String> getAllBizChannel();
@Query(value = "SELECT count(*) FROM fund_module_channel_fund_config_new where id in ?3 and fund_ids LIKE %?1% and biz_channel = ?2", nativeQuery = true)
Long count(Long fundId,String bizChannel,List<BigInteger> ids);
@Query(value = "SELECT count(*) FROM fund_module_channel_fund_config_new where id in ?2 and fund_ids LIKE %?1%", nativeQuery = true)
Long count(Long fundId,List<BigInteger> ids);
} }
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