All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.mingsoft.msend.action.MailAction Maven / Gradle / Ivy

/**
The MIT License (MIT) * Copyright (c) 2018 铭飞科技

 * Permission is hereby granted, free of charge, to any person obtaining a copy of
 * this software and associated documentation files (the "Software"), to deal in
 * the Software without restriction, including without limitation the rights to
 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 * the Software, and to permit persons to whom the Software is furnished to do so,
 * subject to the following conditions:

 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.

 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */package net.mingsoft.msend.action;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import net.mingsoft.base.entity.BaseEntity;
import net.mingsoft.base.entity.ResultData;
import net.mingsoft.basic.annotation.LogAnn;
import net.mingsoft.basic.bean.EUListBean;
import net.mingsoft.basic.constant.e.BusinessTypeEnum;
import net.mingsoft.basic.util.BasicUtil;
import net.mingsoft.basic.util.StringUtil;
import net.mingsoft.msend.biz.IMailBiz;
import net.mingsoft.msend.entity.MailEntity;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
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.ResponseBody;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
	
/**
 * 邮件管理控制层
 * @author 铭飞开发团队
 * @version 
 * 版本号:0.0
* 创建日期:2017-8-24 14:41:18
* 历史修订:
*/ @Api(value = "邮件管理控制接口") @Controller @RequestMapping("/${ms.manager.path}/msend/mail") public class MailAction extends net.mingsoft.msend.action.BaseAction{ /** * 注入邮件业务层 */ @Autowired private IMailBiz mailBiz; /** * 返回主界面index */ @GetMapping("/index") public String index(HttpServletResponse response,HttpServletRequest request){ return "/msend/mail/index"; } /** * 查询邮件列表 * @param mail 邮件实体 * mail参数包含字段信息参考:
* appId 应用编号
* mailType 邮件类型
* mailName 账号
* mailPassword
* mailPort
* mailServer 服务器
* mailForm
* mailFormName
* mailEnable 0启用 1禁用
*
返回

*
[
* {
* appId: 应用编号
* mailType: 邮件类型
* mailName: 账号
* mailPassword:
* mailPort:
* mailServer: 服务器
* mailForm:
* mailFormName:
* mailEnable: 0启用 1禁用
* }
* ]

*/ @ApiOperation(value = "查询邮件列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "mailType", value = "邮件类型", required = false,paramType="query"), @ApiImplicitParam(name = "mailName", value = "账号", required = false,paramType="query"), @ApiImplicitParam(name = "mailPassword", value = "账号", required = false,paramType="query"), @ApiImplicitParam(name = "mailPort", value = "端口号", required = false,paramType="query"), @ApiImplicitParam(name = "mailServer", value = "服务器", required = false,paramType="query"), @ApiImplicitParam(name = "mailForm", value = "邮件表单", required = false,paramType="query"), @ApiImplicitParam(name = "mailFormName", value = "邮件表单名称", required = false,paramType="query"), @ApiImplicitParam(name = "mailEnable", value = "0启用 1禁用", required = false,paramType="query"), }) @GetMapping("/list") @ResponseBody public ResultData list(@ModelAttribute @ApiIgnore MailEntity mail, HttpServletResponse response, HttpServletRequest request, ModelMap model) { BasicUtil.startPage(); List mailList = mailBiz.query(mail); return ResultData.build().success(new EUListBean(mailList,(int)BasicUtil.endPage(mailList).getTotal())); } /** * 返回编辑界面mail_form */ @GetMapping("/form") public String form(@ModelAttribute @ApiIgnore MailEntity mail,HttpServletResponse response,HttpServletRequest request,ModelMap model){ if(mail == null){ mail = new MailEntity(); } mail.setAppId(BasicUtil.getAppId()); BaseEntity mailEntity = mailBiz.getEntity(mail.getAppId()); model.addAttribute("mailEntity",com.alibaba.fastjson.JSONObject.toJSONString(mailEntity)); return "/msend/mail/form"; } /** * 获取邮件 * @param mail 邮件实体 * mail参数包含字段信息参考:
* appId 应用编号
* mailType 邮件类型
* mailName 账号
* mailPassword
* mailPort
* mailServer 服务器
* mailForm
* mailFormName
* mailEnable 0启用 1禁用
*
返回

*
{
* appId: 应用编号
* mailType: 邮件类型
* mailName: 账号
* mailPassword:
* mailPort:
* mailServer: 服务器
* mailForm:
* mailFormName:
* mailEnable: 0启用 1禁用
* }

*/ @ApiOperation(value = "获取邮件接口") @ApiImplicitParam(name = "appId", value = "应用编号", required = true,paramType="query") @GetMapping("/get") @ResponseBody public ResultData get(@ModelAttribute @ApiIgnore MailEntity mail,HttpServletResponse response, HttpServletRequest request,ModelMap model){ if(mail.getAppId()<=0) { return ResultData.build().error(getResString("err.error", this.getResString("app.id"))); } MailEntity _mail = (MailEntity)mailBiz.getEntity(mail.getAppId()); return ResultData.build().success(); } /** * 保存邮件实体 * @param mail 邮件实体 * mail参数包含字段信息参考:
* appId 应用编号
* mailType 邮件类型
* mailName 账号
* mailPassword
* mailPort
* mailServer 服务器
* mailForm
* mailFormName
* mailEnable 0启用 1禁用
*
返回

*
{
* appId: 应用编号
* mailType: 邮件类型
* mailName: 账号
* mailPassword:
* mailPort:
* mailServer: 服务器
* mailForm:
* mailFormName:
* mailEnable: 0启用 1禁用
* }

*/ @ApiOperation(value = "查询邮件列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "mailType", value = "邮件类型", required = true,paramType="query"), @ApiImplicitParam(name = "mailName", value = "账号", required = true,paramType="query"), @ApiImplicitParam(name = "mailPassword", value = "密码", required = true,paramType="query"), @ApiImplicitParam(name = "mailPort", value = "端口号", required = false,paramType="query"), @ApiImplicitParam(name = "mailServer", value = "服务器", required = false,paramType="query"), @ApiImplicitParam(name = "mailForm", value = "邮件表单", required = false,paramType="query"), @ApiImplicitParam(name = "mailFormName", value = "邮件表单名称", required = false,paramType="query"), @ApiImplicitParam(name = "mailEnable", value = "0启用 1禁用", required = false,paramType="query"), }) @LogAnn(title = "查询邮件列表接口",businessType= BusinessTypeEnum.INSERT) @PostMapping("/save") @ResponseBody @RequiresPermissions("mail:save") public ResultData save(@ModelAttribute @ApiIgnore MailEntity mail, HttpServletResponse response, HttpServletRequest request,BindingResult result) { //验证邮件类型的值是否合法 if(StringUtil.isBlank(mail.getMailType())){ return ResultData.build().error(getResString("err.empty", this.getResString("mail.type"))); } if(!StringUtil.checkLength(mail.getMailType()+"", 1, 255)){ return ResultData.build().error(getResString("err.length", this.getResString("mail.type"), "1", "255")); } mail.setAppId(BasicUtil.getAppId()); mailBiz.saveEntity(mail); return ResultData.build().success(mail); } /** * @param mail 邮件实体 * mail参数包含字段信息参考:
* appId:多个appId直接用逗号隔开,例如appId=1,2,3,4 * 批量删除邮件 *
返回

*
{code:"错误编码",
* result:"true|false",
* resultMsg:"错误信息"
* }
*/ @ApiOperation(value = "批量删除邮件接口") @LogAnn(title = "批量删除邮件接口",businessType= BusinessTypeEnum.DELETE) @PostMapping("/delete") @ResponseBody @RequiresPermissions("mail:del") public ResultData delete(@RequestBody List mails,HttpServletResponse response, HttpServletRequest request) { int[] ids = new int[mails.size()]; for(int i = 0;imail参数包含字段信息参考:
* appId 应用编号
* mailType 邮件类型
* mailName 账号
* mailPassword
* mailPort
* mailServer 服务器
* mailForm
* mailFormName
* mailEnable 0启用 1禁用
*
返回

*
{
* appId: 应用编号
* mailType: 邮件类型
* mailName: 账号
* mailPassword:
* mailPort:
* mailServer: 服务器
* mailForm:
* mailFormName:
* mailEnable: 0启用 1禁用
* }

*/ @ApiOperation(value = "保存邮件接口") @ApiImplicitParams({ @ApiImplicitParam(name = "appId", value = "应用编号", required = true,paramType="query"), @ApiImplicitParam(name = "mailType", value = "邮件类型", required = true,paramType="query"), @ApiImplicitParam(name = "mailName", value = "账号", required = false,paramType="query"), @ApiImplicitParam(name = "mailPassword", value = "密码", required = false,paramType="query"), @ApiImplicitParam(name = "mailPort", value = "端口号", required = false,paramType="query"), @ApiImplicitParam(name = "mailServer", value = "服务器", required = false,paramType="query"), @ApiImplicitParam(name = "mailForm", value = "邮件表单", required = false,paramType="query"), @ApiImplicitParam(name = "mailFormName", value = "邮件表单名称", required = false,paramType="query"), @ApiImplicitParam(name = "mailEnable", value = "0启用 1禁用", required = false,paramType="query"), }) @LogAnn(title = "保存邮件接口",businessType= BusinessTypeEnum.UPDATE) @PostMapping("/update") @ResponseBody @RequiresPermissions("mail:update") public ResultData update(@ModelAttribute @ApiIgnore MailEntity mail, HttpServletResponse response, HttpServletRequest request) { //验证邮件类型的值是否合法 if(StringUtil.isBlank(mail.getMailType())){ return ResultData.build().error(getResString("err.empty", this.getResString("mail.type"))); } if(!StringUtil.checkLength(mail.getMailType()+"", 1, 255)){ return ResultData.build().error(getResString("err.length", this.getResString("mail.type"), "1", "255")); } mailBiz.updateEntity(mail); return ResultData.build().success(mail); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy