店铺楼层装修

This commit is contained in:
lifenlong 2022-02-28 09:08:43 +08:00
parent 25be7094a2
commit 504ee766f8
4 changed files with 132 additions and 6 deletions

View File

@ -1,10 +1,14 @@
package cn.lili.modules.page.serviceimpl;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.SwitchEnum;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.properties.SystemSettingProperties;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.page.entity.dos.PageData;
import cn.lili.modules.page.entity.dto.PageDataDTO;
@ -14,6 +18,7 @@ import cn.lili.modules.page.entity.vos.PageDataVO;
import cn.lili.modules.page.mapper.PageDataMapper;
import cn.lili.modules.page.service.PageDataService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -22,6 +27,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.jvm.hotspot.debugger.Page;
/**
* 楼层装修管理业务层实现
@ -60,9 +66,9 @@ public class PageDataServiceImpl extends ServiceImpl<PageDataMapper, PageData> i
@Transactional(rollbackFor = Exception.class)
public PageData addPageData(PageData pageData) {
//如果页面为发布则关闭其他页面开启此页面
//演示站点不可以开启楼层
if (!Boolean.TRUE.equals(systemSettingProperties.getIsDemoSite()) && pageData.getPageShow().equals(SwitchEnum.OPEN.name())) {
if (pageData.getPageShow().equals(SwitchEnum.OPEN.name())) {
LambdaUpdateWrapper<PageData> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getNum,UserContext.getCurrentUser().getStoreId());
lambdaUpdateWrapper.eq(PageData::getPageType, pageData.getPageType());
lambdaUpdateWrapper.eq(PageData::getPageClientType, pageData.getPageClientType());
lambdaUpdateWrapper.set(PageData::getPageShow, SwitchEnum.CLOSE.name());
@ -77,19 +83,24 @@ public class PageDataServiceImpl extends ServiceImpl<PageDataMapper, PageData> i
@Override
@Transactional(rollbackFor = Exception.class)
public PageData updatePageData(PageData pageData) {
//如果页面为发布则关闭其他页面开启此页面
if (pageData.getPageShow() != null && pageData.getPageShow().equals(SwitchEnum.OPEN.name())) {
LambdaUpdateWrapper<PageData> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
lambdaUpdateWrapper.eq(PageData::getPageType, pageData.getPageType());
lambdaUpdateWrapper.eq(PageData::getPageClientType, pageData.getPageClientType());
lambdaUpdateWrapper.set(PageData::getPageShow, SwitchEnum.CLOSE.name());
lambdaUpdateWrapper.set(StrUtil.isNotEmpty(pageData.getNum()), PageData::getNum, SwitchEnum.CLOSE.name());
this.update(lambdaUpdateWrapper);
} else {
pageData.setPageShow(SwitchEnum.CLOSE.name());
}
LambdaUpdateWrapper<PageData> lambdaUpdateWrapper = Wrappers.lambdaUpdate();
lambdaUpdateWrapper.set(PageData::getPageData, pageData.getPageData());
lambdaUpdateWrapper.eq(PageData::getId, pageData.getId());
lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getPageType,PageEnum.STORE.name());
lambdaUpdateWrapper.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getNum,UserContext.getCurrentUser().getStoreId());
this.updateById(pageData);
return pageData;
}
@ -97,8 +108,13 @@ public class PageDataServiceImpl extends ServiceImpl<PageDataMapper, PageData> i
@Override
@Transactional(rollbackFor = Exception.class)
public PageData releasePageData(String id) {
PageData pageData = this.getById(id);
PageData pageData = this.getOne(new LambdaQueryWrapper<PageData>()
.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getPageType,PageEnum.STORE.name())
.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getNum,UserContext.getCurrentUser().getStoreId())
.eq(PageData::getId,id));
if(pageData==null){
throw new ServiceException(ResultCode.PAGE_NOT_EXIST);
}
//如果已经发布不能重复发布
if (pageData.getPageShow().equals(SwitchEnum.OPEN.name())) {
@ -127,7 +143,14 @@ public class PageDataServiceImpl extends ServiceImpl<PageDataMapper, PageData> i
@Override
@Transactional(rollbackFor = Exception.class)
public boolean removePageData(String id) {
PageData pageData = this.getById(id);
PageData pageData = this.getOne(new LambdaQueryWrapper<PageData>()
.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getPageType,PageEnum.STORE.name())
.eq(CharSequenceUtil.equals(UserContext.getCurrentUser().getRole().name(), UserEnums.STORE.name()),PageData::getNum,UserContext.getCurrentUser().getStoreId())
.eq(PageData::getId,id));
if(pageData==null){
throw new ServiceException(ResultCode.PAGE_NOT_EXIST);
}
//专题则直接进行删除
if (pageData.getPageType().equals(PageEnum.SPECIAL.name())) {
return this.removeById(id);

View File

@ -97,10 +97,12 @@ public class Store extends BaseEntity {
@ApiModelProperty(value = "腾讯云智服小程序唯一标识")
private String yzfMpSign;
@ApiModelProperty(value = "udesk IM标识")
private String merchantEuid;
@ApiModelProperty(value = "默认页面是否开启")
private Boolean pageShow;
public Store(Member member) {
this.memberId = member.getId();

View File

@ -33,4 +33,7 @@ public class StoreSettingDTO {
@ApiModelProperty(value = "经纬度")
private String storeCenter;
@ApiModelProperty(value = "默认页面是否开启")
private Boolean pageShow;
}

View File

@ -0,0 +1,98 @@
package cn.lili.controller.other;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.page.entity.dos.PageData;
import cn.lili.modules.page.entity.dto.PageDataDTO;
import cn.lili.modules.page.entity.enums.PageEnum;
import cn.lili.modules.page.entity.vos.PageDataListVO;
import cn.lili.modules.page.service.PageDataService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
/**
* 店铺端,页面设置管理接口
*
* @author paulGao
* @since 2020-05-06 15:18:56
*/
@RestController
@Api(tags = "店铺端,页面设置管理接口")
@RequestMapping("/store/other/pageData")
public class PageDataStoreController {
@Autowired
private PageDataService pageDataService;
@ApiOperation(value = "获取页面信息")
@ApiImplicitParam(name = "id", value = "页面ID", required = true, dataType = "String", paramType = "path")
@GetMapping(value = "/{id}")
public ResultMessage<PageData> getPageData(@PathVariable String id) {
//查询当前店铺下的页面数据
PageData pageData = pageDataService.getOne(
new LambdaQueryWrapper<PageData>()
.eq(PageData::getPageType, PageEnum.STORE.name())
.eq(PageData::getNum, UserContext.getCurrentUser().getStoreId())
.eq(PageData::getId, id));
return ResultUtil.data(pageData);
}
@ApiOperation(value = "添加页面")
@PostMapping("/add")
public ResultMessage<PageData> addPageData(@Valid PageData pageData) {
//添加店铺类型填写店铺ID
pageData.setPageType(PageEnum.STORE.name());
pageData.setNum(UserContext.getCurrentUser().getStoreId());
return ResultUtil.data(pageDataService.addPageData(pageData));
}
@ApiOperation(value = "修改页面")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "页面ID", required = true, dataType = "String", paramType = "path")
})
@DemoSite
@PutMapping("/update/{id}")
public ResultMessage<PageData> updatePageData(@Valid PageData pageData, @NotNull @PathVariable String id) {
pageData.setId(id);
//添加店铺类型填写店铺ID
pageData.setPageType(PageEnum.STORE.name());
pageData.setNum(UserContext.getCurrentUser().getStoreId());
return ResultUtil.data(pageDataService.updatePageData(pageData));
}
@ApiOperation(value = "页面列表")
@GetMapping("/pageDataList")
public ResultMessage<IPage<PageDataListVO>> pageDataList(PageVO pageVO, PageDataDTO pageDataDTO) {
pageDataDTO.setPageType(PageEnum.STORE.name());
pageDataDTO.setNum(UserContext.getCurrentUser().getStoreId());
return ResultUtil.data(pageDataService.getPageDataList(pageVO, pageDataDTO));
}
@ApiOperation(value = "发布页面")
@ApiImplicitParam(name = "id", value = "页面ID", required = true, dataType = "String", paramType = "path")
@PutMapping("/release/{id}")
@DemoSite
public ResultMessage<PageData> release(@PathVariable String id) {
return ResultUtil.data(pageDataService.releasePageData(id));
}
@ApiOperation(value = "删除页面")
@DemoSite
@ApiImplicitParam(name = "id", value = "页面ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/remove/{id}")
public ResultMessage<Object> remove(@PathVariable String id) {
return ResultUtil.data(pageDataService.removePageData(id));
}
}