1.免罚息天数当为汽车业务时,从公司层级取值,当为传统类业务时,取值为0;

2.增加方法,贴息占用时,由新建时插入改为提交到信审初审时插入。
This commit is contained in:
zhangbb 2018-09-20 21:01:41 +08:00
parent 14a4789cec
commit 08d43948ef
5 changed files with 70 additions and 7 deletions

View File

@ -428,7 +428,7 @@
</Rule>
</Rules>
</Component>
<Component FORMAT="1" ID="even_interest" NAME="均息法" PRODUCT_TYPE="car_product" STATUS="1" TYPE="PRD0301">
<Component FORMAT="1" ID="even_interest" NAME="均息法" PRODUCT_TYPE="" STATUS="1" TYPE="PRD0301">
<!-- <Parameters>
<Parameter ARIGHTTYPE="All" DISPLAYNAME="默认还款日" MAXIMUMVALUE="28" MINIMUMVALUE="1" PARAMETERID="DefaultDueDay" PARAMETERNAME="默认还款日" PRIGHTTYPE="All" SORTNO="" VALUE=""/>
<Parameter ARIGHTTYPE="Required" DISPLAYNAME="还款周期" OPTIONALVALUE="1,2,6" OPTIONALVALUENAME="按月,按季,指定周期" PARAMETERID="PayFrequencyType" PARAMETERNAME="还款周期" PRIGHTTYPE="Required" SORTNO="" VALUE="1" VALUENAME="按月"/>
@ -1081,7 +1081,7 @@
<Component FORMAT="1" ID="FIRST_PAYMENT" NAME="首付款" STATUS="1" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="Hide"/></Parameters></Component>
<Component FORMAT="1" ID="HANDLING_CHARGE_MONEY" NAME="手续费" STATUS="1" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="收取方式" PARAMETERID="PoundageStyle" PARAMETERNAME="手续费计算方式" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否参与融资" PARAMETERID="FINAN" PARAMETERNAME="是否参与融资" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否差额放款" PARAMETERID="isBalance" PARAMETERNAME="是否差额放款" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="分摊方式" PARAMETERID="oneOrMore" PARAMETERNAME="分摊方式" PRIGHTTYPE="Required"/></Parameters></Component>
<Component FORMAT="1" ID="CAUTION_MONEY" NAME="保证金" STATUS="1" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="显示次序" PARAMETERID="DISPLAY_ORDER" PARAMETERNAME="显示次序" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="保证金计算方式" PARAMETERID="DepositStyle" PARAMETERNAME="保证金计算方式" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否差额放款" PARAMETERID="isBalance" PARAMETERNAME="是否差额放款" PRIGHTTYPE="Required"/></Parameters></Component>
<Component FORMAT="1" ID="MANAGEMENT_MONEY" NAME="管理费" PRODUCT_TYPE="business_product" STATUS="1" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="显示次序" PARAMETERID="DISPLAY_ORDER" PARAMETERNAME="显示次序" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否参与融资" PARAMETERID="FINAN" PARAMETERNAME="是否参与融资" PRIGHTTYPE="Required"/></Parameters></Component>
<Component FORMAT="1" ID="MANAGEMENT_MONEY" NAME="管理费" PRODUCT_TYPE="business_product" STATUS="1" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="Hide" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Hide"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="显示次序" PARAMETERID="DISPLAY_ORDER" PARAMETERNAME="显示次序" PRIGHTTYPE="None"/><Parameter ARIGHTTYPE="None" DISPLAYNAME="是否参与融资" PARAMETERID="FINAN" PARAMETERNAME="是否参与融资" PRIGHTTYPE="None"/></Parameters></Component>
<Component FORMAT="1" ID="OTHER_INCOME" NAME="其他收入" PRODUCT_TYPE="business_product" STATUS="1" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="显示次序" PARAMETERID="DISPLAY_ORDER" PARAMETERNAME="显示次序" PRIGHTTYPE="Required"/></Parameters></Component>
<Component FORMAT="1" ID="OTHER_EXPENDITURE" NAME="其他支出" STATUS="2" TYPE="PRD0315"><Parameters><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收取方向" PARAMETERID="CostType01" PARAMETERNAME="收取方向" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付节点" PARAMETERID="CostType02" PARAMETERNAME="收付节点" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="收付对象" PARAMETERID="CostType03" PARAMETERNAME="收付对象" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="科目编码" PARAMETERID="CostType04" PARAMETERNAME="科目编码" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否显示比例" PARAMETERID="CostType05" PARAMETERNAME="是否显示比例" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="输入方式" PARAMETERID="CostType06" PARAMETERNAME="输入方式" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例参照费用" PARAMETERID="CostType07" PARAMETERNAME="比例参照费用" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="金额限定" PARAMETERID="CostType08" PARAMETERNAME="金额限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="All" DISPLAYNAME="比例限定" PARAMETERID="CostType09" PARAMETERNAME="比例限定" PRIGHTTYPE="All"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="是否参与IRR/XIRR核算" PARAMETERID="CostType10" PARAMETERNAME="是否参与IRR/XIRR核算" PRIGHTTYPE="Required"/><Parameter ARIGHTTYPE="Required" DISPLAYNAME="显示次序" PARAMETERID="DISPLAY_ORDER" PARAMETERNAME="显示次序" PRIGHTTYPE="Required"/></Parameters></Component>

View File

