package cn.timer.api.controller.qyxx;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.timer.api.bean.qyxx.CmsAnnouncement;
import cn.timer.api.bean.qyxx.CmsContent;
import cn.timer.api.bean.qyxx.CmsContentModular;
import cn.timer.api.bean.qyxx.CmsIsRead;
import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.dao.qyxx.CmsAnnouncementMapper;
import cn.timer.api.dao.qyxx.CmsContentMapper;
import cn.timer.api.dao.qyxx.CmsIsReadMapper;
import cn.timer.api.dto.qyxx.CmsContentDto;
import cn.timer.api.dto.qyxx.QyxxIsReadDto;
import cn.timer.api.dto.qyxx.QyxxQueryDto;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@RestController
@Api(tags = "5.0企业讯息")
@Transactional
@RequestMapping(value = "/qyxx", produces = { "application/json" })
public class CmsController {

	@Autowired
	private CmsContentMapper cmsContentMapper;

	@Autowired
	private CmsIsReadMapper cmsIsReadMapper;

	@Autowired
	private CmsAnnouncementMapper cmsAnnouncementMapper;

	/**
	 * 查询所有讯息
	 */
	@GetMapping(value = "/hqqyxx")
	@ApiOperation(value = "获取企业讯息", httpMethod = "GET", notes = "接口发布说明")
	public Result<List<CmsContent>> getQyxx(@CurrentUser UserBean userBean) {
		if (userBean.getOrgCode() != null) {

			Integer orgCode = userBean.getOrgCode();

			QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
			queryWrapper.eq("organization_id", orgCode);

			List<CmsContent> qynr = CmsContent.builder().build().selectList(queryWrapper);

			return ResultUtil.data(qynr, "查询成功!");
		}
		return ResultUtil.error("请登录!");
	}

	/**
	 * 查询最新讯息,获取标题和发布时间
	 */
	@GetMapping(value = "/zxqyxx")
	@ApiOperation(value = "获取最新讯息的标题、发布时间", httpMethod = "GET", notes = "接口发布说明")
	public Result<List<CmsContent>> groupbyTime(@CurrentUser UserBean userBean) {
		Integer orgCode = userBean.getOrgCode();
		QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
		queryWrapper.select("id", "title", "author", "releasetime", "fmtpath").eq("releasestate", 0)
				.eq("organization_id", orgCode).orderByDesc("releasetime").last("limit 6");
		List<CmsContent> qynr = CmsContent.builder().build().selectList(queryWrapper);
		return ResultUtil.data(qynr, "查询分类成功!");
	}

	/**
	 * 分类,获取标题和发布时间
	 * 
	 */
//	@GetMapping(value = "/flhqqyxx")
//	@ApiOperation(value = "获取首页分类讯息标题、发布时间", httpMethod = "GET", notes = "接口发布说明")
//	public Result<List<List<CmsContent>>> groupbyTpye(@CurrentUser UserBean userBean) {
//		Integer orgCode = userBean.getOrgCode();
//		List<List<CmsContent>> cmsContentList = new ArrayList<List<CmsContent>>();
//		List<CmsContent> qynrAll = new ArrayList<CmsContent>();
//		QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
//		queryWrapper.select("modularid").eq("organization_id", orgCode).orderByAsc("modularid").groupBy("modularid");
//		List<CmsContent> qynrs = CmsContent.builder().build().selectList(queryWrapper);
//		if (qynrs == null || qynrs.size() == 0) {
//			return ResultUtil.success("查询成功!");
//		}
//		for (CmsContent cmsContent : qynrs) {
//			QueryWrapper<CmsContent> query222 = new QueryWrapper<>();
//			query222.select("id", "modularid", "title", "author", "releasetime").eq("releasestate", 0)
//					.eq("organization_id", orgCode).orderByDesc("releasetime").last("limit 5")
//					.eq("modularid", cmsContent.getModularid());
//			List<CmsContent> cmsContents = CmsContent.builder().build().selectList(query222);
//			if (cmsContents != null && cmsContents.size() > 0) {
//				for (int i = 0; i < cmsContents.size(); i++) {
//					qynrAll.add(cmsContents.get(i));
//				}
//				cmsContentList.add(qynrAll);
//				qynrAll = new ArrayList<CmsContent>();
//			}
//		}
//		return ResultUtil.data(cmsContentList, "查询成功!");
//	}

	/**
	 * 分类内容获取
	 * 
	 */
	@GetMapping(value = "/getType")
	@ApiOperation(value = "分类内容获取", httpMethod = "GET", notes = "接口发布说明")
	public Result<Object> getType(@CurrentUser UserBean userBean) {
		// 分类模块信息
		List<CmsContentModular> list = CmsContentModular.builder().build()
				.selectList(new QueryWrapper<CmsContentModular>().eq("is_open", 0) // 是否开启
//				.eq("organization_id", userBean.getOrgCode())
				);
		List<List<CmsContent>> o = new ArrayList<List<CmsContent>>();
		for (CmsContentModular cmsContentModular : list) {
			// 分类模块id
			Integer id = cmsContentModular.getId();
			QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
			queryWrapper.select("id", "modularid", "title", "author", "releasetime").eq("releasestate", 0)
					.eq("organization_id", userBean.getOrgCode()).orderByDesc("releasetime").eq("modularid", id)
					.last("limit 5");
			List<CmsContent> qynrs = CmsContent.builder().build().selectList(queryWrapper);
			o.add(qynrs);
		}
		return ResultUtil.data(o, "查询成功!");
	}

	/**
	 * 获取分类
	 * 
	 */
	@GetMapping(value = "/xxfl")
	@ApiOperation(value = "获取分类", httpMethod = "GET", notes = "接口发布说明")
	public Result<Object> getxxfl(@CurrentUser UserBean userBean) {
		return ResultUtil.data(CmsContentModular.builder().build().selectList(new QueryWrapper<CmsContentModular>()
//				.eq("organization_id", userBean.getOrgCode())
				.eq("is_open", 0)), "查询分类成功!");
	}

	/**
	 * 新增/修改企业OA讯息
	 */
	@PostMapping(value = "/updateqyxx")
	@ApiOperation(value = "添加/修改企业OA讯息", httpMethod = "POST", notes = "接口发布说明")
	public Result<CmsContent> updateqyxx(@CurrentUser UserBean userBean, @RequestBody CmsContentDto cmsContentDto) {

		Integer orgCode = userBean.getOrgCode();
		Integer empNum = userBean.getEmpNum();

		String str = StringUtils.join(cmsContentDto.getFilepath(), ","); // 数组转字符串(逗号分隔)(推荐)

		CmsContent qynr = new CmsContent();
		BeanUtil.copyProperties(cmsContentDto, qynr);
		qynr.setFilepath(str);
//		Integer i = 10000;
//		qynr.setXxbh("XX" + i++);

		Boolean a = qynr.getId() == null;
		if (a && qynr.getPublisher() == null)
			qynr.setPublisher(empNum);
		qynr.setOrganizationId(orgCode);
		Long now = new Date().getTime();
		// 录入时间
		qynr.setAddeddate(now);

		// 发布方式:1,审核通过后立即发布,2定时发布,3手动发布
		Integer fbfs = qynr.getReleasetype();
		// 定时
		if (fbfs != null && fbfs == 2) {
			qynr.setReleasetime(qynr.getReleasetime());
		}

		qynr.setPublisherName(YgglMainEmp.builder().build().selectOne(new LambdaQueryWrapper<YgglMainEmp>()
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum)).getName());
		qynr.setReleasetype(fbfs);
		qynr.setStatus(0);
		qynr.insertOrUpdate();

