Merge remote-tracking branch 'origin/preview' into preview

feature/resource
ChenYan 2025-01-18 15:00:19 +08:00
commit 925705caaa
7 changed files with 179 additions and 19 deletions

View File

@ -1,13 +1,22 @@
package com.mcwl.web.controller.communityCenter;
import cn.hutool.core.bean.BeanUtil;
import com.mcwl.common.core.domain.AjaxResult;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.dto.CommunityDto;
import com.mcwl.communityCenter.domain.vo.CommunityVo;
import com.mcwl.communityCenter.service.CommunityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
@ -24,46 +33,44 @@ public class CommunityController {
/**
*
*
* @return
*/
@ApiOperation(value = "社区列表")
@GetMapping("list")
public List<Community> getCommunityList(){
return communityService.list();
@PostMapping("list")
public TableDataInfo getCommunityList(@RequestBody PageDomain pageDomain) {
return communityService.listByPage(pageDomain);
}
/**
*
* @param community
*
* @param communityDto
* @return
*/
@ApiOperation(value = "添加社区")
@PostMapping("add")
public boolean addCommunity(@RequestBody Community community){
return communityService.save(community);
public AjaxResult addCommunity(@RequestBody CommunityDto communityDto) {
Community community = new Community();
BeanUtil.copyProperties(communityDto, community);
communityService.save(community);
return AjaxResult.success();
}
/**
*
*
* @param id id
* @return
*/
@ApiOperation(value = "删除社区")
@PostMapping("delete")
public boolean deleteCommunity(Long id){
return communityService.removeById(id);
}
/**
*
* @param community
* @return
*/
@ApiOperation(value = "修改社区")
@PostMapping("update")
public boolean updateCommunity(@RequestBody Community community){
return communityService.updateById(community);
public AjaxResult deleteCommunity(@NotNull(message = "id不能为空")
@ApiParam(value = "id", required = true)
Long id) {
communityService.removeById(id);
return AjaxResult.success();
}
}

View File

@ -1,6 +1,8 @@
package com.mcwl.common.core.page;
import com.mcwl.common.utils.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;
@ -9,23 +11,29 @@ import javax.validation.constraints.NotNull;
*
* @author mcwl
*/
@ApiModel("分页数据")
public class PageDomain
{
/** 当前记录起始索引 */
@NotNull(message = "当前记录起始索引不能为空")
@ApiModelProperty(value = "当前记录起始索引",required = true)
private Integer pageNum;
/** 每页显示记录数 */
@NotNull(message = "每页显示记录数不能为空")
@ApiModelProperty(value = "每页显示记录数",required = true)
private Integer pageSize;
/** 排序列 */
@ApiModelProperty(value = "排序列")
private String orderByColumn;
/** 排序的方向desc或者asc */
@ApiModelProperty(value = "排序的方向desc或者asc", example = "asc")
private String isAsc = "asc";
/** 分页参数合理化 */
@ApiModelProperty(hidden = true)
private Boolean reasonable = true;
public String getOrderBy()

View File

@ -1,5 +1,8 @@
package com.mcwl.common.core.page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;
@ -8,20 +11,25 @@ import java.util.List;
*
* @author mcwl
*/
@ApiModel("表格分页数据对象")
public class TableDataInfo implements Serializable
{
private static final long serialVersionUID = 1L;
/** 总记录数 */
@ApiModelProperty(value = "总记录数")
private long total;
/** 列表数据 */
@ApiModelProperty(value = "列表数据")
private List<?> rows;
/** 消息状态码 */
@ApiModelProperty(value = "消息状态码")
private int code;
/** 消息内容 */
@ApiModelProperty(value = "消息内容")
private String msg;
/**

View File

@ -0,0 +1,52 @@
package com.mcwl.communityCenter.domain.dto;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mcwl.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
@TableName("cc_community")
@ApiModel(value = "社区请求参数")
public class CommunityDto {
/**
*
*/
@ApiModelProperty(value = "社区名称", required = true)
@NotBlank(message = "社区名称不能为空")
private String communityName;
/**
*
*/
@ApiModelProperty(value = "社区类型", required = true)
@NotNull(message = "社区类型不能为空")
private Integer type;
/**
*
*/
@ApiModelProperty(value = "价格", required = true)
@NotNull(message = "价格不能为空")
private Double price;
/**
*
*/
@ApiModelProperty(value = "有效期类型", required = true)
@NotNull(message = "有效期类型不能为空")
private Integer validityType;
}

View File

@ -0,0 +1,33 @@
package com.mcwl.communityCenter.domain.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
*
*/
@Data
@TableName("cc_community")
@ApiModel(value = "社区返回数据")
public class CommunityVo {
/**
* id
*/
@ApiModelProperty(value = "社区id")
private Long id;
/**
*
*/
@ApiModelProperty(value = "社区名称")
private String communityName;
}

View File

@ -1,7 +1,10 @@
package com.mcwl.communityCenter.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.communityCenter.domain.Community;
public interface CommunityService extends IService<Community> {
TableDataInfo listByPage(PageDomain pageDomain);
}

View File

@ -1,11 +1,60 @@
package com.mcwl.communityCenter.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mcwl.common.constant.HttpStatus;
import com.mcwl.common.core.page.PageDomain;
import com.mcwl.common.core.page.TableDataInfo;
import com.mcwl.common.utils.HttpUtil;
import com.mcwl.common.utils.StringUtils;
import com.mcwl.communityCenter.domain.Community;
import com.mcwl.communityCenter.domain.vo.CommunityVo;
import com.mcwl.communityCenter.mapper.CommunityMapper;
import com.mcwl.communityCenter.service.CommunityService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@Service
public class CommunityServiceImpl extends ServiceImpl<CommunityMapper, Community> implements CommunityService {
@Override
public TableDataInfo listByPage(PageDomain pageDomain) {
Page<Community> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
boolean isAsc = Objects.equals(pageDomain.getIsAsc(), "asc");
if (StringUtils.isBlank(pageDomain.getOrderByColumn())) {
pageDomain.setOrderByColumn("create_time");
}
OrderItem orderItem = new OrderItem(pageDomain.getOrderByColumn(), isAsc);
page.addOrder(orderItem);
baseMapper.selectPage(page, null);
List<Community> communityList = page.getRecords();
List<CommunityVo> communityVoList = new ArrayList<>();
for (Community community : communityList) {
CommunityVo communityVo = new CommunityVo();
BeanUtil.copyProperties(community, communityVo);
communityVoList.add(communityVo);
}
TableDataInfo tableDataInfo = new TableDataInfo();
tableDataInfo.setRows(communityVoList);
tableDataInfo.setTotal(page.getTotal());
tableDataInfo.setCode(HttpStatus.SUCCESS);
tableDataInfo.setMsg("查询成功");
return tableDataInfo;
}
}