UserRateBiz.java 3.23 KB
package com.cjs.cms.biz.user;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cjs.cms.biz.user.fund.UserFinanceBiz;
import com.cjs.cms.dao.pub.SysParamValueDao;
import com.cjs.cms.dao.user.UserRateDao;
import com.cjs.cms.model.pub.ConstInfo;
import com.cjs.cms.model.user.UserRateInfo;
import com.cjs.cms.util.lang.DateUtil;
import com.cjs.cms.util.t2.T2Result;

/**
 * 用户年佣信息
 * 
 * @author xiangwei
 *
 */
@Service
public class UserRateBiz {

    @Autowired
    private UserRateDao      rateDao;
    @Autowired
    private UserFinanceBiz   finaceBiz;
    @Autowired
    private SysParamValueDao sysdao;

    /**
     * 查询当天过期的年佣客户 更改状态为过期
     */
    public void updateRate() {
        List<UserRateInfo> list = rateDao.queryExpire();
        for (UserRateInfo userRateInfo : list) {
            userRateInfo.setRateResult("5");
            rateDao.updateRate(userRateInfo);
        }
    }

    /**
     * 申请确认并且扣款
     */
    public String applyRate(UserRateInfo rate, String typename) {
        StringBuffer remarkbuff = new StringBuffer("");
        UserRateInfo rateinfo = rateDao.getRateForId(rate.getId());
        if ("2".equals(rateinfo.getRateResult()) || "3".equals(rateinfo.getRateResult())) {//只有申请续费 或者待开通的时候才扣钱
            String lowBalance = sysdao.getParamValue("rate_balance_low");//拿到最低款
            if ("count".equals(typename)) {
                //扣款
                T2Result t1 = finaceBiz.subtractSysFund(rateinfo.getId() + "",
                    ConstInfo.Fund.USER_RATE, rateinfo.getUserId(), Double.valueOf(lowBalance),
                    ConstInfo.Fund.USER_RATE_REMARK);
                if (t1.getCode() != 0) {//错误
                    return t1.getData().get(0).toString();
                }
                T2Result t2 = finaceBiz.subtractBankFund(rateinfo.getId().toString(),
                    ConstInfo.Fund.USER_RATE, rateinfo.getUserId() + "", Double.valueOf(lowBalance),
                    ConstInfo.Fund.USER_RATE_REMARK);
                if (t2.getCode() != 0) {//错误
                    return t2.getData().get(0).toString();
                }
                remarkbuff.append(rateinfo.getRemark() + DateUtil.getNow() + "收费开通交易佣金年费制<br>");
            } else {
                remarkbuff.append(rateinfo.getRemark() + DateUtil.getNow() + "免费开通交易佣金年费制<br>");
            }

            rate.setRateResult("1");//开通成功
            rate.setRemark(remarkbuff.toString());
            rateDao.updateRate(rate);
            return "0";
        }
        return "开通失败扣款未成功";
    }

    /**
     * 拒绝开通
     */
    public String rejectRate(UserRateInfo rate) {
        StringBuffer remarkbuff = new StringBuffer("");
        UserRateInfo rateinfo = rateDao.getRateForId(rate.getId());
        //如果拒绝开通则追加备注信息
        remarkbuff.append(rateinfo.getRemark() + rate.getAppendremark() + "<br>");
        rate.setRemark(remarkbuff.toString());
        rate.setRateResult("0");//拒绝开通
        rateDao.updateRate(rate);
        return "0";
    }

}