Commit ca9f2333 by zhaoyang

Merge remote-tracking branch 'origin/dev_branch_BB_1_202004' into dev_branch_BB_1_202004

parents 5a0fc17d 0f8d4e6e
......@@ -6,17 +6,29 @@
package com.abssqr.plat.biz.api.ast;
import com.abssqr.plat.biz.support.ServiceSupport;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
import com.abssqr.plat.common.facade.validation.Valid;
import com.abssqr.plat.common.model.convertor.LoanConvert;
import com.abssqr.plat.common.model.convertor.vo.AstPackListVOConvert;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.exception.AbssqrBizException;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import com.abssqr.plat.core.service.ast.AstPackManager;
import com.general.system.common.util.VarChecker;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* @author xiachenxiang
* @version com.abssqr.plat.biz.api.ast: AstPackServiceImpl.java, v 0.1 2020-04-18 3:13 PM xiachenxiang Exp $
*/
......@@ -24,9 +36,25 @@ import org.springframework.stereotype.Service;
public class AstPackServiceImpl extends ServiceSupport implements AstPackService {
@Autowired
private AstPackManager astPackManager;
@Autowired
private AstPackRepo astPackRepository;
@Override
public String edit(@Valid AstPackOprParam param) {
return this.doOpr(param, () -> astPackManager.add(param));
}
@Override
public String edit(AstPackOprParam param) {
return super.doOpr(param,()-> astPackManager.add(param));
public BasePage<AstPackListVO> getList(@Valid AstPackQryParam param) {
return this.doQry(param, () -> {
AstPackPagePage page = astPackRepository.getList(param);
BasePage<AstPackListVO> result = new BasePage<AstPackListVO>();
result.setCurrPageNo(page.getCurrPageNo());
result.setTotal(page.getTotal());
result.setLimit(page.getLimit());
result.setDatas(AstPackListVOConvert.convert2VOList(page.getDatas()));
return result;
});
}
}
......@@ -177,4 +177,33 @@
PACK_NAME = #{packName,jdbcType=VARCHAR}
]]>
</operation>
<resultmap name="AstPackResultMap" type="AstPackItem">
<column name="PACK_NO" jdbctype="VARCHAR" javatype="String" remark="资产包编号"/>
<column name="PACK_NAME" jdbctype="VARCHAR" javatype="String" remark="资产包名称"/>
<column name="AVAL_AMT" jdbctype = "DECIMAL" javatype = "com.general.system.common.model.Money" remark = "资产包金额"/>
<column name="STATUS" jdbctype="VARCHAR" javatype="String" remark="资产包状态"/>
</resultmap>
<operation name="getList" multiplicity="paging" paging="AstPackPage" resultmap="AstPackResultMap" remark="分页获取资产包">
SELECT
*
FROM
ABS_AST_PACK
<where>
<if test="packNo != null and packNo != ''">
AND PACK_NO like '%'||#{packNo,jdbcType=VARCHAR}||'%'
</if>
<if test="packName != null and packName != ''">
AND PACK_NAME like '%'||#{packName,jdbcType=VARCHAR}||'%'
</if>
<if test="status != null and status.size() > 0">
AND status in
<foreach collection="status" item="item" separator="," open="(" close=")">
#{item,jdbcType=VARCHAR}
</foreach>
</if>
</where>
ORDER BY ID DESC
</operation>
</table>
......@@ -6,6 +6,7 @@ import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPackDOMapper;
/**
......@@ -100,4 +101,20 @@ public class AstPackDAO{
public Long cntByPackName(String packName){
return astPackDOMapper.cntByPackName(packName);
}
/**
* desc:分页获取资产包.<br/>
* @param astPackPage astPackPage
* @return AstPackPagePage
*/
public AstPackPagePage getList(AstPackPagePage astPackPage){
int total = astPackDOMapper.getListCount(astPackPage);
if(total>0){
astPackPage.setDatas(astPackDOMapper.getListResult(astPackPage));
}else{
astPackPage.setDatas(new ArrayList());
}
astPackPage.setTotal(total);
return astPackPage;
}
}
......@@ -3,6 +3,8 @@ package com.abssqr.plat.common.dal.mysql.auto.mapper;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem;
import org.apache.ibatis.annotations.Param;
/**
......@@ -66,4 +68,16 @@ public interface AstPackDOMapper{
* @return Long
*/
Long cntByPackName(@Param("packName")String packName);
/**
* desc:分页获取资产包.<br/>
* @param astPackPage astPackPage
* @return int
*/
int getListCount(AstPackPagePage astPackPage);
/**
* desc:分页获取资产包.<br/>
* @param astPackPage astPackPage
* @return List<AstPackItem>
*/
List<AstPackItem> getListResult(AstPackPagePage astPackPage);
}
package com.abssqr.plat.common.dal.mysql.auto.paging;
import com.abssqr.plat.common.dal.mysql.auto.paging.BasePage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem;
import java.util.List;
/**
* The table ABS_AST_PACK 资产包
*/
public class AstPackPagePage extends BasePage<AstPackItem>{
/**
* packNo 资产包编号.
*/
private String packNo;
/**
* packName 资产包名称.
*/
private String packName;
/**
* status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*/
private List<String> status;
/**
* Set packNo 资产包编号.
*/
public void setPackNo(String packNo){
this.packNo = packNo;
}
/**
* Get packNo 资产包编号.
*
* @return the string
*/
public String getPackNo(){
return packNo;
}
/**
* Set packName 资产包名称.
*/
public void setPackName(String packName){
this.packName = packName;
}
/**
* Get packName 资产包名称.
*
* @return the string
*/
public String getPackName(){
return packName;
}
/**
* Set status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*/
public void setStatus(List<String> status){
this.status = status;
}
/**
* Get status 状态 1.初始化 INIT 2.筛选中 EXEC 3.筛选完成 SCREEN_FIS 4.已封包 PACK 5.已解包 UNPACK 6.已拆包 BREAK 7.已发行 PUBLISH .
*
* @return the string
*/
public List<String> getStatus(){
return status;
}
}
package com.abssqr.plat.common.dal.mysql.auto.resultmap;
import java.io.Serializable;
import com.general.system.common.model.Money;
/**
* The table AstPackItem
*/
public class AstPackItem implements Serializable {
private static final long serialVersionUID = -1L;
/**
* packNo 资产包编号.
*/
private String packNo;
/**
* packName 资产包名称.
*/
private String packName;
/**
* avalAmt 资产包金额.
*/
private Money avalAmt;
/**
* status 资产包状态.
*/
private String status;
/**
* Set packNo 资产包编号.
*/
public void setPackNo(String packNo){
this.packNo = packNo;
}
/**
* Get packNo 资产包编号.
*
* @return the string
*/
public String getPackNo(){
return packNo;
}
/**
* Set packName 资产包名称.
*/
public void setPackName(String packName){
this.packName = packName;
}
/**
* Get packName 资产包名称.
*
* @return the string
*/
public String getPackName(){
return packName;
}
/**
* Set avalAmt 资产包金额.
*/
public void setAvalAmt(Money avalAmt){
this.avalAmt = avalAmt;
}
/**
* Get avalAmt 资产包金额.
*
* @return the string
*/
public Money getAvalAmt(){
return avalAmt;
}
/**
* Set status 资产包状态.
*/
public void setStatus(String status){
this.status = status;
}
/**
* Get status 资产包状态.
*
* @return the string
*/
public String getStatus(){
return status;
}
}
......@@ -18,6 +18,12 @@
<result column="PACK_SUBMIT_DATE" property="packSubmitDate" jdbcType="DATE" javaType="java.util.Date"/>
</resultMap>
<resultMap id="AstPackResultMap" type="com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem" >
<result column="PACK_NO" property="packNo" javaType="String"/>
<result column="STATUS" property="status" javaType="String"/>
<result column="PACK_NAME" property="packName" javaType="String"/>
<result column="AVAL_AMT" property="avalAmt" javaType="com.general.system.common.model.Money"/>
</resultMap>
<sql id="Base_SF_Column_List">
sf.ID,sf.AVAL_AMT,sf.TYPE,sf.PACK_NO,sf.PLAN_NO
......@@ -181,4 +187,58 @@
PACK_NAME = #{packName,jdbcType=VARCHAR}
]]>
</select>
<!--分页获取资产包 pageCount mydalgen自动生成,请勿修改-->
<select id="getListCount" resultType="int" >
SELECT
COUNT(*) AS total
FROM
ABS_AST_PACK
<where>
<if test="packNo != null and packNo != ''">
AND PACK_NO like '%'||#{packNo,jdbcType=VARCHAR}||'%'
</if>
<if test="packName != null and packName != ''">
AND PACK_NAME like '%'||#{packName,jdbcType=VARCHAR}||'%'
</if>
<if test="status != null and status.size() &gt; 0">
AND status in
<foreach collection="status" item="item" separator="," open="(" close=")">
#{item,jdbcType=VARCHAR}
</foreach>
</if>
</where>
</select>
<!--分页获取资产包 pageResult mydalgen自动生成,请勿修改-->
<select id="getListResult" resultMap="AstPackResultMap" >
select
*
from(
select
tt.*,ROWNUM AS rowno
from(
SELECT
<include refid="Base_Column_List" />
FROM
ABS_AST_PACK
<where>
<if test="packNo != null and packNo != ''">
AND PACK_NO like '%'||#{packNo,jdbcType=VARCHAR}||'%'
</if>
<if test="packName != null and packName != ''">
AND PACK_NAME like '%'||#{packName,jdbcType=VARCHAR}||'%'
</if>
<if test="status != null and status.size() &gt; 0">
AND status in
<foreach collection="status" item="item" separator="," open="(" close=")">
#{item,jdbcType=VARCHAR}
</foreach>
</if>
</where>
ORDER BY ID DESC
) tt where ROWNUM &lt;= #{endRow}
) table_alias
where table_alias.rowno &gt; #{startRow}
</select>
</mapper>
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.param.ast;
import com.abssqr.plat.common.facade.base.BaseOprParam;
import com.abssqr.plat.common.facade.base.BasePageQryParam;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.enums.EventCodeEnum;
import com.abssqr.plat.common.facade.param.ast.sub.AstScreenRuleParam;
import com.abssqr.plat.common.facade.validation.VldEnums;
import com.abssqr.plat.common.facade.validation.VldString;
import com.general.system.common.model.Money;
import java.util.ArrayList;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.param.ast: AstPaclOprParam.java, v 0.1 2020-04-18 3:31 PM xiachenxiang Exp $
*/
public class AstPackQryParam extends BasePageQryParam {
/**
* 资产包编号
*/
private String packNo;
/**
* 资产包名
*/
private String packName;
/**
* 状态
*/
@VldEnums(enumClass = AstPackStatusEnum.class,message = "不支持的状态类型",nullable = true)
private String status;
public String getPackNo() {
return packNo;
}
public void setPackNo(String packNo) {
this.packNo = packNo;
}
public String getPackName() {
return packName;
}
public void setPackName(String packName) {
this.packName = packName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public EventCodeEnum getEventCode() {
return EventCodeEnum.ADMIN_LIST_QRY;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.result.pack;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.general.system.common.model.BaseEntity;
import com.general.system.common.model.Money;
/**
*
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.result.pack: PackListVo.java, v 0.1 2020-04-20 4:18 PM xiachenxiang Exp $
*/
public class AstPackListVO extends BaseEntity {
/**
* packNo 资产包编号.
*/
private String packNo;
/**
* packName 资产包名称.
*/
private String packName;
/**
* avalAmt 资产包金额.
*/
private Money avalAmt;
/**
* status 资产包状态.
*/
private AstPackStatusEnum status;
public String getPackNo() {
return packNo;
}
public void setPackNo(String packNo) {
this.packNo = packNo;
}
public String getPackName() {
return packName;
}
public void setPackName(String packName) {
this.packName = packName;
}
public Money getAvalAmt() {
return avalAmt;
}
public void setAvalAmt(Money avalAmt) {
this.avalAmt = avalAmt;
}
public AstPackStatusEnum getStatus() {
return status;
}
public void setStatus(AstPackStatusEnum status) {
this.status = status;
}
}
......@@ -6,7 +6,9 @@
package com.abssqr.plat.common.facade.service.ast;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.general.system.common.model.BaseResult;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
/**
* 资产包服务
......@@ -20,4 +22,11 @@ public interface AstPackService {
* @return
*/
String edit(AstPackOprParam astPackOprParam);
/**
* 分页查询资产包
* @param astPackQryParam
* @return
*/
BasePage<AstPackListVO> getList(AstPackQryParam astPackQryParam);
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.convertor.vo;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanDO;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.result.ast.LoanListVO;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.model.domain.contract.LoanContract;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.model.convertor.vo: AstPackListVOConvert.java, v 0.1 2020-04-20 4:29 PM xiachenxiang Exp $
*/
public class AstPackListVOConvert {
public static List<AstPackListVO> convert2VOList(List<AstPackItem> params){
List<AstPackListVO> result = Lists.newArrayList();
if (CollectionUtils.isNotEmpty(params)){
params.forEach(param->result.add(convert2VO(param)));
}
return result;
}
public static AstPackListVO convert2VO(AstPackItem param) {
if (param == null) {
return null;
}
AstPackListVO result = new AstPackListVO();
result.setPackNo(param.getPackNo());
result.setPackName(param.getPackName());
result.setAvalAmt(param.getAvalAmt());
// init状态在前端显示为筛选中
AstPackStatusEnum status = AstPackStatusEnum.getByCode(param.getStatus());
result.setStatus(status==AstPackStatusEnum.INIT?AstPackStatusEnum.EXEC:status);
return result;
}
}
\ No newline at end of file
......@@ -6,6 +6,8 @@
package com.abssqr.plat.common.model.repo.ast;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.model.domain.ast.AstPack;
/**
......@@ -29,4 +31,11 @@ public interface AstPackRepo {
* @return
*/
int insert(AstPack pack);
/**
* 分页获取资产包
* @param param
* @return
*/
AstPackPagePage getList(AstPackQryParam param);
}
......@@ -6,12 +6,21 @@
package com.abssqr.plat.common.model.repo.ast.impl;
import com.abssqr.plat.common.dal.mysql.auto.dao.AstPackDAO;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.model.convertor.AstPackConvert;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.domain.ast.Pack;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.model.repo.ast.impl: AstPackRepositoryImpl.java, v 0.1 2020-04-18 3:16 PM xiachenxiang Exp $
......@@ -36,4 +45,23 @@ public class AstPackRepoImpl implements AstPackRepo {
public int insert(AstPack pack){
return astPackDAO.insert(AstPackConvert.convertDO(pack));
}
@Override
public AstPackPagePage getList(AstPackQryParam param) {
AstPackPagePage page = new AstPackPagePage();
page.setPackNo(param.getPackNo());
page.setPackName(param.getPackName());
ArrayList<String > status = Lists.newArrayList();
if (StringUtils.isNotEmpty(param.getStatus())){
status.add(param.getStatus());
// init 在前端也显示为筛选中
if (StringUtils.equals(param.getStatus(),AstPackStatusEnum.EXEC.getCode())){
status.add(AstPackStatusEnum.INIT.getCode());
}
}
page.setStatus(status);
page.setLimit(param.getPageSize());
page.setCurrPageNo(param.getPageNum());
return astPackDAO.getList(page);
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.test.unittest.pack;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
import com.abssqr.plat.test.BaseAutoTests;
import com.abssqr.test.annotation.XTest;
import com.abssqr.test.icase.ICase;
import com.alibaba.fastjson.JSON;
import com.general.system.common.util.VarChecker;
import org.springframework.beans.factory.annotation.Autowired;
import org.testng.Assert;
import org.testng.annotations.Test;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.test.unittest.pack: packAddUnitTest.java, v 0.1 2020-04-20 1:58 PM xiachenxiang Exp $
*/
public class PackgetListUnitTest extends BaseAutoTests {
@Autowired
private AstPackService astPackService;
@XTest(relatePath = "unittest/pack/list")
@Test(dataProvider = "YamlDataProvider", description = "资产包列表查询")
public void list(ICase iCase, AstPackQryParam packQryParam,String checkStr,boolean ept) {
try {
BasePage<AstPackListVO> page = astPackService.getList(packQryParam);
List<AstPackListVO> datas = page.getDatas();
AstPackListVO astPackListVO = datas.get(0);
checkEquals(astPackListVO,checkStr);
}catch (Exception e){
Assert.assertEquals(true, ept, "列表查询异常");
}finally {
// 校验数据
super.clearDB(iCase);
super.checkDB(iCase);
}
}
private void checkEquals(AstPackListVO astPackListVO, String checkStr) {
AstPackListVO checkVO = JSON.parseObject(checkStr, AstPackListVO.class);
VarChecker.checkEquals(astPackListVO.getStatus(),checkVO.getStatus());
VarChecker.checkEquals(astPackListVO.getPackNo(),checkVO.getPackNo());
VarChecker.checkEquals(astPackListVO.getPackName(),checkVO.getPackName());
VarChecker.checkEquals(astPackListVO.getAvalAmt(),checkVO.getAvalAmt());
}
}
--- !!com.abssqr.test.icase.Case
id: pack_list_case0001
desc: 资产包列表查询
context:
clearDBContext:
- abs_ast_pack:
PACK_NO: packAdd01
- abs_ast_pack:
PACK_NAME: 资产包01
initDBContext:
- ABS_AST_PACK:
ID: "{nextval}"
PACK_NO: packAdd01
PACK_NAME: 资产包01
AVAL_AMT: 1000000000
AST_POOL_NO: astPool01
PLAN_NO:
STATUS: 'init'
PACK_DATE:
PACK_SUBMIT_DATE:
TYPE: normal
AST_TYPE_CODE: QCDK
GMT_CREATE: sysdate
GMT_MODIFIED: sysdate
checkDBContext:
###
--- !!com.abssqr.plat.common.facade.param.ast.AstPackQryParam
packNo:
packName:
status:
---
"{\"avalAmt\":{\"amount\":10000000.00,\"ttAmt\":1000.00},\"packName\":\"资产包01\",\"packNo\":\"packAdd01\",\"status\":{\"code\":\"exec\",\"desc\":\"筛选中\"}}"
---
false
\ No newline at end of file
......@@ -6,6 +6,9 @@
package com.abssqr.plat.web.controller.pack;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.result.BasePage;
import com.abssqr.plat.common.facade.result.pack.AstPackListVO;
import com.abssqr.plat.common.facade.service.ast.AstPackService;
import com.abssqr.plat.common.facade.validation.Valid;
import com.general.enhanced.controller.annotation.RestJsonController;
......@@ -26,10 +29,24 @@ public class PackController {
@Autowired
private AstPackService astPackService;
/**
* 编辑
*
* @param astPackOprParam
* @return
*/
@RequestMapping(value = "/pack/edit.json", method = RequestMethod.POST)
public BaseResult<String> edit(@Valid @RequestBody AstPackOprParam astPackOprParam) {
public BaseResult<String> edit(@RequestBody AstPackOprParam astPackOprParam) {
return BaseResult.success(astPackService.edit(astPackOprParam));
}
/**
* 编辑
* @param astPackQryParam
* @return
*/
@RequestMapping(value = "/pack/getList.json", method = RequestMethod.GET)
public BasePage<AstPackListVO> getList(AstPackQryParam astPackQryParam) {
return astPackService.getList(astPackQryParam);
}
}
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