Commit 19e0fa32 authored by 廖旭伟's avatar 廖旭伟

客户作品增加草稿内容

parent f34e3470
...@@ -4521,7 +4521,7 @@ pictureSrcIds|String|是|模版引用的素材 ...@@ -4521,7 +4521,7 @@ pictureSrcIds|String|是|模版引用的素材
pictureBackgroundIds|String|是|模版引用的背景 pictureBackgroundIds|String|是|模版引用的背景
fontIds|String|是|作品引用的字体 fontIds|String|是|作品引用的字体
previewUrl|String|是|图片预览地址(相对地址) previewUrl|String|是|图片预览地址(相对地址)
draft|String|是|草稿内容 designContent|Array|是|设计草稿
**请求样例:** **请求样例:**
``` ```
...@@ -4535,7 +4535,7 @@ draft|String|是|草稿内容 ...@@ -4535,7 +4535,7 @@ draft|String|是|草稿内容
"pictureBackgroundIds":"ad0eh7", "pictureBackgroundIds":"ad0eh7",
"fontIds":"f3bacv", "fontIds":"f3bacv",
"previewUrl":"f3bacv", "previewUrl":"f3bacv",
"draft":"f3bacv" "designContent":[{"aaa":1,"bbb":"test"},{"aaa":1,"bbb":"test"}]
} }
``` ```
......
package com.mortals.xhx.module.customer.model.vo; package com.mortals.xhx.module.customer.model.vo;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.customer.model.CustomerWorkDesignEntity; import com.mortals.xhx.module.customer.model.CustomerWorkDesignEntity;
import lombok.Data; import lombok.Data;
...@@ -17,4 +18,6 @@ public class CustomerWorkDesignVo extends BaseEntityLong { ...@@ -17,4 +18,6 @@ public class CustomerWorkDesignVo extends BaseEntityLong {
private String createTimeStr; private String createTimeStr;
private String updateTimeStr; private String updateTimeStr;
/** 设计内容 */
private List<JSONObject> designContent;
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ import com.mortals.framework.model.Context; ...@@ -8,6 +8,7 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
import com.mortals.framework.util.DateUtils; import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.common.code.WorkDesignStatusEnum; import com.mortals.xhx.common.code.WorkDesignStatusEnum;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
...@@ -48,6 +49,9 @@ public class CustomerWorkDesignController extends BaseCRUDJsonBodyMappingControl ...@@ -48,6 +49,9 @@ public class CustomerWorkDesignController extends BaseCRUDJsonBodyMappingControl
List<CustomerWorkDesignEntity> release = new ArrayList<>(); List<CustomerWorkDesignEntity> release = new ArrayList<>();
if(CollectionUtils.isNotEmpty(resultList)){ if(CollectionUtils.isNotEmpty(resultList)){
resultList.stream().forEach(item->{ resultList.stream().forEach(item->{
if(StringUtils.isNotEmpty(item.getDraft())){
item.setDesignContent(JSONObject.parseArray(item.getDraft(),JSONObject.class));
}
item.setCreateTimeStr(DateUtils.getDateTimeStr(item.getCreateTime(),DateUtils.P_yyyy_MM_dd_HH_mm_ss)); item.setCreateTimeStr(DateUtils.getDateTimeStr(item.getCreateTime(),DateUtils.P_yyyy_MM_dd_HH_mm_ss));
item.setUpdateTimeStr(DateUtils.getDateTimeStr(item.getUpdateTime(),DateUtils.P_yyyy_MM_dd_HH_mm_ss)); item.setUpdateTimeStr(DateUtils.getDateTimeStr(item.getUpdateTime(),DateUtils.P_yyyy_MM_dd_HH_mm_ss));
if(item.getWorkDesignStatus()==WorkDesignStatusEnum.DRAFT.getValue()){ if(item.getWorkDesignStatus()==WorkDesignStatusEnum.DRAFT.getValue()){
...@@ -78,6 +82,9 @@ public class CustomerWorkDesignController extends BaseCRUDJsonBodyMappingControl ...@@ -78,6 +82,9 @@ public class CustomerWorkDesignController extends BaseCRUDJsonBodyMappingControl
throw new AppException("非法用户,不可访问"); throw new AppException("非法用户,不可访问");
} }
entity.setCustomerId(this.getCurUser().getId()); entity.setCustomerId(this.getCurUser().getId());
if(CollectionUtils.isNotEmpty(entity.getDesignContent())) {
entity.setDraft(JSONObject.toJSONString(entity.getDesignContent()));
}
} }
......
...@@ -10,7 +10,7 @@ import com.mortals.xhx.module.design.model.vo.DesignMasterplateVo; ...@@ -10,7 +10,7 @@ import com.mortals.xhx.module.design.model.vo.DesignMasterplateVo;
* 模版管理实体对象 * 模版管理实体对象
* *
* @author zxfei * @author zxfei
* @date 2022-07-01 * @date 2022-07-08
*/ */
public class DesignMasterplateEntity extends DesignMasterplateVo { public class DesignMasterplateEntity extends DesignMasterplateVo {
...@@ -64,6 +64,10 @@ public class DesignMasterplateEntity extends DesignMasterplateVo { ...@@ -64,6 +64,10 @@ public class DesignMasterplateEntity extends DesignMasterplateVo {
* 作品图片预览地址(相对地址) * 作品图片预览地址(相对地址)
*/ */
private String previewUrl; private String previewUrl;
/**
* 设计草稿
*/
private String draft;
...@@ -236,6 +240,20 @@ public class DesignMasterplateEntity extends DesignMasterplateVo { ...@@ -236,6 +240,20 @@ public class DesignMasterplateEntity extends DesignMasterplateVo {
public void setPreviewUrl(String previewUrl){ public void setPreviewUrl(String previewUrl){
this.previewUrl = previewUrl; this.previewUrl = previewUrl;
} }
/**
* 获取 设计草稿
* @return String
*/
public String getDraft(){
return draft;
}
/**
* 设置 设计草稿
* @param draft
*/
public void setDraft(String draft){
this.draft = draft;
}
...@@ -270,6 +288,7 @@ public class DesignMasterplateEntity extends DesignMasterplateVo { ...@@ -270,6 +288,7 @@ public class DesignMasterplateEntity extends DesignMasterplateVo {
sb.append(",fontIds:").append(getFontIds()); sb.append(",fontIds:").append(getFontIds());
sb.append(",masterplateUseNum:").append(getMasterplateUseNum()); sb.append(",masterplateUseNum:").append(getMasterplateUseNum());
sb.append(",previewUrl:").append(getPreviewUrl()); sb.append(",previewUrl:").append(getPreviewUrl());
sb.append(",draft:").append(getDraft());
return sb.toString(); return sb.toString();
} }
...@@ -298,5 +317,7 @@ public class DesignMasterplateEntity extends DesignMasterplateVo { ...@@ -298,5 +317,7 @@ public class DesignMasterplateEntity extends DesignMasterplateVo {
this.masterplateUseNum = null; this.masterplateUseNum = null;
this.previewUrl = ""; this.previewUrl = "";
this.draft = "";
} }
} }
\ No newline at end of file
...@@ -6,7 +6,7 @@ import com.mortals.xhx.module.design.model.DesignMasterplateEntity; ...@@ -6,7 +6,7 @@ import com.mortals.xhx.module.design.model.DesignMasterplateEntity;
* 模版管理查询对象 * 模版管理查询对象
* *
* @author zxfei * @author zxfei
* @date 2022-07-01 * @date 2022-07-08
*/ */
public class DesignMasterplateQuery extends DesignMasterplateEntity { public class DesignMasterplateQuery extends DesignMasterplateEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
...@@ -90,6 +90,9 @@ public class DesignMasterplateQuery extends DesignMasterplateEntity { ...@@ -90,6 +90,9 @@ public class DesignMasterplateQuery extends DesignMasterplateEntity {
/** 作品图片预览地址(相对地址) */ /** 作品图片预览地址(相对地址) */
private List<String> previewUrlList; private List<String> previewUrlList;
/** 设计草稿 */
private List<String> draftList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<DesignMasterplateQuery> orConditionList; private List<DesignMasterplateQuery> orConditionList;
...@@ -521,6 +524,21 @@ public class DesignMasterplateQuery extends DesignMasterplateEntity { ...@@ -521,6 +524,21 @@ public class DesignMasterplateQuery extends DesignMasterplateEntity {
public void setPreviewUrlList(List<String> previewUrlList){ public void setPreviewUrlList(List<String> previewUrlList){
this.previewUrlList = previewUrlList; this.previewUrlList = previewUrlList;
} }
/**
* 获取 设计草稿
* @return draftList
*/
public List<String> getDraftList(){
return this.draftList;
}
/**
* 设置 设计草稿
* @param draftList
*/
public void setDraftList(List<String> draftList){
this.draftList = draftList;
}
/** /**
* 设置 主键ID,主键,自增长 * 设置 主键ID,主键,自增长
* @param id * @param id
...@@ -873,6 +891,25 @@ public class DesignMasterplateQuery extends DesignMasterplateEntity { ...@@ -873,6 +891,25 @@ public class DesignMasterplateQuery extends DesignMasterplateEntity {
return this; return this;
} }
/**
* 设置 设计草稿
* @param draft
*/
public DesignMasterplateQuery draft(String draft){
setDraft(draft);
return this;
}
/**
* 设置 设计草稿
* @param draftList
*/
public DesignMasterplateQuery draftList(List<String> draftList){
this.draftList = draftList;
return this;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList * @return orConditionList
......
package com.mortals.xhx.module.design.model.vo; package com.mortals.xhx.module.design.model.vo;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.design.model.DesignMasterplateEntity; import com.mortals.xhx.module.design.model.DesignMasterplateEntity;
import lombok.Data; import lombok.Data;
...@@ -15,4 +16,7 @@ import java.util.List; ...@@ -15,4 +16,7 @@ import java.util.List;
public class DesignMasterplateVo extends BaseEntityLong { public class DesignMasterplateVo extends BaseEntityLong {
private String createTimeStr; private String createTimeStr;
/** 设计内容 */
private List<JSONObject> designContent;
} }
\ No newline at end of file
package com.mortals.xhx.module.design.web; package com.mortals.xhx.module.design.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -46,5 +48,22 @@ public class DesignMasterplateController extends BaseCRUDJsonBodyMappingControll ...@@ -46,5 +48,22 @@ public class DesignMasterplateController extends BaseCRUDJsonBodyMappingControll
super.init(model, context); super.init(model, context);
} }
@Override
protected void saveBefore(DesignMasterplateEntity entity, Map<String, Object> model, Context context) throws AppException {
if(CollectionUtils.isNotEmpty(entity.getDesignContent())) {
entity.setDraft(JSONObject.toJSONString(entity.getDesignContent()));
}
}
protected int doListAfter(DesignMasterplateEntity query, Map<String, Object> model, Context context) throws AppException {
List<DesignMasterplateEntity> resultList = (List<DesignMasterplateEntity>)model.get("data");
if(CollectionUtils.isNotEmpty(resultList)){
resultList.stream().forEach(item-> {
if (StringUtils.isNotEmpty(item.getDraft())) {
item.setDesignContent(JSONObject.parseArray(item.getDraft(), JSONObject.class));
}
});
}
return super.doListAfter(query, model, context);
}
} }
\ No newline at end of file
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<result property="fontIds" column="fontIds" /> <result property="fontIds" column="fontIds" />
<result property="masterplateUseNum" column="masterplateUseNum" /> <result property="masterplateUseNum" column="masterplateUseNum" />
<result property="previewUrl" column="previewUrl" /> <result property="previewUrl" column="previewUrl" />
<result property="draft" column="draft" />
</resultMap> </resultMap>
...@@ -68,23 +69,26 @@ ...@@ -68,23 +69,26 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('previewUrl') or colPickMode == 1 and data.containsKey('previewUrl')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('previewUrl') or colPickMode == 1 and data.containsKey('previewUrl')))">
a.previewUrl, a.previewUrl,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('draft') or colPickMode == 1 and data.containsKey('draft')))">
a.draft,
</if>
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DesignMasterplateEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="DesignMasterplateEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_design_masterplate insert into mortals_xhx_design_masterplate
(masterplateName,masterplateCode,customerId,customerName,createTime,masterplateDesc,masterplatePath,pictureIds,pictureSrcIds,pictureBackgroundIds,fontIds,masterplateUseNum,previewUrl) (masterplateName,masterplateCode,customerId,customerName,createTime,masterplateDesc,masterplatePath,pictureIds,pictureSrcIds,pictureBackgroundIds,fontIds,masterplateUseNum,previewUrl,draft)
VALUES VALUES
(#{masterplateName},#{masterplateCode},#{customerId},#{customerName},#{createTime},#{masterplateDesc},#{masterplatePath},#{pictureIds},#{pictureSrcIds},#{pictureBackgroundIds},#{fontIds},#{masterplateUseNum},#{previewUrl}) (#{masterplateName},#{masterplateCode},#{customerId},#{customerName},#{createTime},#{masterplateDesc},#{masterplatePath},#{pictureIds},#{pictureSrcIds},#{pictureBackgroundIds},#{fontIds},#{masterplateUseNum},#{previewUrl},#{draft})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_design_masterplate insert into mortals_xhx_design_masterplate
(masterplateName,masterplateCode,customerId,customerName,createTime,masterplateDesc,masterplatePath,pictureIds,pictureSrcIds,pictureBackgroundIds,fontIds,masterplateUseNum,previewUrl) (masterplateName,masterplateCode,customerId,customerName,createTime,masterplateDesc,masterplatePath,pictureIds,pictureSrcIds,pictureBackgroundIds,fontIds,masterplateUseNum,previewUrl,draft)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.masterplateName},#{item.masterplateCode},#{item.customerId},#{item.customerName},#{item.createTime},#{item.masterplateDesc},#{item.masterplatePath},#{item.pictureIds},#{item.pictureSrcIds},#{item.pictureBackgroundIds},#{item.fontIds},#{item.masterplateUseNum},#{item.previewUrl}) (#{item.masterplateName},#{item.masterplateCode},#{item.customerId},#{item.customerName},#{item.createTime},#{item.masterplateDesc},#{item.masterplatePath},#{item.pictureIds},#{item.pictureSrcIds},#{item.pictureBackgroundIds},#{item.fontIds},#{item.masterplateUseNum},#{item.previewUrl},#{item.draft})
</foreach> </foreach>
</insert> </insert>
...@@ -142,6 +146,9 @@ ...@@ -142,6 +146,9 @@
<if test="(colPickMode==0 and data.containsKey('previewUrl')) or (colPickMode==1 and !data.containsKey('previewUrl'))"> <if test="(colPickMode==0 and data.containsKey('previewUrl')) or (colPickMode==1 and !data.containsKey('previewUrl'))">
a.previewUrl=#{data.previewUrl}, a.previewUrl=#{data.previewUrl},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('draft')) or (colPickMode==1 and !data.containsKey('draft'))">
a.draft=#{data.draft},
</if>
</trim> </trim>
<trim suffixOverrides="where" suffix=""> <trim suffixOverrides="where" suffix="">
where where
...@@ -260,6 +267,13 @@ ...@@ -260,6 +267,13 @@
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="draft=(case" suffix="ELSE draft end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('draft')) or (colPickMode==1 and !item.containsKey('draft'))">
when a.id=#{item.id} then #{item.draft}
</if>
</foreach>
</trim>
</trim> </trim>
where id in where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
...@@ -595,6 +609,21 @@ ...@@ -595,6 +609,21 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('draft')">
<if test="conditionParamRef.draft != null and conditionParamRef.draft != ''">
${_conditionType_} a.draft like #{${_conditionParam_}.draft}
</if>
<if test="conditionParamRef.draft == null">
${_conditionType_} a.draft is null
</if>
</if>
<if test="conditionParamRef.containsKey('draftList')">
${_conditionType_} a.draft in
<foreach collection="conditionParamRef.draftList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql> </sql>
<sql id="_orderCols_"> <sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()"> <if test="orderColList != null and !orderColList.isEmpty()">
...@@ -678,6 +707,11 @@ ...@@ -678,6 +707,11 @@
<if test='orderCol.previewUrl != null and "DESC".equalsIgnoreCase(orderCol.previewUrl)'>DESC</if> <if test='orderCol.previewUrl != null and "DESC".equalsIgnoreCase(orderCol.previewUrl)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('draft')">
a.draft
<if test='orderCol.draft != null and "DESC".equalsIgnoreCase(orderCol.draft)'>DESC</if>
,
</if>
</trim> </trim>
</if> </if>
</sql> </sql>
......
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