@ -8,6 +8,7 @@ import java.util.Map.Entry;
import java.util.Vector;
import jbo.com.tenwa.lease.comm.CONFIGURATE;
import jbo.prd.BUSINESS_TYPE;
import jbo.sys.CODE_LIBRARY;
import apx.com.amarsoft.als.apzl.apply.business.loan.product.ProductBaseLoanTools;
@ -587,9 +588,16 @@ public class ProductCondition {
doTemp.setColumnAttribute("FREE_DEFA_INTER_DAY","colreadonly", "1");
}
}*/
BizObject bo1 = JBOFactory.createBizObjectQuery(BUSINESS_TYPE.CLASS_NAME,"typeno=:productId")
.setParameter("productId",productId).getSingleResult(false);
String attribute2=(bo1==null)?"":bo1.getAttribute("ATTRIBUTE2").getString();
BizObject bo = JBOFactory.createBizObjectQuery(CONFIGURATE.CLASS_NAME,"ATTR_ID=:attrId")
.setParameter("attrId","免罚息天数配置").getSingleResult(false);
String day = (bo==null)?"":bo.getAttribute("ATTR_VALUE").getString();
String day="0";
if(attribute2!=""&&"car_product".equals(attribute2)){
day = (bo==null)?"":bo.getAttribute("ATTR_VALUE").getString();
}
doTemp.setDefaultValue("FREE_DEFA_INTER_DAY", day);
if(map.containsKey("PENALTY_RATE_DAY")){//罚息日利率

View File

@ -21,10 +21,14 @@ public class DeleteDiscountOccupy extends BaseBussiness {
String projectId=this.getAttribute("ProjectId").toString();
BizObjectManager ldoManage = JBOFactory.getBizObjectManager(LB_DISCOUNT_OCCUPY.CLASS_NAME,Sqlca);
BizObject ldo = ldoManage.createQuery("project_id=:projectid").setParameter("projectid", projectId).getSingleResult(true);
if(ldo!=null){
String sMessage="";
if(ldo!=null){
ldoManage.deleteObject(ldo);
sMessage="true";
}else{
sMessage="false";
}
String sMessage="true";
return sMessage;
}
}

View File

@ -0,0 +1,50 @@
package com.tenwa.lease.flow.project.commbusiness;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import jbo.com.tenwa.lease.comm.CAR_RECLAIM;
import jbo.com.tenwa.lease.comm.CAR_RECLAIM_TEMP;
import jbo.com.tenwa.lease.comm.LB_DISCOUNT_OCCUPY;
import com.amarsoft.app.util.ProductParamUtil;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.context.ASUser;
import com.tenwa.comm.exception.BusinessException;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.flow.baseBussion.BaseBussiness;
public class InsertDiscountOccupy extends BaseBussiness {
@Override
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String uuid = UUID.randomUUID().toString();
String curUserID=this.getAttribute("CurUserID").toString();
String flowUnid=this.getAttribute("FlowUnid").toString();
String productId=this.getAttribute("ProductId").toString();
Map<String, String> discount = ProductParamUtil.getProductComponentAllParameters(productId, "PRD0315", "DISCOUNT");
if(!discount.isEmpty() && !"".equals(discount.get("DISCOUNT_ALL")) && !"".equals(discount.get("CostType08"))) {
synchronized (this) {
String discountAll = discount.get("DISCOUNT_ALL");
String discountValue = discount.get("CostType08");
Transaction tran = Transaction.createTransaction(Sqlca);
String result = tran.getString(new SqlObject("select case when " + discountAll + "-ifnull(sum(discount), 0) >= " + discountValue + " then '0' else '1' end from lb_discount_occupy where product_id = '" +productId+ "'"));
if("0".equals(result)) {
ASUser user = ASUser.getUser(curUserID, tran);
tran.executeSQL(new SqlObject("insert into lb_discount_occupy(id, product_id, flowunid, project_id, discount, inputuserid, inputorgid, inputtime) "
+ " values (replace(uuid(),'-',''), '" + productId + "', '" + flowUnid + "', '" + uuid.replaceAll("-", "") + "',"
+ " " + discountValue + ", '" + curUserID + "', '" + user.getOrgID() + "', replace(now(),'-','/'))"));
} else {
throw new BusinessException("²úÆ·¶î¶ÈÒÑÓÃÍê");
}
}
}
String sMessage="true";
return sMessage;
}
}

View File

@ -79,10 +79,11 @@ public class BusinessApprovalStartAction extends BaseFlowStartAction{
Transaction tran = Transaction.createTransaction(tx);
String result = tran.getString(new SqlObject("select case when " + discountAll + "-ifnull(sum(discount), 0) >= " + discountValue + " then '0' else '1' end from lb_discount_occupy where product_id = '" + this.getProductId() + "'"));
if("0".equals(result)) {
ASUser user = ASUser.getUser(this.CurUserID, tran);
//客户需求由新增申请时插入改为在经销商提交到信审时插入
/*ASUser user = ASUser.getUser(this.CurUserID, tran);
tran.executeSQL(new SqlObject("insert into lb_discount_occupy(id, product_id, flowunid, project_id, discount, inputuserid, inputorgid, inputtime) "
+ " values (replace(uuid(),'-',''), '" + this.getProductId() + "', '" + flowBussiness.getAttribute("flow_unid").toString() + "', '" + uuid.replaceAll("-", "") + "',"
+ " " + discountValue + ", '" + this.CurUserID + "', '" + user.getOrgID() + "', replace(now(),'-','/'))"));
+ " " + discountValue + ", '" + this.CurUserID + "', '" + user.getOrgID() + "', replace(now(),'-','/'))"));*/
} else {
this.setError_message("failed@产品额度已用完");
throw new BusinessException("产品额度已用完");