package com.artfess.application.controller;
import com.artfess.application.model.MessageConfig;
import com.artfess.application.model.MsgTemplate;
import com.artfess.application.persistence.manager.MessageConfigManager;
import com.artfess.application.persistence.manager.MsgTemplateManager;
import com.artfess.base.annotation.ApiGroup;
import com.artfess.base.constants.ApiGroupConsts;
import com.artfess.base.controller.BaseController;
import com.artfess.base.feign.UCFeignService;
import com.artfess.base.model.CommonResult;
import com.artfess.base.query.PageList;
import com.artfess.base.query.QueryFilter;
import com.artfess.base.query.QueryOP;
import com.artfess.base.util.JsonUtil;
import com.artfess.base.util.StringUtil;
import com.artfess.uc.api.service.IUserService;
import com.artfess.uc.manager.OrgManager;
import com.artfess.uc.model.Org;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
*
* 描述:portal_message_config 系统配置类
* 作者:wangping
* 日期:2021-06-18 21:34:36
* 版权:artfess
*
*/
@RestController
@RequestMapping(value = "/msg/messageConfig/v1")
@Api(tags = "消息配置")
@ApiGroup(group = {ApiGroupConsts.GROUP_APPLICATION})
public class MessageConfigController extends BaseController {
@Resource
MessageConfigManager messageConfigManager;
@Resource
MsgTemplateManager msgTemplateManager;
@Autowired
OrgManager orgService;
@Resource
IUserService userService;
@Resource
UCFeignService ucFeignService;
@Resource
OrgManager orgManager;
/**
* 消息配置列表(分页条件查询)数据
*
* @param queryFilter
* @return
* @throws Exception PageJson
* @throws
*/
@PostMapping("/list")
@ApiOperation(value = "消息配置列表", httpMethod = "POST", notes = "获取消息配置列表")
public PageList list(@ApiParam(name = "queryFilter", value = "查询对象") @RequestBody QueryFilter queryFilter) throws Exception {
return messageConfigManager.query(queryFilter);
}
/**
* 根据ID获取配置
*
* @param id
* @return
*/
@RequestMapping(value = "getById", method = RequestMethod.GET, produces = {"application/json; charset=utf-8"})
@ApiOperation(value = "根据ID获取内容", httpMethod = "GET", notes = "根据ID获取内容")
public MessageConfig getById(
@ApiParam(name = "id", value = "id", required = true) @RequestParam String id) {
MessageConfig messageConfig = messageConfigManager.getById(id);
return messageConfig;
}
/**
* 新增消息配置
*
* @param
* @return
* @throws Exception
* @throws
*/
@PostMapping(value = "/save")
@ApiOperation(value = "新增,更新消息配置", httpMethod = "POST", notes = "新增,更新消息配置")
public CommonResult save(@ApiParam(name = "MessageConfig", value = "消息配置", required = true) @RequestBody MessageConfig messageConfig) throws Exception {
// IUserService userService = AppUtil.getBean(IUserService.class);
// List list1 = userService.getUserByAccounts("admin,guest");
// System.out.println(list1);
String msg = "添加消息配置成功";
boolean isExist = false;
if (ObjectUtils.isNotEmpty(messageConfig)) {
QueryFilter queryFilter = QueryFilter.build().withDefaultPage();
String id = messageConfig.getId();
String code = messageConfig.getCode();
if (StringUtils.isNotBlank(id)) {
queryFilter.addFilter("id_", id, QueryOP.NOT_IN);
}
if (StringUtils.isNotBlank(code)) {
queryFilter.addFilter("code_", code, QueryOP.EQUAL);
}
PageList query = baseService.query(queryFilter);
isExist = query.getRows().size() > 0;
}
if (isExist) {
return new CommonResult<>(false, "配置编号已经存在,添加失败", null);
} else {
System.out.println(messageConfig.getUserConfigType());
if (messageConfig.getUserConfigType() == 2){//判断接收配置是否为固定
String userStr = messageConfig.getUserStr();
if (StringUtils.isNotBlank(userStr)){
List