添加画布配置

This commit is contained in:
xuwenbo
2021-02-02 09:21:36 +08:00
parent 92cd40f8fa
commit 7e4cbfb541
11 changed files with 446 additions and 0 deletions

View File

@ -0,0 +1,54 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖、分享、上传到码云、github等开源平台
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
*/
package co.yixiang.modules.canvas.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import co.yixiang.domain.BaseDomain;
/**
* @author yshop
* @date 2021-02-01
*/
@Data
@TableName("yx_store_canvas")
public class StoreCanvas extends BaseDomain {
/** 画布id */
@TableId
private Long canvasId;
/** 终端 1-小程序 2-H5 3-APP 4-PC */
@NotNull
private Integer terminal;
/** 画布json数据 */
private String json;
/** 类型 1-系统画布 2-自定义页面 3-商家店铺装修 */
@NotNull
private Integer type;
/** 名称 */
@NotBlank
private String name;
/** 店铺id当type=3的时候值为具体的店铺id其它情况为0 */
@NotNull
private Long shopId;
public void copy(StoreCanvas source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
}
}

View File

@ -0,0 +1,48 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖、分享、上传到码云、github等开源平台
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
*/
package co.yixiang.modules.canvas.service;
import co.yixiang.common.service.BaseService;
import co.yixiang.modules.canvas.domain.StoreCanvas;
import co.yixiang.modules.canvas.service.dto.StoreCanvasDto;
import co.yixiang.modules.canvas.service.dto.StoreCanvasQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import co.yixiang.domain.PageResult;
/**
* @author yshop
* @date 2021-02-01
*/
public interface StoreCanvasService extends BaseService<StoreCanvas>{
/**
* 查询数据分页
* @param criteria 条件
* @param pageable 分页参数
* @return Map<String,Object>
*/
PageResult<StoreCanvasDto> queryAll(StoreCanvasQueryCriteria criteria, Pageable pageable);
/**
* 查询所有数据不分页
* @param criteria 条件参数
* @return List<StoreCanvasDto>
*/
List<StoreCanvas> queryAll(StoreCanvasQueryCriteria criteria);
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<StoreCanvasDto> all, HttpServletResponse response) throws IOException;
}

View File

@ -0,0 +1,44 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖、分享、上传到码云、github等开源平台
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
*/
package co.yixiang.modules.canvas.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author yshop
* @date 2021-02-01
*/
@Data
public class StoreCanvasDto implements Serializable {
/** 画布id */
private Long canvasId;
/** 终端 1-小程序 2-H5 3-APP 4-PC */
private Integer terminal;
/** 画布json数据 */
private String json;
/** 类型 1-系统画布 2-自定义页面 3-商家店铺装修 */
private Integer type;
/** 名称 */
private String name;
/** 店铺id当type=3的时候值为具体的店铺id其它情况为0 */
private Long shopId;
/** 创建时间 */
private String createTime;
/** 修改时间 */
private String updateTime;
}

View File

@ -0,0 +1,21 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖、分享、上传到码云、github等开源平台
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
*/
package co.yixiang.modules.canvas.service.dto;
import lombok.Data;
import java.util.List;
import co.yixiang.annotation.Query;
/**
* @author yshop
* @date 2021-02-01
*/
@Data
public class StoreCanvasQueryCriteria{
}

View File

@ -0,0 +1,84 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖、分享、上传到码云、github等开源平台
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
*/
package co.yixiang.modules.canvas.service.impl;
import co.yixiang.modules.canvas.domain.StoreCanvas;
import co.yixiang.common.service.impl.BaseServiceImpl;
import lombok.AllArgsConstructor;
import co.yixiang.dozer.service.IGenerator;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import co.yixiang.common.utils.QueryHelpPlus;
import co.yixiang.utils.ValidationUtil;
import co.yixiang.utils.FileUtil;
import co.yixiang.modules.canvas.service.StoreCanvasService;
import co.yixiang.modules.canvas.service.dto.StoreCanvasDto;
import co.yixiang.modules.canvas.service.dto.StoreCanvasQueryCriteria;
import co.yixiang.modules.canvas.service.mapper.StoreCanvasMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
// 默认不使用缓存
//import org.springframework.cache.annotation.CacheConfig;
//import org.springframework.cache.annotation.CacheEvict;
//import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import co.yixiang.domain.PageResult;
/**
* @author yshop
* @date 2021-02-01
*/
@Service
@AllArgsConstructor
//@CacheConfig(cacheNames = "storeCanvas")
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class StoreCanvasServiceImpl extends BaseServiceImpl<StoreCanvasMapper, StoreCanvas> implements StoreCanvasService {
private final IGenerator generator;
@Override
//@Cacheable
public PageResult<StoreCanvasDto> queryAll(StoreCanvasQueryCriteria criteria, Pageable pageable) {
getPage(pageable);
PageInfo<StoreCanvas> page = new PageInfo<>(queryAll(criteria));
return generator.convertPageInfo(page,StoreCanvasDto.class);
}
@Override
//@Cacheable
public List<StoreCanvas> queryAll(StoreCanvasQueryCriteria criteria){
return baseMapper.selectList(QueryHelpPlus.getPredicate(StoreCanvas.class, criteria));
}
@Override
public void download(List<StoreCanvasDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>();
for (StoreCanvasDto storeCanvas : all) {
Map<String,Object> map = new LinkedHashMap<>();
map.put("终端 1-小程序 2-H5 3-APP 4-PC", storeCanvas.getTerminal());
map.put("画布json数据", storeCanvas.getJson());
map.put("类型 1-系统画布 2-自定义页面 3-商家店铺装修", storeCanvas.getType());
map.put("名称", storeCanvas.getName());
map.put("店铺id当type=3的时候值为具体的店铺id其它情况为0", storeCanvas.getShopId());
map.put("创建时间", storeCanvas.getCreateTime());
map.put("修改时间", storeCanvas.getUpdateTime());
list.add(map);
}
FileUtil.downloadExcel(list, response);
}
}

View File

@ -0,0 +1,23 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制未经购买不得使用
* 购买后可获得全部源代码禁止转卖、分享、上传到码云、github等开源平台
* 一经发现盗用、分享等行为,将追究法律责任,后果自负
*/
package co.yixiang.modules.canvas.service.mapper;
import co.yixiang.common.mapper.CoreMapper;
import co.yixiang.modules.canvas.domain.StoreCanvas;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* @author yshop
* @date 2021-02-01
*/
@Repository
public interface StoreCanvasMapper extends CoreMapper<StoreCanvas> {
}