		if (a)
			return ResultUtil.data(qynr, "提交成功、等待管理员审核");
		else
			return ResultUtil.data(qynr, "修改成功");
	}

	/**
	 * 删除企业OA讯息
	 */
	@DeleteMapping(value = "/deleteqyxx")
	@ApiOperation(value = "删除企业OA讯息", httpMethod = "DELETE", notes = "接口发布说明")
	public Result<CmsContent> deleteqyxx(@CurrentUser UserBean userBean, @RequestBody List<CmsContent> ids) {
		if (ids != null) {
			cmsContentMapper.deleteBatchIds(ids);
			return ResultUtil.success("删除成功");
		}
		return ResultUtil.error("没这个id");

	}

	/**
	 * 审核企业OA讯息
	 */
	@PostMapping(value = "/shqyxx")
	@ApiOperation(value = "审核企业OA讯息", httpMethod = "POST", notes = "接口发布说明")
	public Result<CmsContent> shqyxx(@CurrentUser UserBean userBean, @RequestBody CmsContent qynr) {
		Long now = new Date().getTime();
		Integer orgCode = userBean.getOrgCode();
		Integer empNum = userBean.getEmpNum();

		YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda()
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum));
		if (ygglMainEmp != null) {
			qynr.setAuditor(ygglMainEmp.getName());// 审核人
		}
		qynr.setAudittime(now.toString());// 审核时间
		qynr.setAuditopinion(qynr.getAuditopinion());// 审核意见

		// 如果通过审核
		if (qynr.getStatus() == 1) {
			if (qynr.getReleasetype() != null && qynr.getReleasetype() == 1) { // 发布方式为审核通过立即发布,设置发布时间为now
				qynr.setReleasetime(now.toString());
				// 已发布
				qynr.setReleasestate(0);
			} else if (qynr.getReleasetype() == 2) { // 定时发布

				QueryWrapper<CmsContent> q = new QueryWrapper<CmsContent>();
				q.select("id", "releasetime").eq("id", qynr.getId());
				CmsContent c = CmsContent.builder().build().selectOne(q);

				// 发布时间
				Long fbsj = Long.parseLong(c.getReleasetime());
				Date date = DateUtil.date(fbsj);
				// 设置为定时发布中
				qynr.setReleasestate(3);
				qynr.updateById();
				// 设置开始定时发布
				Long deley = fbsj - now;
				if (deley >= 0) {
					Timer timer = new Timer();
					timer.schedule(new TimerTask() {
						@Override
						public void run() {
							qynr.setReleasestate(0);
							qynr.updateById();
							timer.cancel();
						}
					}, date);
				} else {
					qynr.setReleasestate(0);
				}

			} else if (qynr.getReleasetype() == 3) { // 手动发布
				// 未发布
				qynr.setReleasestate(1);
			}

		}
		qynr.updateById();
		return ResultUtil.data(qynr, "审核完成");
	}

	/**
	 * 企业OA讯息查询
	 */
	@PostMapping(value = "/qyxxquery")
	@ApiOperation(value = "搜索OA讯息记录", httpMethod = "POST", notes = "接口发布说明")
	public Result<Object> qyxxquery(@CurrentUser UserBean userBean, @RequestBody QyxxQueryDto qyxxQueryDto) {
		String s = qyxxQueryDto.getStartTime();
		String e = qyxxQueryDto.getEndTime();
		Integer t = qyxxQueryDto.getModularid();
		Integer r = qyxxQueryDto.getReleasestate();
		String q = qyxxQueryDto.getQuery();

		Page<CmsContent> page = new Page<CmsContent>(
				qyxxQueryDto.getCurrentPage() == null ? 1 : qyxxQueryDto.getCurrentPage(),
				qyxxQueryDto.getTotalPage() == null ? 10 : qyxxQueryDto.getTotalPage());

		QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("organization_id", userBean.getOrgCode()).eq("status", 1)
				.eq(t != null && t > -1, "modularid", t).eq(r != null && r > -1, "releasestate", r)
				.between(!StrUtil.hasBlank(s) && !StrUtil.hasBlank(e), "releasetime",
						!StrUtil.hasBlank(s) ? s : "1000-01-01 00:00:00",
						!StrUtil.hasBlank(e) ? e : "9999-01-01 00:00:00")
				.and(!StrUtil.hasBlank(q), wq -> wq.like("userid", q).or().like("author", q).or().like("title", q))
				.orderByDesc("addeddate");
		IPage<CmsContent> cmsContentPage = CmsContent.builder().build().selectPage(page, queryWrapper);
		List<CmsContent> cmsContents = cmsContentPage.getRecords();
		cmsContentPage.getCurrent();
		cmsContentPage.getPages();
		cmsContentPage.getTotal();
		cmsContentPage.getSize();
		return ResultUtil.data(cmsContentPage, cmsContents, "企业OA讯息搜索成功");
	}

	/**
	 * 根据id查讯息
	 * 
	 * @param id
	 * @return
	 */
	@GetMapping(value = "/returnpath")
	@ApiOperation(value = "根据id查讯息", httpMethod = "GET", notes = "接口发布说明")
	public Result<Object> returnPath(@CurrentUser UserBean userBean, @RequestParam Integer id) {
		QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("id", id);
		CmsContent cmsContent = CmsContent.builder().build().selectOne(queryWrapper);
		String[] f = null;
		if (cmsContent != null && cmsContent.getFilepath() != null) {
			f = cmsContent.getFilepath().split(",");
		}
		CmsContentDto cmsContentDto = new CmsContentDto();
		BeanUtil.copyProperties(cmsContent, cmsContentDto);
		cmsContentDto.setFilepath(f);
		return ResultUtil.data(cmsContentDto);
	}

	/**
	 * OA审核讯息查询搜索
	 */
	@PostMapping(value = "/shxxquery")
	@ApiOperation(value = "搜索OA讯息审核记录", httpMethod = "POST", notes = "接口发布说明")
	public Result<Object> shxxquery(@CurrentUser UserBean userBean, @RequestBody QyxxQueryDto qyxxQueryDto) {
		String s = qyxxQueryDto.getStartTime();
		String e = qyxxQueryDto.getEndTime();
		Integer t = qyxxQueryDto.getModularid();
		String q = qyxxQueryDto.getQuery();
		// 分页
		Page<CmsContent> page = new Page<CmsContent>(
				qyxxQueryDto.getCurrentPage() == null ? 1 : qyxxQueryDto.getCurrentPage(),
				qyxxQueryDto.getTotalPage() == null ? 10 : qyxxQueryDto.getTotalPage());
		// 查询条件
		QueryWrapper<CmsContent> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("organization_id", userBean.getOrgCode())
				.select("id", "auditopinion", "modularid", "status", "title", "releasetime", "addeddate", "author",
						"summary", "releasetype", "fmtpath")
				.ne("status", 1).eq(t != null && t > -1, "modularid", t)
				.between(!StrUtil.hasBlank(s) && !StrUtil.hasBlank(e), "releasetime",
						!StrUtil.hasBlank(s) ? s : "1000-01-01 00:00:00",
						!StrUtil.hasBlank(e) ? e : "9999-01-01 00:00:00")
				.and(!StrUtil.hasBlank(q), wq -> wq.like("userid", q).or().like("author", q).or().like("title", q))
				.orderByDesc("addeddate");
		IPage<CmsContent> CmsContentPage = CmsContent.builder().build().selectPage(page, queryWrapper);
		List<CmsContent> CmsContents = CmsContentPage.getRecords();
		CmsContentPage.getCurrent();
		CmsContentPage.getPages();
		CmsContentPage.getTotal();
		CmsContentPage.getSize();
		return ResultUtil.data(CmsContentPage, CmsContents, "企业OA讯息审核情况搜索成功");
	}

	/**
	 * 讯息发布
	 * 
	 * @param id
	 */
	@GetMapping(value = "/qyxxsdfb/{id}")
	@ApiOperation(value = "OA讯息手动发布", httpMethod = "GET", notes = "接口发布说明")
	public Result<Void> qyxxsdfb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		// 根据id将状态设为发布
		CmsContent q = new CmsContent();
		UpdateWrapper<CmsContent> updateWrapper = new UpdateWrapper<>();
		updateWrapper.eq("id", id);
		Long now = new Date().getTime();// 时间毫秒数
		q = CmsContent.builder().organizationId(userBean.getOrgCode()).id(id).releasestate(0)
				.releasetime(now.toString()).build();
		cmsContentMapper.update(q, updateWrapper);
		return ResultUtil.success("发布成功");
	}

	/**
	 * 讯息收回
	 * 
	 * @param id
	 */
	@GetMapping(value = "/qyxxtb/{id}")
	@ApiOperation(value = "OA讯息发布收回", httpMethod = "GET", notes = "接口发布说明")
	public Result<Void> takeBack(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		// 根据id将状态设为收回
		CmsContent q = new CmsContent();
		UpdateWrapper<CmsContent> updateWrapper = new UpdateWrapper<>();
		updateWrapper.eq("id", id);
		Date now = new Date();
		q = CmsContent.builder().organizationId(userBean.getOrgCode()).id(id).releasestate(2)
				.takeBack(userBean.getEmpNum()).takeBackTime(now.toString()).build();
		cmsContentMapper.update(q, updateWrapper);
		return ResultUtil.success("收回成功");
	}

	/**
	 * 添加已读
	 * 
	 * @param userBean
	 * @param id
	 * @return
	 */
	@GetMapping(value = "/isread")
	@ApiOperation(value = "添加已读人", httpMethod = "GET", notes = "接口发布说明")
	public Result<Void> isRead(@CurrentUser UserBean userBean, Integer mid) {
		Integer empNum = userBean.getEmpNum();

		QueryWrapper<CmsIsRead> q = new QueryWrapper<CmsIsRead>();
		q.eq("mid", mid).eq("uid", empNum);

		CmsIsRead cmsIsRead = CmsIsRead.builder().build().selectOne(q);
		if (!q.equals(null)) {
			cmsIsRead.setMid(mid);
			cmsIsRead.setUid(empNum);
			cmsIsRead.setReadTime(new Date());
			cmsIsRead.insert();
			return ResultUtil.success("添加成功");
		}
		return ResultUtil.success("已存在");
	}

	/**
	 * 查询已读人
	 * 
	 * @param userBean
	 * @param mid
	 * @return
	 */
	@PostMapping(value = "/qisread")
	@ApiOperation(value = "查询讯息已读人", httpMethod = "POST", notes = "接口发布说明")
	public Result<QyxxIsReadDto> queryIsRead(@CurrentUser UserBean userBean, @RequestBody Integer mid) {
		QyxxIsReadDto q = cmsIsReadMapper.queryIsReadEmp(userBean.getOrgCode(), mid);
		return ResultUtil.data(q, "查询成功");
	}

	/******************* 以下轮播信息 ************************/

	/**
	 * 新增/修改轮播信息
	 */
	@PostMapping(value = "/addCarousel")
	@ApiOperation(value = "新增轮播信息", httpMethod = "POST", notes = "接口发布说明")
	public Result<CmsAnnouncement> addCarousel(@CurrentUser UserBean userBean,
			@RequestBody CmsAnnouncement cmsAnnouncement) {
		cmsAnnouncement.setFbrid(userBean.getEmpNum());
		cmsAnnouncement.setFbtime(new Date());
		cmsAnnouncement.setOrgCode(userBean.getOrgCode());
		cmsAnnouncement.insertOrUpdate();
		return ResultUtil.data(cmsAnnouncement, "新增/修改成功");
	}

	/**
	 * 删除轮播信息
	 */
	@DeleteMapping(value = "/delCarousel/{id}")
	@ApiOperation(value = "删除轮播信息", httpMethod = "DELETE", notes = "接口发布说明")
	public Result<Object> delCarousel(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
		return ResultUtil.data(CmsAnnouncement.builder().build()
				.delete(new QueryWrapper<CmsAnnouncement>().eq("org_code", orgCode).eq("id", id)), "删除成功");
	}

	/**
	 * 查询轮播信息列表
	 */
	@PostMapping(value = "/queryCarousel")
	@ApiOperation(value = "查询轮播信息", httpMethod = "POST", notes = "接口发布说明")
	public Result<Object> delCarousel(@CurrentUser UserBean userBean, @RequestBody QyxxQueryDto qyxxQueryDto) {
		String s = qyxxQueryDto.getStartTime();
		String e = qyxxQueryDto.getEndTime();
		String q = qyxxQueryDto.getQuery();
		Page<CmsAnnouncement> page = new Page<CmsAnnouncement>(
				qyxxQueryDto.getCurrentPage() == null ? 1 : qyxxQueryDto.getCurrentPage(),
				qyxxQueryDto.getTotalPage() == null ? 10 : qyxxQueryDto.getTotalPage());
		QueryWrapper<CmsAnnouncement> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("org_code", userBean.getOrgCode());
		queryWrapper.between(!StrUtil.hasBlank(s) && !StrUtil.hasBlank(e), "fbtime",
				!StrUtil.hasBlank(s) ? s : "1000-01-01 00:00:00", !StrUtil.hasBlank(e) ? e : "9999-01-01 00:00:00")
				.and(!StrUtil.hasBlank(q), wq -> wq.like("title", q).or().like("fbnr", q)).orderByDesc("fbtime");

		IPage<CmsAnnouncement> cmsAnnouncementPage = CmsAnnouncement.builder().build().selectPage(page, queryWrapper);
		List<CmsAnnouncement> cmsAnnouncements = cmsAnnouncementPage.getRecords();
		cmsAnnouncementPage.getCurrent();
		cmsAnnouncementPage.getPages();
		cmsAnnouncementPage.getTotal();
		cmsAnnouncementPage.getSize();
		return ResultUtil.data(cmsAnnouncementPage, cmsAnnouncements, "查询成功");
	}

	/**
	 * 查询默认轮播信息
	 */
	@GetMapping(value = "/defaultCarousel")
	@ApiOperation(value = "查询轮播信息(默认)", httpMethod = "GET", notes = "接口发布说明")
	public Result<Object> defaultCarousel(@CurrentUser UserBean userBean) {
		return ResultUtil.data(
				CmsAnnouncement.builder().build().selectOne(
						new QueryWrapper<CmsAnnouncement>().eq("is_default", 1).eq("org_code", userBean.getOrgCode())),
				"查询成功");
	}

	/**
	 * 设置默认
	 */
	@GetMapping(value = "/default/{id}")
	@ApiOperation(value = "设置默认轮播信息", httpMethod = "GET", notes = "接口发布说明")
	public Result<Void> setDefault(@CurrentUser UserBean userBean, @PathVariable("id") Integer id) {
		// 将所有设为非默认
		UpdateWrapper<CmsAnnouncement> updateWrapper = new UpdateWrapper<CmsAnnouncement>();
		CmsAnnouncement q = CmsAnnouncement.builder().orgCode(userBean.getOrgCode()).isDefault(0).build();
		cmsAnnouncementMapper.update(q, updateWrapper);

		// 根据id设为默认
		updateWrapper.eq("id", id);
		CmsAnnouncement w = CmsAnnouncement.builder().orgCode(userBean.getOrgCode()).id(id).isDefault(1).build();
		cmsAnnouncementMapper.update(w, updateWrapper);

		// 返回成功
		return ResultUtil.success("设置成功");
	}

}