Commit 5d6ebe0b authored by 赵啸非's avatar 赵啸非

添加皮肤管理

parent 16ec5f9f
......@@ -9237,6 +9237,18 @@ data|object|数据对象|-
  productName|String|产品名称|-
  cssFilePath|String|css模板合成后文件地址|-
  sortNum|Integer|排序编号|-
  skinFieldList|Arrays|皮肤属性列表|-
   id|Long|ID|-
   skinId|Long|皮肤id|-
   templateId|Long|模板id,不为空时为模板配置属性|-
   fieldCode|String|字段编码|-
   fieldName|String|字段名称|-
   fieldType|String|数据类型(1.颜色,2.图片地址)|-
   fieldValue|String|字段值|-
   fieldLen|Integer|数据长度,默认100|-
   fieldNull|Integer|是否允许为空,0否1是|-
   fieldOrderNo|String|排序号|-
   remark|String|备注|-
  createTime|Date|创建时间|-
  createUserId|Long|创建用户|-
  updateTime|Date|修改时间|-
......@@ -9352,6 +9364,17 @@ data|object|数据对象|-
 productName|String|产品名称|-
 cssFilePath|String|css模板合成后文件地址|-
 sortNum|Integer|排序编号|-
 skinFieldList|Arrays|皮肤属性列表|-
  id|Long|ID|-
  skinId|Long|皮肤id|-
  templateId|Long|模板id,不为空时为模板配置属性|-
  fieldCode|String|字段编码|-
  fieldName|String|字段名称|-
  fieldType|String|数据类型(1.颜色,2.图片地址)|-
  fieldValue|String|字段值|-
  fieldLen|Integer|数据长度,默认100|-
  fieldNull|Integer|是否允许为空,0否1是|-
  fieldOrderNo|String|排序号|-
 createTime|Date|创建时间|-
 createUserId|Long|创建用户|-
 updateTime|Date|修改时间|-
......@@ -9398,6 +9421,18 @@ productName|String|产品名称|是|-
cssFilePath|String|css模板合成后文件地址|是|-
sortNum|Integer|排序编号|是|-
name|String|产品皮肤名称,唯一且不为空|是|-
skinFieldList|Arrays|皮肤属性列表|是|-
 id|Long|ID|是|-
 skinId|Long|皮肤id|是|-
 templateId|Long|模板id,不为空时为模板配置属性|否|-
 fieldCode|String|字段编码|是|-
 fieldName|String|字段名称|是|-
 fieldType|String|数据类型(1.颜色,2.图片地址)|是|-
 fieldValue|String|字段值|是|-
 fieldLen|Integer|数据长度,默认100|是|-
 fieldNull|Integer|是否允许为空,0否1是|是|-
 fieldOrderNo|String|排序号|是|-
