package com.elephant.framework.galaxy.aroad.module.zhjc.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.elephant.framework.galaxy.aroad.module.zhjc.entity.ZhjcGhjh;
import com.elephant.framework.galaxy.aroad.module.zhjc.entity.ZhjcGhjhGhjdzb;
import com.elephant.framework.galaxy.aroad.module.zhjc.mapper.ZhjcGhjhGhjdzbMapper;
import com.elephant.framework.galaxy.aroad.module.zhjc.mapper.ZhjcGhjhMapper;
import com.elephant.framework.galaxy.aroad.module.zhjc.service.ZhjcGhjhService;
import com.elephant.framework.galaxy.aroad.response.R;
import lombok.AllArgsConstructor;
import net.sf.json.JSONObject;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.Iterator;
import java.util.UUID;

/**
 * 智慧决策_规划计划
 *
 * @author wangjian
 * @date 2019-05-27 14:23:44
 */
@Service
@AllArgsConstructor
public class ZhjcGhjhServiceImpl extends ServiceImpl<ZhjcGhjhMapper, ZhjcGhjh> implements ZhjcGhjhService {

    final ZhjcGhjhMapper zhjcGhjhMapper;

    /**
     * 修改规划计划
     * @param zhjcGhjh
     * @return
     */
    public Boolean updateZhjcGhjh(ZhjcGhjh zhjcGhjh) {
        String xmjd = zhjcGhjh.getXmjd();
        LambdaQueryWrapper<ZhjcGhjh> lambdaQueryWrapper =null;

        if(xmjd.startsWith("2")) {
            lambdaQueryWrapper = Wrappers.<ZhjcGhjh>query().lambda().eq(ZhjcGhjh::getCrowid,zhjcGhjh.getCrowid()).eq(ZhjcGhjh::getXmjd,zhjcGhjh.getXmjd());
        }else {
            lambdaQueryWrapper = Wrappers.<ZhjcGhjh>query().lambda().eq(ZhjcGhjh::getXmid,zhjcGhjh.getXmid()).eq(ZhjcGhjh::getXmjd,zhjcGhjh.getXmjd());
        }
        return zhjcGhjhMapper.update(zhjcGhjh,lambdaQueryWrapper)>0;
    }

    /**
     * 新增规划计划
     * @param zhjcGhjh
     * @return
     */
    public R addZhjcGhjh(ZhjcGhjh zhjcGhjh) {
        R r = new R<>();
        int count = zhjcGhjhMapper.selectCount(Wrappers.<ZhjcGhjh>query().lambda().eq(ZhjcGhjh::getXmid, zhjcGhjh.getXmid()).eq(ZhjcGhjh::getXmjd,zhjcGhjh.getXmjd()));
        if(count> 0) {
            r.setCode(1);
            r.setData(false);
            r.setMsg("此信息已在数据库中存在，请勿重新推送！");
            return r;
        }else {
            zhjcGhjh.setId(UUID.randomUUID().toString().replaceAll("-",""));
            int code = zhjcGhjhMapper.insert(zhjcGhjh);
            if(code>0) {
                r.setCode(0);
                r.setData(true);
                r.setMsg("信息添加成功");
                return r;
            }else {
                r.setCode(2);
                r.setData(false);
                r.setMsg("信息添加失败！");
                return r;
            }
        }
    }
}
