UserTradeBiz.java 2.69 KB
package com.cjs.site.biz.user;

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;

import com.cjs.site.dao.user.quota.OtcHolderDao;
import com.cjs.site.util.t2.T2Result;
import com.cjs.site.util.t2.T2Util;

/**
 * 交易
 * 
 * @author tongxiaochuan
 *
 */
@Service
public class UserTradeBiz {

    Logger               log = LogManager.getLogger();
    @Autowired
    private OtcHolderDao otcHolderDao;

    /**
     * 非交易权益过户
     * 
     * @param otcCode 藏品编号
     * @param sellFundAccount 出让方会员号
     * @param buyFundAccount 认购方会员号
     * @param occurAmount 过户数量
     * @param remark 备注
     * @return
     */
    public T2Result transfer(String otcCode, final String sellFundAccount,
                             final String buyFundAccount, Integer occurAmount, String remark) {
        Assert.state(StringUtils.isNotBlank(otcCode), "藏品编号不能为空");
        Assert.state(StringUtils.isNotBlank(sellFundAccount), "出让方会员号不能为空");
        Assert.state(StringUtils.isNotBlank(buyFundAccount), "认购方会员号不能为空");

        String sellSdcAccount = otcHolderDao.queryOtcAccount(sellFundAccount);
        String buySdcAccount = otcHolderDao.queryOtcAccount(buyFundAccount);
        Assert.notNull(sellSdcAccount, "出让方权益账号不存在");
        Assert.notNull(buySdcAccount, "认购方权益账号不存在");
        Map<String, Object> params = new HashMap<String, Object>();

        params.put("op_branch_no", "11"); //操作分支机构
        params.put("operator_no", "2001"); //操作员
        params.put("user_type", "1");
        params.put("op_password", "");
        params.put("op_station", "cms"); //站点地址
        params.put("op_entrust_way", "7"); //申请方式(7:网络)
        params.put("menu_id", "220202");
        params.put("function_id", "601004");
        params.put("branch_no", "11"); //分支机构
        params.put("audit_action", "0");
        params.put("sdc_code", otcCode);
        params.put("sdc_account", sellSdcAccount);
        params.put("opp_sdcaccount", buySdcAccount);
        params.put("gh_type", "0"); //过户类别(0:流通股)
        params.put("occur_amount", occurAmount);
        params.put("remark", remark);
        params.put("sdcexch_type", "");
        T2Result result = T2Util.request(params, "601004");
        log.info("非交易权益过户:" + result);
        return result;
    }
}