**请求样例:**
```
......@@ -9535,6 +9570,17 @@ data|object|数据对象|-
  productId|Long|产品ID|-
  productName|String|产品名称|-
  templateName|String|模板名称|-
  skinFieldList|Arrays|皮肤属性列表|-
   id|Long|ID|-
   skinId|Long|皮肤id|-
   templateId|Long|模板id,不为空时为模板配置属性|-
   fieldCode|String|字段编码|-
   fieldName|String|字段名称|-
   fieldType|String|数据类型(1.颜色,2.图片地址)|-
   fieldValue|String|字段值|-
   fieldLen|Integer|数据长度,默认100|-
   fieldNull|Integer|是否允许为空,0否1是|-
   fieldOrderNo|String|排序号|-
  createTime|Date|创建时间|-
  createUserId|Long|创建用户|-
  updateTime|Date|修改时间|-
......@@ -9687,6 +9733,17 @@ dict|object|字典对象|-
productId|Long|产品ID|是|-
productName|String|产品名称|是|-
templateName|String|模板名称|是|-
skinFieldList|Arrays|皮肤属性列表|是|-
 id|Long|ID|是|-
 skinId|Long|皮肤id|是|-
 templateId|Long|模板id,不为空时为模板配置属性|否|-
 fieldCode|String|字段编码|是|-
 fieldName|String|字段名称|是|-
 fieldType|String|数据类型(1.颜色,2.图片地址)|是|-
 fieldValue|String|字段值|是|-
 fieldLen|Integer|数据长度,默认100|是|-
 fieldNull|Integer|是否允许为空,0否1是|是|-
 fieldOrderNo|String|排序号|是|-
**请求样例:**
```
......
package com.mortals.xhx.module.skin.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.skin.model.SkinBaseEntity;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import lombok.Data;
import java.util.ArrayList;
......@@ -13,5 +14,7 @@ import java.util.List;
*/
@Data
public class SkinBaseVo extends BaseEntityLong {
/** 属性列表 */
private List<SkinFieldEntity> skinFieldList;
}
\ No newline at end of file
package com.mortals.xhx.module.skin.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import com.mortals.xhx.module.skin.model.SkinTemplateEntity;
import lombok.Data;
......@@ -13,5 +14,6 @@ import java.util.List;
*/
@Data
public class SkinTemplateVo extends BaseEntityLong {
/** 属性列表 */
private List<SkinFieldEntity> skinFieldList;
}
\ No newline at end of file
package com.mortals.xhx.module.skin.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.skin.model.*;
import com.mortals.xhx.module.skin.service.SkinFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinBaseDao;
import com.mortals.xhx.module.skin.model.SkinBaseEntity;
import com.mortals.xhx.module.skin.service.SkinBaseService;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* SkinBaseService
* 系统基础皮肤 service实现
*
* @author zxfei
* @date 2022-05-24
*/
* SkinBaseService
* 系统基础皮肤 service实现
*
* @author zxfei
* @date 2022-05-24
*/
@Service("skinBaseService")
public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, SkinBaseEntity, Long> implements SkinBaseService {
@Autowired
private SkinFieldService skinFieldService;
@Override
protected void validData(SkinBaseEntity entity, Context context) throws AppException {
SkinBaseQuery skinBaseQuery = new SkinBaseQuery();
skinBaseQuery.setName(entity.getName());
SkinBaseEntity skinBaseEntity = this.selectOne(skinBaseQuery);
if(!ObjectUtils.isEmpty(skinBaseEntity)&&entity.newEntity()){
throw new AppException("皮肤名称已存在");
}
super.validData(entity, context);
}
@Override
protected void findAfter(SkinBaseEntity params, Context context, List<SkinBaseEntity> list) throws AppException {
list.stream().forEach(item -> {
List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(item.getId()));
item.setSkinFieldList(skinFieldEntities);
});
super.findAfter(params, context, list);
}
@Override
protected void saveAfter(SkinBaseEntity entity, Context context) throws AppException {
//删除关联后新增
saveSkinFields(entity, context);
super.saveAfter(entity, context);
}
@Override
protected void updateAfter(SkinBaseEntity entity, Context context) throws AppException {
saveSkinFields(entity, context);
super.updateBefore(entity, context);
}
private void saveSkinFields(SkinBaseEntity entity, Context context) {
Long[] ids = skinFieldService.find(new SkinFieldQuery().skinId(entity.getId())).stream().map(item -> item.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(ids)) {
skinFieldService.remove(ids, context);
}
if (!ObjectUtils.isEmpty(entity.getSkinFieldList())) {
entity.getSkinFieldList().stream().forEach(item->{
item.setSkinId(entity.getId());
});
skinFieldService.save(entity.getSkinFieldList(), context);
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.skin.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.skin.model.SkinCategoryQuery;
import com.mortals.xhx.module.skin.service.SkinFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinCategoryDao;
import com.mortals.xhx.module.skin.model.SkinCategoryEntity;
import com.mortals.xhx.module.skin.service.SkinCategoryService;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* SkinCategoryService
* 系统皮肤分类 service实现
......@@ -13,5 +23,17 @@ import com.mortals.xhx.module.skin.service.SkinCategoryService;
*/
@Service("skinCategoryService")
public class SkinCategoryServiceImpl extends AbstractCRUDServiceImpl<SkinCategoryDao, SkinCategoryEntity, Long> implements SkinCategoryService {
@Autowired
private SkinFieldService skinFieldService;
@Override
protected void validData(SkinCategoryEntity entity, Context context) throws AppException {
//搜索种类名称唯一
SkinCategoryEntity skinCategoryEntity = this.selectOne(new SkinCategoryQuery().name(entity.getName()));
if(!ObjectUtils.isEmpty(skinCategoryEntity)&&entity.newEntity()){
throw new AppException("分类名称已存在");
}
super.validData(entity, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.skin.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.skin.model.SkinBaseEntity;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import com.mortals.xhx.module.skin.model.SkinFieldQuery;
import com.mortals.xhx.module.skin.service.SkinFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinTemplateDao;
import com.mortals.xhx.module.skin.model.SkinTemplateEntity;
import com.mortals.xhx.module.skin.service.SkinTemplateService;
import org.springframework.util.ObjectUtils;
import java.util.List;
/**
* SkinTemplateService
* 系统皮肤模板 service实现
......@@ -14,4 +26,42 @@ import com.mortals.xhx.module.skin.service.SkinTemplateService;
@Service("skinTemplateService")
public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplateDao, SkinTemplateEntity, Long> implements SkinTemplateService {
@Autowired
private SkinFieldService skinFieldService;
@Override
protected void findAfter(SkinTemplateEntity params, PageInfo pageInfo, Context context, List<SkinTemplateEntity> list) throws AppException {
list.stream().forEach(item -> {
List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(item.getId()));
item.setSkinFieldList(skinFieldEntities);
});
super.findAfter(params, pageInfo, context, list);
}
@Override
protected void saveAfter(SkinTemplateEntity entity, Context context) throws AppException {
saveSkinFields(entity, context);
super.saveAfter(entity, context);
}
@Override
protected void updateAfter(SkinTemplateEntity entity, Context context) throws AppException {
saveSkinFields(entity, context);
super.updateAfter(entity, context);
}
private void saveSkinFields(SkinTemplateEntity entity, Context context) {
Long[] ids = skinFieldService.find(new SkinFieldQuery().skinId(entity.getId())).stream().map(item -> item.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(ids)) {
skinFieldService.remove(ids, context);
}
if (!ObjectUtils.isEmpty(entity.getSkinFieldList())) {
entity.getSkinFieldList().stream().forEach(item->{
item.setTemplateId(entity.getId());
});
skinFieldService.save(entity.getSkinFieldList(), context);
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.skin.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import com.mortals.xhx.module.skin.model.SkinFieldQuery;
import com.mortals.xhx.module.skin.service.SkinFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -37,6 +41,9 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
@Autowired
private ParamService paramService;
@Autowired
private SkinFieldService skinFieldService;
public SkinBaseController(){
super.setFormClass(SkinBaseForm.class);
super.setModuleDesc( "系统基础皮肤");
......@@ -48,4 +55,10 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
}
@Override
protected int viewAfter(Long id, Map<String, Object> model, SkinBaseEntity entity, Context context) throws AppException {
List<SkinFieldEntity> skinFieldEntities = skinFieldService.find(new SkinFieldQuery().skinId(entity.getId()));
entity.setSkinFieldList(skinFieldEntities);
return super.viewAfter(id, model, entity, context);
}
}
\ No newline at end of file
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