PickPackBiz.java 6.42 KB
package com.cjs.cms.biz.user.pick;

import java.util.HashMap;
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.stereotype.Service;

import com.cjs.cms.biz.quota.QuotaConfigBiz;
import com.cjs.cms.dao.user.pick.PickPackDao;
import com.cjs.cms.dao.user.pick.PickPackageDao;
import com.cjs.cms.model.user.UserInfo;
import com.cjs.cms.model.user.pick.PickPackInfo;
import com.cjs.cms.model.user.pick.PickPackageInfo;
import com.cjs.cms.util.lang.JsonUtil;
import com.cjs.cms.util.lang.StringUtil;
import com.cjs.cms.util.web.ActionUtil;

@Service
public class PickPackBiz {

    private Logger         log = LogManager.getLogger();
    @Autowired
    private PickPackDao    packDao;
    @Autowired
    private QuotaConfigBiz quotaBiz;
    @Autowired
    private PickPackageDao packageDao;

    /**
     * 新增或修改封装规则
     * @param packInfo
     * @return
     */
    public String operate(PickPackInfo packInfo) {
        if (StringUtil.isBlank(packInfo.getId())) {
            return this.add(packInfo);
        } else {
            return this.updatePack(packInfo);
        }
    }

    /**
     * 添加封装规则
     * @param packInfo
     * @return
     */
    public String add(PickPackInfo packInfo) {
        Map<String, Object> outmap = this.validatePack(packInfo);
        if (outmap.get("resultCode").equals("0")) {
            return JsonUtil.toJson(outmap);
        }

        if (packDao.queryPackTypeByOtcCode(packInfo) > 0) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "该藏品已经拥有相同名称的封装方式提,不可重复添加");
            return JsonUtil.toJson(outmap);
        }

        UserInfo userInfo = ActionUtil.getUser();
        packInfo.setCreateBy(userInfo.getTruename());
        packDao.save(packInfo);
        outmap.put("resultCode", "1");
        return JsonUtil.toJson(outmap);
    }

    /**
     * 封装规则校验
     * @param packInfo
     * @return
     */
    public Map<String, Object> validatePack(PickPackInfo packInfo) {
        Map<String, Object> outmap = new HashMap<String, Object>();
        if (StringUtil.isBlank(packInfo.getOtcName())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "藏品名称不能为空");
            return outmap;
        }

        if (!quotaBiz.getOtcNameByOtcCode(packInfo.getOtcCode()).equals(packInfo.getOtcName())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "请输入正确的藏品编号");
            return outmap;
        }

        if (StringUtil.isBlank(packInfo.getPackFee())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "费用不可为空");
            return outmap;
        }

        if (StringUtil.isBlank(packInfo.getPackType())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "封装方式名称不可为空");
            return outmap;
        }

        outmap.put("resultCode", "1");
        return outmap;
    }

    /**
     * 修改封装规则
     * @param packInfo
     * @return
     */
    public String updatePack(PickPackInfo packInfo) {
        Map<String, Object> outmap = this.validatePack(packInfo);
        if (outmap.get("resultCode").equals("0")) {
            return JsonUtil.toJson(outmap);
        }

        UserInfo userInfo = ActionUtil.getUser();
        packInfo.setCreateBy(userInfo.getTruename());
        int result = packDao.updateRule(packInfo);
        if (result > 0) {
            outmap.put("resultCode", "1");
        } else {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "修改失败");
        }
        return JsonUtil.toJson(outmap);
    }

    /**
     * 新增或修改包装方式
     * @param packageInfo
     * @return
     */
    public String operatePackage(PickPackageInfo packageInfo) {
        if (StringUtil.isBlank(packageInfo.getId())) {
            return this.addPackage(packageInfo);
        } else {
            return this.updatePackage(packageInfo);
        }
    }

    /**
     * 新增包装方式
     * @param packageInfo
     * @return
     */
    public String addPackage(PickPackageInfo packageInfo) {
        Map<String, Object> outmap = this.validatePackage(packageInfo);
        if (outmap.get("resultCode").equals("0")) {
            return JsonUtil.toJson(outmap);
        }

        if (packageDao.queryCountByPackageName(packageInfo) > 0) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "包装名称已存在");
            return JsonUtil.toJson(outmap);
        }

        UserInfo userInfo = ActionUtil.getUser();
        packageInfo.setCreateBy(userInfo.getTruename());
        packageDao.save(packageInfo);
        outmap.put("resultCode", "1");
        return JsonUtil.toJson(outmap);
    }

    public Map<String, Object> validatePackage(PickPackageInfo packageInfo) {
        Map<String, Object> outmap = new HashMap<String, Object>();
        if (StringUtil.isBlank(packageInfo.getPackageName())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "包装名称不可为空");
            return outmap;
        }

        if (StringUtil.isBlank(packageInfo.getPackageFee())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "费用不可为空");
            return outmap;
        }

        if (StringUtil.isBlank(packageInfo.getOrderNo())) {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "排序号不可为空");
            return outmap;
        }

        outmap.put("resultCode", "1");
        return outmap;
    }

    /**
     * 修改包装方式
     * @param packageInfo
     * @return
     */
    public String updatePackage(PickPackageInfo packageInfo) {
        Map<String, Object> outmap = this.validatePackage(packageInfo);
        if (outmap.get("resultCode").equals("0")) {
            return JsonUtil.toJson(outmap);
        }

        UserInfo userInfo = ActionUtil.getUser();
        packageInfo.setCreateBy(userInfo.getTruename());
        int result = packageDao.updateRule(packageInfo);
        if (result > 0) {
            outmap.put("resultCode", "1");
        } else {
            outmap.put("resultCode", "0");
            outmap.put("resultMsg", "修改失败");
        }
        return JsonUtil.toJson(outmap);
    }
}