From 26dd6c296242b06a422352192a3bdabc2af8fc71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=8E=B2=E7=8E=B2?= <11921619+ling__hh@user.noreply.gitee.com> Date: Thu, 27 Jun 2024 10:12:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=88=BF=E5=B1=8B=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DiscussfangwuxinxiController.java | 203 +++++++ .../java/com/dao/DiscussfangwuxinxiDao.java | 32 ++ .../com/entity/DiscussfangwuxinxiEntity.java | 145 +++++ .../entity/model/DiscussfangwuxinxiModel.java | 90 +++ .../entity/view/DiscussfangwuxinxiView.java | 35 ++ .../com/entity/vo/DiscussfangwuxinxiVO.java | 90 +++ .../service/DiscussfangwuxinxiService.java | 36 ++ .../impl/DiscussfangwuxinxiServiceImpl.java | 62 ++ .../discussfangwuxinxi/add-or-update.vue | 425 ++++++++++++++ .../views/modules/discussfangwuxinxi/list.vue | 530 ++++++++++++++++++ .../mapper/DiscussfangwuxinxiDao.xml | 38 ++ 11 files changed, 1686 insertions(+) create mode 100644 src/main/java/com/controller/DiscussfangwuxinxiController.java create mode 100644 src/main/java/com/dao/DiscussfangwuxinxiDao.java create mode 100644 src/main/java/com/entity/DiscussfangwuxinxiEntity.java create mode 100644 src/main/java/com/entity/model/DiscussfangwuxinxiModel.java create mode 100644 src/main/java/com/entity/view/DiscussfangwuxinxiView.java create mode 100644 src/main/java/com/entity/vo/DiscussfangwuxinxiVO.java create mode 100644 src/main/java/com/service/DiscussfangwuxinxiService.java create mode 100644 src/main/java/com/service/impl/DiscussfangwuxinxiServiceImpl.java create mode 100644 src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/add-or-update.vue create mode 100644 src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/list.vue create mode 100644 src/main/resources/mapper/DiscussfangwuxinxiDao.xml diff --git a/src/main/java/com/controller/DiscussfangwuxinxiController.java b/src/main/java/com/controller/DiscussfangwuxinxiController.java new file mode 100644 index 0000000..00332f9 --- /dev/null +++ b/src/main/java/com/controller/DiscussfangwuxinxiController.java @@ -0,0 +1,203 @@ +package com.controller; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Map; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Date; +import java.util.List; +import javax.servlet.http.HttpServletRequest; + +import com.utils.ValidatorUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +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.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.annotation.IgnoreAuth; + +import com.entity.DiscussfangwuxinxiEntity; +import com.entity.view.DiscussfangwuxinxiView; + +import com.service.DiscussfangwuxinxiService; +import com.service.TokenService; +import com.utils.PageUtils; +import com.utils.R; +import com.utils.MD5Util; +import com.utils.MPUtil; +import com.utils.CommonUtil; + + +/** + * 房屋信息评论表 + * 后端接口 + * @author + * @email + */ +@RestController +@RequestMapping("/discussfangwuxinxi") +public class DiscussfangwuxinxiController { + @Autowired + private DiscussfangwuxinxiService discussfangwuxinxiService; + + + + /** + * 后端列表 + */ + @RequestMapping("/page") + public R page(@RequestParam Map params,DiscussfangwuxinxiEntity discussfangwuxinxi, HttpServletRequest request){ + EntityWrapper ew = new EntityWrapper(); + PageUtils page = discussfangwuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussfangwuxinxi), params), params)); + + return R.ok().put("data", page); + } + + /** + * 前端列表 + */ + @IgnoreAuth + @RequestMapping("/list") + public R list(@RequestParam Map params,DiscussfangwuxinxiEntity discussfangwuxinxi, HttpServletRequest request){ + EntityWrapper ew = new EntityWrapper(); + PageUtils page = discussfangwuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussfangwuxinxi), params), params)); + return R.ok().put("data", page); + } + + /** + * 列表 + */ + @RequestMapping("/lists") + public R list( DiscussfangwuxinxiEntity discussfangwuxinxi){ + EntityWrapper ew = new EntityWrapper(); + ew.allEq(MPUtil.allEQMapPre( discussfangwuxinxi, "discussfangwuxinxi")); + return R.ok().put("data", discussfangwuxinxiService.selectListView(ew)); + } + + /** + * 查询 + */ + @RequestMapping("/query") + public R query(DiscussfangwuxinxiEntity discussfangwuxinxi){ + EntityWrapper< DiscussfangwuxinxiEntity> ew = new EntityWrapper< DiscussfangwuxinxiEntity>(); + ew.allEq(MPUtil.allEQMapPre( discussfangwuxinxi, "discussfangwuxinxi")); + DiscussfangwuxinxiView discussfangwuxinxiView = discussfangwuxinxiService.selectView(ew); + return R.ok("查询房屋信息评论表成功").put("data", discussfangwuxinxiView); + } + + /** + * 后端详情 + */ + @RequestMapping("/info/{id}") + public R info(@PathVariable("id") Long id){ + DiscussfangwuxinxiEntity discussfangwuxinxi = discussfangwuxinxiService.selectById(id); + return R.ok().put("data", discussfangwuxinxi); + } + + /** + * 前端详情 + */ + @RequestMapping("/detail/{id}") + public R detail(@PathVariable("id") Long id){ + DiscussfangwuxinxiEntity discussfangwuxinxi = discussfangwuxinxiService.selectById(id); + return R.ok().put("data", discussfangwuxinxi); + } + + + + + /** + * 后端保存 + */ + @RequestMapping("/save") + public R save(@RequestBody DiscussfangwuxinxiEntity discussfangwuxinxi, HttpServletRequest request){ + discussfangwuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); + //ValidatorUtils.validateEntity(discussfangwuxinxi); + discussfangwuxinxiService.insert(discussfangwuxinxi); + return R.ok(); + } + + /** + * 前端保存 + */ + @RequestMapping("/add") + public R add(@RequestBody DiscussfangwuxinxiEntity discussfangwuxinxi, HttpServletRequest request){ + discussfangwuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); + //ValidatorUtils.validateEntity(discussfangwuxinxi); + discussfangwuxinxiService.insert(discussfangwuxinxi); + return R.ok(); + } + + /** + * 修改 + */ + @RequestMapping("/update") + public R update(@RequestBody DiscussfangwuxinxiEntity discussfangwuxinxi, HttpServletRequest request){ + //ValidatorUtils.validateEntity(discussfangwuxinxi); + discussfangwuxinxiService.updateById(discussfangwuxinxi);//全部更新 + return R.ok(); + } + + + /** + * 删除 + */ + @RequestMapping("/delete") + public R delete(@RequestBody Long[] ids){ + discussfangwuxinxiService.deleteBatchIds(Arrays.asList(ids)); + return R.ok(); + } + + /** + * 提醒接口 + */ + @RequestMapping("/remind/{columnName}/{type}") + public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, + @PathVariable("type") String type,@RequestParam Map map) { + map.put("column", columnName); + map.put("type", type); + + if(type.equals("2")) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar c = Calendar.getInstance(); + Date remindStartDate = null; + Date remindEndDate = null; + if(map.get("remindstart")!=null) { + Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); + c.setTime(new Date()); + c.add(Calendar.DAY_OF_MONTH,remindStart); + remindStartDate = c.getTime(); + map.put("remindstart", sdf.format(remindStartDate)); + } + if(map.get("remindend")!=null) { + Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); + c.setTime(new Date()); + c.add(Calendar.DAY_OF_MONTH,remindEnd); + remindEndDate = c.getTime(); + map.put("remindend", sdf.format(remindEndDate)); + } + } + + Wrapper wrapper = new EntityWrapper(); + if(map.get("remindstart")!=null) { + wrapper.ge(columnName, map.get("remindstart")); + } + if(map.get("remindend")!=null) { + wrapper.le(columnName, map.get("remindend")); + } + + + int count = discussfangwuxinxiService.selectCount(wrapper); + return R.ok().put("count", count); + } + + + +} diff --git a/src/main/java/com/dao/DiscussfangwuxinxiDao.java b/src/main/java/com/dao/DiscussfangwuxinxiDao.java new file mode 100644 index 0000000..f3df7ae --- /dev/null +++ b/src/main/java/com/dao/DiscussfangwuxinxiDao.java @@ -0,0 +1,32 @@ +package com.dao; + +import com.entity.DiscussfangwuxinxiEntity; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import java.util.List; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.pagination.Pagination; + +import org.apache.ibatis.annotations.Param; +import com.entity.vo.DiscussfangwuxinxiVO; +import com.entity.view.DiscussfangwuxinxiView; + + +/** + * 房屋信息评论表 + * + * @author + * @email + */ +public interface DiscussfangwuxinxiDao extends BaseMapper { + + List selectListVO(@Param("ew") Wrapper wrapper); + + DiscussfangwuxinxiVO selectVO(@Param("ew") Wrapper wrapper); + + List selectListView(@Param("ew") Wrapper wrapper); + + List selectListView(Pagination page,@Param("ew") Wrapper wrapper); + + DiscussfangwuxinxiView selectView(@Param("ew") Wrapper wrapper); + +} diff --git a/src/main/java/com/entity/DiscussfangwuxinxiEntity.java b/src/main/java/com/entity/DiscussfangwuxinxiEntity.java new file mode 100644 index 0000000..e555cc5 --- /dev/null +++ b/src/main/java/com/entity/DiscussfangwuxinxiEntity.java @@ -0,0 +1,145 @@ +package com.entity; + +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.annotations.TableName; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.lang.reflect.InvocationTargetException; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.beanutils.BeanUtils; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.enums.FieldFill; +import com.baomidou.mybatisplus.enums.IdType; + + +/** + * 房屋信息评论表 + * 数据库通用操作实体类(普通增删改查) + * @author + * @email + */ +@TableName("discussfangwuxinxi") +public class DiscussfangwuxinxiEntity implements Serializable { + private static final long serialVersionUID = 1L; + + + public DiscussfangwuxinxiEntity() { + + } + + public DiscussfangwuxinxiEntity(T t) { + try { + BeanUtils.copyProperties(this, t); + } catch (IllegalAccessException | InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + /** + * 主键id + */ + @TableId + private Long id; + /** + * 关联表id + */ + + private Long refid; + + /** + * 用户id + */ + + private Long userid; + + /** + * 评论内容 + */ + + private String content; + + /** + * 回复内容 + */ + + private String reply; + + + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat + private Date addtime; + + public Date getAddtime() { + return addtime; + } + public void setAddtime(Date addtime) { + this.addtime = addtime; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + /** + * 设置:关联表id + */ + public void setRefid(Long refid) { + this.refid = refid; + } + /** + * 获取:关联表id + */ + public Long getRefid() { + return refid; + } + /** + * 设置:用户id + */ + public void setUserid(Long userid) { + this.userid = userid; + } + /** + * 获取:用户id + */ + public Long getUserid() { + return userid; + } + /** + * 设置:评论内容 + */ + public void setContent(String content) { + this.content = content; + } + /** + * 获取:评论内容 + */ + public String getContent() { + return content; + } + /** + * 设置:回复内容 + */ + public void setReply(String reply) { + this.reply = reply; + } + /** + * 获取:回复内容 + */ + public String getReply() { + return reply; + } + +} diff --git a/src/main/java/com/entity/model/DiscussfangwuxinxiModel.java b/src/main/java/com/entity/model/DiscussfangwuxinxiModel.java new file mode 100644 index 0000000..a93123f --- /dev/null +++ b/src/main/java/com/entity/model/DiscussfangwuxinxiModel.java @@ -0,0 +1,90 @@ +package com.entity.model; + +import com.entity.DiscussfangwuxinxiEntity; + +import com.baomidou.mybatisplus.annotations.TableName; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.io.Serializable; + + +/** + * 房屋信息评论表 + * 接收传参的实体类 + * 取自ModelAndView 的model名称 + * @author + * @email + */ +public class DiscussfangwuxinxiModel implements Serializable { + private static final long serialVersionUID = 1L; + + + /** + * 用户id + */ + + private Long userid; + + /** + * 评论内容 + */ + + private String content; + + /** + * 回复内容 + */ + + private String reply; + + + /** + * 设置:用户id + */ + + public void setUserid(Long userid) { + this.userid = userid; + } + + /** + * 获取:用户id + */ + public Long getUserid() { + return userid; + } + + + /** + * 设置:评论内容 + */ + + public void setContent(String content) { + this.content = content; + } + + /** + * 获取:评论内容 + */ + public String getContent() { + return content; + } + + + /** + * 设置:回复内容 + */ + + public void setReply(String reply) { + this.reply = reply; + } + + /** + * 获取:回复内容 + */ + public String getReply() { + return reply; + } + +} diff --git a/src/main/java/com/entity/view/DiscussfangwuxinxiView.java b/src/main/java/com/entity/view/DiscussfangwuxinxiView.java new file mode 100644 index 0000000..de37490 --- /dev/null +++ b/src/main/java/com/entity/view/DiscussfangwuxinxiView.java @@ -0,0 +1,35 @@ +package com.entity.view; + +import com.entity.DiscussfangwuxinxiEntity; + +import com.baomidou.mybatisplus.annotations.TableName; +import org.apache.commons.beanutils.BeanUtils; +import java.lang.reflect.InvocationTargetException; + +import java.io.Serializable; + + +/** + * 房屋信息评论表 + * 后端返回视图实体辅助类 + * (通常后端关联的表或者自定义的字段需要返回使用) + * @author + * @email + */ +@TableName("discussfangwuxinxi") +public class DiscussfangwuxinxiView extends DiscussfangwuxinxiEntity implements Serializable { + private static final long serialVersionUID = 1L; + + public DiscussfangwuxinxiView(){ + } + + public DiscussfangwuxinxiView(DiscussfangwuxinxiEntity discussfangwuxinxiEntity){ + try { + BeanUtils.copyProperties(this, discussfangwuxinxiEntity); + } catch (IllegalAccessException | InvocationTargetException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } +} diff --git a/src/main/java/com/entity/vo/DiscussfangwuxinxiVO.java b/src/main/java/com/entity/vo/DiscussfangwuxinxiVO.java new file mode 100644 index 0000000..dfdec6d --- /dev/null +++ b/src/main/java/com/entity/vo/DiscussfangwuxinxiVO.java @@ -0,0 +1,90 @@ +package com.entity.vo; + +import com.entity.DiscussfangwuxinxiEntity; + +import com.baomidou.mybatisplus.annotations.TableName; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.io.Serializable; + + +/** + * 房屋信息评论表 + * 手机端接口返回实体辅助类 + * (主要作用去除一些不必要的字段) + * @author + * @email + */ +public class DiscussfangwuxinxiVO implements Serializable { + private static final long serialVersionUID = 1L; + + + /** + * 用户id + */ + + private Long userid; + + /** + * 评论内容 + */ + + private String content; + + /** + * 回复内容 + */ + + private String reply; + + + /** + * 设置:用户id + */ + + public void setUserid(Long userid) { + this.userid = userid; + } + + /** + * 获取:用户id + */ + public Long getUserid() { + return userid; + } + + + /** + * 设置:评论内容 + */ + + public void setContent(String content) { + this.content = content; + } + + /** + * 获取:评论内容 + */ + public String getContent() { + return content; + } + + + /** + * 设置:回复内容 + */ + + public void setReply(String reply) { + this.reply = reply; + } + + /** + * 获取:回复内容 + */ + public String getReply() { + return reply; + } + +} diff --git a/src/main/java/com/service/DiscussfangwuxinxiService.java b/src/main/java/com/service/DiscussfangwuxinxiService.java new file mode 100644 index 0000000..31f113e --- /dev/null +++ b/src/main/java/com/service/DiscussfangwuxinxiService.java @@ -0,0 +1,36 @@ +package com.service; + +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.service.IService; +import com.utils.PageUtils; +import com.entity.DiscussfangwuxinxiEntity; +import java.util.List; +import java.util.Map; +import com.entity.vo.DiscussfangwuxinxiVO; +import org.apache.ibatis.annotations.Param; +import com.entity.view.DiscussfangwuxinxiView; + + +/** + * 房屋信息评论表 + * + * @author + * @email + * @date 2021-03-04 18:46:21 + */ +public interface DiscussfangwuxinxiService extends IService { + + PageUtils queryPage(Map params); + + List selectListVO(Wrapper wrapper); + + DiscussfangwuxinxiVO selectVO(@Param("ew") Wrapper wrapper); + + List selectListView(Wrapper wrapper); + + DiscussfangwuxinxiView selectView(@Param("ew") Wrapper wrapper); + + PageUtils queryPage(Map params,Wrapper wrapper); + +} + diff --git a/src/main/java/com/service/impl/DiscussfangwuxinxiServiceImpl.java b/src/main/java/com/service/impl/DiscussfangwuxinxiServiceImpl.java new file mode 100644 index 0000000..ffa1835 --- /dev/null +++ b/src/main/java/com/service/impl/DiscussfangwuxinxiServiceImpl.java @@ -0,0 +1,62 @@ +package com.service.impl; + +import org.springframework.stereotype.Service; +import java.util.Map; +import java.util.List; + +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.utils.PageUtils; +import com.utils.Query; + + +import com.dao.DiscussfangwuxinxiDao; +import com.entity.DiscussfangwuxinxiEntity; +import com.service.DiscussfangwuxinxiService; +import com.entity.vo.DiscussfangwuxinxiVO; +import com.entity.view.DiscussfangwuxinxiView; + +@Service("discussfangwuxinxiService") +public class DiscussfangwuxinxiServiceImpl extends ServiceImpl implements DiscussfangwuxinxiService { + + + @Override + public PageUtils queryPage(Map params) { + Page page = this.selectPage( + new Query(params).getPage(), + new EntityWrapper() + ); + return new PageUtils(page); + } + + @Override + public PageUtils queryPage(Map params, Wrapper wrapper) { + Page page =new Query(params).getPage(); + page.setRecords(baseMapper.selectListView(page,wrapper)); + PageUtils pageUtil = new PageUtils(page); + return pageUtil; + } + + @Override + public List selectListVO(Wrapper wrapper) { + return baseMapper.selectListVO(wrapper); + } + + @Override + public DiscussfangwuxinxiVO selectVO(Wrapper wrapper) { + return baseMapper.selectVO(wrapper); + } + + @Override + public List selectListView(Wrapper wrapper) { + return baseMapper.selectListView(wrapper); + } + + @Override + public DiscussfangwuxinxiView selectView(Wrapper wrapper) { + return baseMapper.selectView(wrapper); + } + +} diff --git a/src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/add-or-update.vue b/src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/add-or-update.vue new file mode 100644 index 0000000..56d37ce --- /dev/null +++ b/src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/add-or-update.vue @@ -0,0 +1,425 @@ + + + diff --git a/src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/list.vue b/src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/list.vue new file mode 100644 index 0000000..f51462f --- /dev/null +++ b/src/main/resources/admin/admin/src/views/modules/discussfangwuxinxi/list.vue @@ -0,0 +1,530 @@ + + + diff --git a/src/main/resources/mapper/DiscussfangwuxinxiDao.xml b/src/main/resources/mapper/DiscussfangwuxinxiDao.xml new file mode 100644 index 0000000..2e3a39e --- /dev/null +++ b/src/main/resources/mapper/DiscussfangwuxinxiDao.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file