Commit 3edf4f94 authored by 陈祥烨's avatar 陈祥烨

功能完善

parent 3df84b21
......@@ -2,7 +2,9 @@ package com.yeejoin.amos.api.tool.controller;
import com.yeejoin.amos.api.tool.face.model.TplCateModel;
import com.yeejoin.amos.api.tool.face.model.TplCateTreeModel;
import com.yeejoin.amos.api.tool.face.model.TplModel;
import com.yeejoin.amos.api.tool.face.service.TplCateService;
import com.yeejoin.amos.api.tool.face.service.TplService;
import com.yeejoin.amos.api.tool.face.service.VisualDesignerService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -14,7 +16,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
@CrossOrigin
......@@ -25,7 +26,8 @@ public class TplCateResource {
@Autowired
TplCateService tplCateService;
@Autowired
TplService tplService;
@Autowired
VisualDesignerService visualDesignerService;
......@@ -35,13 +37,14 @@ public class TplCateResource {
* @return ApiSourceDto
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/save")
@PostMapping(value = "/save/{sequenceNbr}")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<TplCateModel> save(@RequestBody TplCateModel tplCate){
tplCate.setIcon("");
tplCate.setIsDel(false);
tplCate = tplCateService.createWithModel(tplCate);
return ResponseHelper.buildResponse(tplCate);
public ResponseModel<TplCateModel> save(@PathVariable Long sequenceNbr,@RequestBody TplCateModel tplCateModel){
tplCateModel.setDesignerType(visualDesignerService.queryBySeq(sequenceNbr).getDesignerType());
tplCateModel.setIcon("");
tplCateModel.setIsDel(false);
tplCateModel = tplCateService.createWithModel(tplCateModel);
return ResponseHelper.buildResponse(tplCateModel);
}
/**
......@@ -68,6 +71,10 @@ public class TplCateResource {
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
List<TplModel> tplModels = tplService.queryForTplList(sequenceNbr);
for (TplModel tplModel:tplModels){
tplService.removeById(tplModel.getSequenceNbr());
}
return ResponseHelper.buildResponse(tplCateService.removeById(sequenceNbr));
}
......
package com.yeejoin.amos.api.tool.controller;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.FileImportModel;
import com.yeejoin.amos.api.tool.face.model.TplModel;
import com.yeejoin.amos.api.tool.face.model.TplVoModel;
import com.yeejoin.amos.api.tool.face.service.TplService;
......@@ -19,7 +18,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.*;
@CrossOrigin
@RestController
......@@ -41,11 +40,8 @@ public class TplResource {
tplVoModel.setIsDel(false);
tplVoModel.setDisplayName(tplVoModel.getComName());
TplModel tplModel = new TplModel();
BeanUtils.copyProperties(tplVoModel,tplModel,"thumbs","sketches");
tplModel.setThumb(tplVoModel.getThumbs().get(0).getUrl());
tplModel.setSketch(tplVoModel.getSketches().get(0).getUrl());
tplModel = tplService.createWithModel(tplModel);
return ResponseHelper.buildResponse(tplModel);
tplService.convertModel(tplVoModel, tplModel);
return ResponseHelper.buildResponse(tplService.createWithModel(tplModel));
}
/**
* 根据sequenceNbr更新
......@@ -55,8 +51,11 @@ public class TplResource {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<TplModel> updateBySequenceNbrTpl(@RequestBody TplModel tplModel,@PathVariable(value = "sequenceNbr")Long sequenceNbr) {
tplModel.setSequenceNbr(sequenceNbr);
public ResponseModel<TplModel> updateBySequenceNbrTpl(@RequestBody TplVoModel tplVoModel,@PathVariable(value = "sequenceNbr")Long sequenceNbr) {
tplVoModel.setSequenceNbr(sequenceNbr);
tplVoModel.setDisplayName(tplVoModel.getComName());
TplModel tplModel = new TplModel();
tplService.convertModel(tplVoModel,tplModel);
return ResponseHelper.buildResponse(tplService.updateWithModel(tplModel));
}
......@@ -72,6 +71,17 @@ public class TplResource {
return ResponseHelper.buildResponse(tplService.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr删除多项
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping(value = "/s/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除多项", notes = "根据sequenceNbr删除多项")
public ResponseModel<Boolean[]> deleteModelsBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr")String sequenceNbr){
return ResponseHelper.buildResponse(tplService.deleteByIds(sequenceNbr));
}
/**
* 根据sequenceNbr查询
* @param sequenceNbr 主键
* @return
......@@ -79,8 +89,12 @@ public class TplResource {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<TplModel> selectOne(@PathVariable Long sequenceNbr) throws Exception {
return ResponseHelper.buildResponse(tplService.queryBySeq(sequenceNbr));
public ResponseModel<TplVoModel> selectOne(@PathVariable Long sequenceNbr) throws Exception {
TplModel tplModel = tplService.queryBySeq(sequenceNbr);
TplVoModel tplVoModel = new TplVoModel();
BeanUtils.copyProperties(tplModel,tplVoModel);
if(tplModel.getContent() != null) tplVoModel.setContentStr(tplModel.getContent().toString());
return ResponseHelper.buildResponse(tplVoModel);
}
/**
......@@ -92,7 +106,7 @@ public class TplResource {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<TplModel>> queryForPage(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size,@RequestParam(value = "categorySeq")Long categorySeq,@RequestParam(value = "displayName")String displayName){
public ResponseModel<Page<TplModel>> queryForPage(@RequestParam(value = "current") int current, @RequestParam(value = "size") int size,@RequestParam(value = "categorySeq")Long categorySeq,@RequestParam(value = "displayName",required = false)String displayName){
Page<TplModel> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
......@@ -105,8 +119,8 @@ public class TplResource {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<TplModel>> selectForList(){
return ResponseHelper.buildResponse(tplService.queryForTplList());
public ResponseModel<List<TplModel>> selectForList(Long categorySeq){
return ResponseHelper.buildResponse(tplService.queryForTplList(categorySeq));
}
/**
......@@ -114,21 +128,14 @@ public class TplResource {
*@return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "POST",value = "导入", notes = "导入")
@PostMapping(value = "/import")
public ResponseModel<List<FileImportModel>> importTpl(@RequestParam("file") MultipartFile multipartFile) throws Exception {
ImportParams params = new ImportParams();
// params.setHeadRows(0);
params.setTitleRows(0);
List<FileImportModel> fileImportModels =
ExcelImportUtil.importExcel(multipartFile.getInputStream(), FileImportModel.class, params);
for(FileImportModel fileImportModel:fileImportModels){
TplModel tplModel = new TplModel();
BeanUtils.copyProperties(fileImportModel,tplModel);
tplModel = tplService.createWithModel(tplModel);
}
System.out.println(fileImportModels);
return ResponseHelper.buildResponse(fileImportModels);
@CrossOrigin
@ApiOperation(httpMethod = "POST",value = "根据sequenceNbr导入content", notes = "根据sequenceNbr导入content")
@PostMapping (value = "/import")
public ResponseModel<TplModel> importTpl(@RequestParam("file") MultipartFile multipartFile) throws Exception {
JSONObject content = JSON.parseObject(tplService.readMultipartFile(multipartFile));
String str = "1668429235251548162";
TplModel tplModel = new TplModel(content,"","","",Long.parseLong(str),false,false);
return ResponseHelper.buildResponse(tplService.createWithModel(tplModel));
}
}
package com.yeejoin.amos.api.tool.face.model;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class FileImportModel {
@Excel(name = "SEQUENCE_NBR")
private Long sequenceNbr;
@Excel(name = "DISPLAY_NAME")
private String displayName;
@Excel(name = "COMPONENT_KEY")
private String comKey;
@Excel(name = "COMPONENT_NAME")
private String comName;
@Excel(name = "CONTENT")
private String content;
@Excel(name = "CATEGORY_SEQ")
private Long cateSeq;
@Excel(name = "THUMB")
private String thumb;
@Excel(name = "SKETCH")
private String sketch;
@Excel(name = "IS_DELETE")
private Boolean isDel;
@Excel(name = "OPEN_STATUS")
private Boolean openStatus;
@Excel(name = "REC_DATE",format = "yyyy-MM-dd HH:mm:ss")
private Date recDate;
@Excel(name = "REC_USER_ID")
private String recUserId;
private String fileName;
}
......@@ -26,6 +26,7 @@ public class TplCateModel extends BaseModel {
@ApiModelProperty(value = "是否删除")
private Boolean isDel;
public void setIcon(String icon) {
this.icon = icon;
}
......
......@@ -31,14 +31,14 @@ public class TplCateTreeModel {
this.parentId = parentId;
}
public TplCateTreeModel(Long sequenceNbr, Long parentId, String name,String designerType){
this.sequenceNbr =sequenceNbr ;
public TplCateTreeModel(Long sequenceNb, Long parentId, String name,String designerType){
this.sequenceNbr =sequenceNb ;
this.parentId = parentId;
this.name = name;
this.designerType =designerType;
}
public TplCateTreeModel(Long sequenceNbr, Long parentId, String name,String designerType,List<TplCateTreeModel> children){
this.sequenceNbr =sequenceNbr ;
public TplCateTreeModel(Long sequenceNb, Long parentId, String name,String designerType,List<TplCateTreeModel> children){
this.sequenceNbr =sequenceNb ;
this.parentId = parentId;
this.name = name;
this.designerType =designerType;
......
package com.yeejoin.amos.api.tool.face.model;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(autoResultMap = true)
@ApiModel(value="TplModel", description="")
public class TplModel extends TplVoModel {
public class TplModel extends BaseModel {
@ApiModelProperty(value = "展示名称")
protected String displayName;
@ApiModelProperty(value = "模板标识")
protected String comKey;
@ApiModelProperty(value = "模板名称")
protected String comName;
@ApiModelProperty(value = "模板内容")
@TableField(typeHandler = JacksonTypeHandler.class)
protected JSONObject content;
@ApiModelProperty(value = "分类ID")
protected Long cateSeq;
@ApiModelProperty(value = "模板状态")
protected Boolean openStatus;
@ApiModelProperty(value = "缩略图")
private String thumb;
protected String thumb;
@ApiModelProperty(value = "效果图")
private String sketch;
protected String sketch;
@ApiModelProperty(value = "是否删除")
protected Boolean isDel;
public void setThumb(String thumb) {
......@@ -29,4 +55,14 @@ public class TplModel extends TplVoModel {
this.sketch = sketch;
}
public TplModel(JSONObject content, String displayName, String comKey, String comName, Long cateSeq, Boolean openStatus, Boolean isDel){
this.content = content;
this.displayName =displayName;
this.comKey = comKey;
this.comName = comName;
this.cateSeq = cateSeq;
this.openStatus = openStatus;
this.isDel = isDel;
}
}
package com.yeejoin.amos.api.tool.face.model;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -16,25 +20,10 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="TplVoModel", description="")
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
public class TplVoModel extends BaseModel {
@ApiModelProperty(value = "展示名称")
public String displayName;
@ApiModelProperty(value = "模板标识")
public String comKey;
@ApiModelProperty(value = "模板名称")
public String comName;
public class TplVoModel extends TplModel {
@ApiModelProperty(value = "模板内容")
public String content;
@ApiModelProperty(value = "分类ID")
public Long cateSeq;
@ApiModelProperty(value = "模板状态")
public Boolean openStatus;
private String contentStr;
@ApiModelProperty(value = "缩略图")
private List<PicModel> thumbs = new ArrayList<>();
......@@ -42,9 +31,6 @@ public class TplVoModel extends BaseModel {
@ApiModelProperty(value = "效果图")
private List<PicModel> sketches = new ArrayList<>();
@ApiModelProperty(value = "是否删除")
public Boolean isDel;
public void setIsDel(Boolean isDel) {
this.isDel = isDel;
}
......
......@@ -3,5 +3,6 @@ package com.yeejoin.amos.api.tool.face.orm.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.Tpl;
public interface TplMapper extends BaseMapper<Tpl> {
}
package com.yeejoin.amos.api.tool.face.orm.entity;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
......@@ -11,7 +13,7 @@ import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("studio_template")
@TableName(value = "studio_template",autoResultMap = true)
public class Tpl extends BaseEntity {
......@@ -36,8 +38,8 @@ public class Tpl extends BaseEntity {
/**
*模板内容
*/
@TableField("CONTENT")
private String content;
@TableField(value = "CONTENT",typeHandler = JacksonTypeHandler.class)
private JSONObject content;
/**
*分类ID
......
package com.yeejoin.amos.api.tool.face.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.api.tool.face.model.TplModel;
import com.yeejoin.amos.api.tool.face.model.TplVoModel;
import com.yeejoin.amos.api.tool.face.orm.dao.TplMapper;
import com.yeejoin.amos.api.tool.face.orm.entity.Tpl;
import org.apache.commons.beanutils.ConvertUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.List;
@Service
......@@ -18,13 +26,54 @@ public class TplService extends BaseService<TplModel, Tpl, TplMapper> {
return this.queryForPage(page, null, false, categorySeq, displayName);
}
/**
* 列表查询
*/
public List<TplModel> queryForTplList(Long categorySeq) {
return this.queryForList("" , false,categorySeq);
}
/**
* TplVoModel转化TplModel
*/
public TplModel convertModel(TplVoModel tplVoModel,TplModel tplModel){
BeanUtils.copyProperties(tplVoModel,tplModel,"thumbs","sketches","contentStr");
//判定thumbs为空
if(tplVoModel.getThumbs().size() != 0)
tplModel.setThumb(tplVoModel.getThumbs().get(0).getUrl());
//判定sketch为空
if(tplVoModel.getSketches().size() !=0)
tplModel.setSketch(tplVoModel.getSketches().get(0).getUrl());
tplModel.setContent(JSON.parseObject(tplVoModel.getContentStr()));
return tplModel;
}
/**
* 删除多个模板
*/
public Boolean[] deleteByIds(String sequenceNbr){
String[] arr = sequenceNbr.split(",");
Long[] seq = (Long[]) ConvertUtils.convert(arr, Long.class);
Boolean[] arr2 = new Boolean[arr.length];
for (int i = 0;i < arr.length;i++){
arr2[i] = this.removeById(seq[i]);
}
return arr2;
}
/**
* 列表查询 示例
* 读取json文件
*/
public List<TplModel> queryForTplList() {
return this.queryForList("" , false);
public String readMultipartFile(MultipartFile multipartFile) throws IOException {
Reader reader = new InputStreamReader(multipartFile.getInputStream(), "utf-8");
int ch = 0;
StringBuffer stringBuffer = new StringBuffer();
while ((ch = reader.read()) != -1) {
stringBuffer.append((char) ch);
}
reader.close();
return stringBuffer.toString();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment