| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- package net.mingsoft.tf.action;
- import java.util.List;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Map;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import cn.hutool.core.util.ObjectUtil;
- import java.util.*;
- import net.mingsoft.base.entity.ResultData;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import java.util.stream.Collectors;
- import org.springframework.web.bind.annotation.*;
- import net.mingsoft.tf.biz.IMessageBiz;
- import net.mingsoft.tf.entity.MessageEntity;
- import net.mingsoft.base.entity.BaseEntity;
- import net.mingsoft.basic.util.BasicUtil;
- import net.mingsoft.basic.util.StringUtil;
- import net.mingsoft.basic.bean.EUListBean;
- import net.mingsoft.basic.annotation.LogAnn;
- import net.mingsoft.basic.constant.e.BusinessTypeEnum;
- import org.apache.commons.lang3.StringUtils;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import io.swagger.v3.oas.annotations.Parameter;
- import io.swagger.v3.oas.annotations.Parameters;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.Hidden;
- import io.swagger.v3.oas.annotations.enums.ParameterIn;
- /**
- * 留言管理控制层
- * @author 阿白
- * 创建日期:2025年12月13日 下午2:14:43<br/>
- * 历史修订:<br/>
- */
- @Tag(name = "后台-留言接口")
- @Controller("tfMessageAction")
- @RequestMapping("/${ms.manager.path}/tf/message")
- public class MessageAction extends net.mingsoft.tf.action.BaseAction{
- /**
- * 注入留言业务层
- */
- @Autowired
- private IMessageBiz messageBiz;
- /**
- * 返回主界面index
- */
- @Hidden
- @GetMapping("/index")
- public String index() {
- return "/tf/message/index";
- }
- /**
- * 返回编辑界面message的form
- */
- @Hidden
- @GetMapping("/form")
- public String form() {
- return "/tf/message/form";
- }
- /**
- * 查询留言列表
- * @param message 留言实体
- */
- @Operation(summary = "查询留言列表接口")
- @Parameters({
- @Parameter(name = "messageName", description = "姓名", in = ParameterIn.QUERY),
- @Parameter(name = "messageCompany", description = "公司", in = ParameterIn.QUERY),
- @Parameter(name = "messageEmail", description = "邮箱", in = ParameterIn.QUERY),
- @Parameter(name = "messageTel", description = "电话", in = ParameterIn.QUERY),
- @Parameter(name = "messageType", description = "咨询类型", in = ParameterIn.QUERY),
- @Parameter(name = "messageContent", description = "内容", in = ParameterIn.QUERY),
- })
- @RequestMapping(value ="/list",method = {RequestMethod.GET,RequestMethod.POST})
- @ResponseBody
- @RequiresPermissions("tf:message:view")
- public ResultData list(@ModelAttribute @Parameter(hidden = true) MessageEntity message) {
- BasicUtil.startPage();
- List messageList = null;
- if ( message.getSqlWhere() != null){
- messageList = messageBiz.query(message);
- } else {
- LambdaQueryWrapper<MessageEntity> wrapper = new LambdaQueryWrapper<>(message).orderByDesc(MessageEntity::getCreateDate);
- messageList = messageBiz.list(wrapper);
- }
- return ResultData.build().success(new EUListBean(messageList,(int)BasicUtil.endPage(messageList).getTotal()));
- }
- /**
- * 获取留言
- * @param message 留言实体
- */
- @Operation(summary = "获取留言列表接口")
- @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY)
- @GetMapping("/get")
- @ResponseBody
- @RequiresPermissions("tf:message:view")
- public ResultData get(@ModelAttribute @Parameter(hidden = true) MessageEntity message) {
- if (StringUtils.isBlank(message.getId())) {
- return ResultData.build().error(getResString("err.error",this.getResString("id")));
- }
- MessageEntity _message = (MessageEntity)messageBiz.getById(message.getId());
- return ResultData.build().success(_message);
- }
- /**
- * 保存留言
- * @param message 留言实体
- */
- @Operation(summary = "保存留言列表接口")
- @Parameters({
- @Parameter(name = "messageName", description = "姓名", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageCompany", description = "公司", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageEmail", description = "邮箱", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageTel", description = "电话", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageType", description = "咨询类型", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageContent", description = "内容", required = false, in = ParameterIn.QUERY),
- })
- @PostMapping("/save")
- @ResponseBody
- @LogAnn(title = "保存留言", businessType = BusinessTypeEnum.INSERT)
- @RequiresPermissions("tf:message:save")
- public ResultData save(@ModelAttribute @Parameter(hidden = true) MessageEntity message) {
- if ( StringUtils.isNotBlank(message.getMessageName()) && !StringUtil.checkLength(message.getMessageName()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.name"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageCompany()) && !StringUtil.checkLength(message.getMessageCompany()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.company"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageEmail()) && !StringUtil.checkLength(message.getMessageEmail()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.email"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageTel()) && !StringUtil.checkLength(message.getMessageTel()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.tel"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageType()) && !StringUtil.checkLength(message.getMessageType()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.type"), "0", "255"));
- }
- messageBiz.save(message);
- return ResultData.build().success(message);
- }
- /**
- * 删除留言
- *
- * @param messages 留言实体
- */
- @Operation(summary = "批量删除留言列表接口")
- @PostMapping("/delete")
- @ResponseBody
- @LogAnn(title = "删除留言", businessType = BusinessTypeEnum.DELETE)
- @RequiresPermissions("tf:message:del")
- public ResultData delete(@RequestBody List<MessageEntity> messages) {
- List<String> ids = (List)messages.stream().map((p) -> {return p.getId();}).collect(Collectors.toList());
- return this.messageBiz.removeByIds(ids) ? ResultData.build().success() : ResultData.build().error(this.getResString("err.error", new String[]{this.getResString("id")}));
- }
- /**
- * 更新留言列表
- *
- * @param message 留言实体
- */
- @Operation(summary = "更新留言列表接口")
- @Parameters({
- @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY),
- @Parameter(name = "messageName", description = "姓名", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageCompany", description = "公司", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageEmail", description = "邮箱", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageTel", description = "电话", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageType", description = "咨询类型", required = false, in = ParameterIn.QUERY),
- @Parameter(name = "messageContent", description = "内容", required = false, in = ParameterIn.QUERY),
- })
- @PostMapping("/update")
- @ResponseBody
- @LogAnn(title = "更新留言", businessType = BusinessTypeEnum.UPDATE)
- @RequiresPermissions("tf:message:update")
- public ResultData update(@ModelAttribute @Parameter(hidden = true) MessageEntity message) {
- //先查询数据是否存在
- MessageEntity _message = (MessageEntity)messageBiz.getById(message.getId());
- if(_message == null) {
- return ResultData.build().error(getResString("err.not.exist",message.getId() ));
- }
- if ( StringUtils.isNotBlank(message.getMessageName()) && !StringUtil.checkLength(message.getMessageName()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.name"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageCompany()) && !StringUtil.checkLength(message.getMessageCompany()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.company"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageEmail()) && !StringUtil.checkLength(message.getMessageEmail()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.email"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageTel()) && !StringUtil.checkLength(message.getMessageTel()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.tel"), "0", "255"));
- }
- if ( StringUtils.isNotBlank(message.getMessageType()) && !StringUtil.checkLength(message.getMessageType()+"", 0, 255)) {
- return ResultData.build().error(getResString("err.length", this.getResString("message.type"), "0", "255"));
- }
- messageBiz.updateById(message);
- return ResultData.build().success(message);
- }
- @GetMapping("verify")
- @ResponseBody
- public ResultData verify(String fieldName, String fieldValue, String id,String idName) {
- boolean verify = false;
- if (StringUtils.isBlank(id)) {
- verify = super.validated("MESSAGE",fieldName,fieldValue);
- } else {
- verify = super.validated("MESSAGE",fieldName,fieldValue,id,idName);
- }
- if (verify) {
- return ResultData.build().success(false);
- }else {
- return ResultData.build().success(true);
- }
- }
- }
|