RationInviteConfigAction.java 4.41 KB
package com.cjs.cms.action.ration;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.cjs.cms.biz.ServiceException;
import com.cjs.cms.biz.ration.RationInviteBiz;
import com.cjs.cms.biz.ration.RationInviteConfigBiz;
import com.cjs.cms.dao.ration.RationInviteConfigDao;
import com.cjs.cms.dao.user.MemberDao;
import com.cjs.cms.model.pub.ResultInfo;
import com.cjs.cms.model.ration.RationInviteConfigInfo;
import com.cjs.cms.model.ration.RationInviteUserInfo;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.PageUtils;

/**
 * 邀约配置
 * 
 * @author xiangwei
 *
 */
@RestController
@RequestMapping("/ration/invite/config")
public class RationInviteConfigAction {
    @Autowired
    private RationInviteConfigDao configDao;

    @Autowired
    private RationInviteConfigBiz rationInviteConfigBiz;

    @Autowired
    private MemberDao             memberDao;

    private Logger                log = LogManager.getLogger();

    @Autowired
    private RationInviteBiz       inviteBiz;

    /**
     * 分页查询配售规则
     * @param params
     * @return
     */
    @RequestMapping("list")
    public String list(@RequestParam Map<String, Object> params) {
        PageUtils.processPage(params);
        return JsonUtil.toPageJson(configDao.search(params), configDao.searchTotal(params));
    }

    /**
     * 新增匹配规则
     * @param params
     * @return
     * @throws Exception
     */
    @RequestMapping("add")
    public String add(RationInviteConfigInfo rationInvireConfigInfo) throws Exception {
        String result = "";
        try {
            if (rationInvireConfigInfo.getUsers() == null) {
                rationInvireConfigInfo.setUsers(new ArrayList<RationInviteUserInfo>());
            }
            //剔除users中空的RationInviteUserInfo对象
            rationInvireConfigInfo = rationInviteConfigBiz.validateNullUser(rationInvireConfigInfo);

            //验证规则
            String valiadate = rationInviteConfigBiz.valiadate(rationInvireConfigInfo);
            if (!valiadate.equals("1")) {
                return JsonUtil.toJson("resultCode", valiadate);
            }

            RationInviteUserInfo newUser;
            //为users中的对象赋值otc_account
            for (int i = 0; i < rationInvireConfigInfo.getUsers().size(); i++) {
                newUser = rationInvireConfigInfo.getUsers().get(i);
                rationInvireConfigInfo.getUsers().get(i)
                    .setOtcAccount(memberDao.queryOtcAccount(newUser.getUserId()));
            }

            result = rationInviteConfigBiz.add(rationInvireConfigInfo);
        } catch (ServiceException e) {
            log.info(e.getMessage());
            result = e.getMessage();
        }
        return JsonUtil.toJson("resultCode", result);
    }

    /**
     * 查询应邀规则及对应的应邀用户信息
     * @param rationNewConfigId
     * @return
     */
    @RequestMapping("user")
    public RationInviteConfigInfo getUserInfoByConfigId(String rationInviteConfigId) {
        return rationInviteConfigBiz.getUserInfoByConfigId(rationInviteConfigId);
    }

    /**
     * 查看规则弹窗功能查询_下部分表格数据
     * @param id
     * @return
     */
    @RequestMapping("detailB")
    public List<Map<String, Object>> detailBottom(Integer id) {
        return rationInviteConfigBiz.detailBottom(id);
    }

    /**
     * 作废配售规则
     * @param rationInviteConfigId
     * @return
     */
    @RequestMapping("cancel")
    public String cancal(Integer rationInviteConfigId) {
        return JsonUtil.toJson("resultCode", rationInviteConfigBiz.cancel(rationInviteConfigId));
    }

    /**
     * 配售
     * @param rationInviteConfigId
     * @return
     */
    @RequestMapping("ration")
    public ResultInfo ration(Integer rationInviteConfigId) {
        return inviteBiz.ration(rationInviteConfigId);
    }

    /**
     * 发送短信
     * @param id
     * @return
     */
    @RequestMapping("msg")
    public String sendMessage(Integer id) {
        return JsonUtil.toJson("resultCode", rationInviteConfigBiz.sendMessage(id));
    }
}