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

添加皮肤管理

parent 16ec5f9f
...@@ -9237,6 +9237,18 @@ data|object|数据对象|- ...@@ -9237,6 +9237,18 @@ data|object|数据对象|-
  productName|String|产品名称|-   productName|String|产品名称|-
  cssFilePath|String|css模板合成后文件地址|-   cssFilePath|String|css模板合成后文件地址|-
  sortNum|Integer|排序编号|-   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|创建时间|-   createTime|Date|创建时间|-
  createUserId|Long|创建用户|-   createUserId|Long|创建用户|-
  updateTime|Date|修改时间|-   updateTime|Date|修改时间|-
...@@ -9352,6 +9364,17 @@ data|object|数据对象|- ...@@ -9352,6 +9364,17 @@ data|object|数据对象|-
 productName|String|产品名称|-  productName|String|产品名称|-
 cssFilePath|String|css模板合成后文件地址|-  cssFilePath|String|css模板合成后文件地址|-
 sortNum|Integer|排序编号|-  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|创建时间|-  createTime|Date|创建时间|-
 createUserId|Long|创建用户|-  createUserId|Long|创建用户|-
 updateTime|Date|修改时间|-  updateTime|Date|修改时间|-
...@@ -9398,6 +9421,18 @@ productName|String|产品名称|是|- ...@@ -9398,6 +9421,18 @@ productName|String|产品名称|是|-
cssFilePath|String|css模板合成后文件地址|是|- cssFilePath|String|css模板合成后文件地址|是|-
sortNum|Integer|排序编号|是|- sortNum|Integer|排序编号|是|-
name|String|产品皮肤名称,唯一且不为空|是|- 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|数据对象|- ...@@ -9535,6 +9570,17 @@ data|object|数据对象|-
  productId|Long|产品ID|-   productId|Long|产品ID|-
  productName|String|产品名称|-   productName|String|产品名称|-
  templateName|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|创建时间|-   createTime|Date|创建时间|-
  createUserId|Long|创建用户|-   createUserId|Long|创建用户|-
  updateTime|Date|修改时间|-   updateTime|Date|修改时间|-
...@@ -9687,6 +9733,17 @@ dict|object|字典对象|- ...@@ -9687,6 +9733,17 @@ dict|object|字典对象|-
productId|Long|产品ID|是|- productId|Long|产品ID|是|-
productName|String|产品名称|是|- productName|String|产品名称|是|-
templateName|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; package com.mortals.xhx.module.skin.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.skin.model.SkinBaseEntity; import com.mortals.xhx.module.skin.model.SkinBaseEntity;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -13,5 +14,7 @@ import java.util.List; ...@@ -13,5 +14,7 @@ import java.util.List;
*/ */
@Data @Data
public class SkinBaseVo extends BaseEntityLong { public class SkinBaseVo extends BaseEntityLong {
/** 属性列表 */
private List<SkinFieldEntity> skinFieldList;
} }
\ No newline at end of file
package com.mortals.xhx.module.skin.model.vo; package com.mortals.xhx.module.skin.model.vo;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import com.mortals.xhx.module.skin.model.SkinTemplateEntity; import com.mortals.xhx.module.skin.model.SkinTemplateEntity;
import lombok.Data; import lombok.Data;
...@@ -13,5 +14,6 @@ import java.util.List; ...@@ -13,5 +14,6 @@ import java.util.List;
*/ */
@Data @Data
public class SkinTemplateVo extends BaseEntityLong { public class SkinTemplateVo extends BaseEntityLong {
/** 属性列表 */
private List<SkinFieldEntity> skinFieldList;
} }
\ No newline at end of file
package com.mortals.xhx.module.skin.service.impl; 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 org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinBaseDao; 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 com.mortals.xhx.module.skin.service.SkinBaseService;
import org.springframework.util.ObjectUtils;
import java.util.List;
/** /**
* SkinBaseService * SkinBaseService
* 系统基础皮肤 service实现 * 系统基础皮肤 service实现
* *
* @author zxfei * @author zxfei
* @date 2022-05-24 * @date 2022-05-24
*/ */
@Service("skinBaseService") @Service("skinBaseService")
public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, SkinBaseEntity, Long> implements 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; 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 org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinCategoryDao; import com.mortals.xhx.module.skin.dao.SkinCategoryDao;
import com.mortals.xhx.module.skin.model.SkinCategoryEntity; import com.mortals.xhx.module.skin.model.SkinCategoryEntity;
import com.mortals.xhx.module.skin.service.SkinCategoryService; import com.mortals.xhx.module.skin.service.SkinCategoryService;
import org.springframework.util.ObjectUtils;
import java.util.List;
/** /**
* SkinCategoryService * SkinCategoryService
* 系统皮肤分类 service实现 * 系统皮肤分类 service实现
...@@ -13,5 +23,17 @@ import com.mortals.xhx.module.skin.service.SkinCategoryService; ...@@ -13,5 +23,17 @@ import com.mortals.xhx.module.skin.service.SkinCategoryService;
*/ */
@Service("skinCategoryService") @Service("skinCategoryService")
public class SkinCategoryServiceImpl extends AbstractCRUDServiceImpl<SkinCategoryDao, SkinCategoryEntity, Long> implements 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; 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 org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinTemplateDao; import com.mortals.xhx.module.skin.dao.SkinTemplateDao;
import com.mortals.xhx.module.skin.model.SkinTemplateEntity; import com.mortals.xhx.module.skin.model.SkinTemplateEntity;
import com.mortals.xhx.module.skin.service.SkinTemplateService; import com.mortals.xhx.module.skin.service.SkinTemplateService;
import org.springframework.util.ObjectUtils;
import java.util.List;
/** /**
* SkinTemplateService * SkinTemplateService
* 系统皮肤模板 service实现 * 系统皮肤模板 service实现
...@@ -14,4 +26,42 @@ import com.mortals.xhx.module.skin.service.SkinTemplateService; ...@@ -14,4 +26,42 @@ import com.mortals.xhx.module.skin.service.SkinTemplateService;
@Service("skinTemplateService") @Service("skinTemplateService")
public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplateDao, SkinTemplateEntity, Long> implements 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; package com.mortals.xhx.module.skin.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 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.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;
...@@ -37,6 +41,9 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa ...@@ -37,6 +41,9 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private SkinFieldService skinFieldService;
public SkinBaseController(){ public SkinBaseController(){
super.setFormClass(SkinBaseForm.class); super.setFormClass(SkinBaseForm.class);
super.setModuleDesc( "系统基础皮肤"); super.setModuleDesc( "系统基础皮肤");
...@@ -48,4 +55,10 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa ...@@ -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