Commit 599b0627 authored by 赵啸非's avatar 赵啸非

皮肤修改模板同步添加属性

parent 6ca0cbe2
...@@ -21,4 +21,7 @@ public class MatterVo extends BaseEntityLong { ...@@ -21,4 +21,7 @@ public class MatterVo extends BaseEntityLong {
*/ */
private List <String> eventTypeShowNotList; private List <String> eventTypeShowNotList;
} }
\ No newline at end of file
...@@ -27,6 +27,7 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> { ...@@ -27,6 +27,7 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> {
MatterDao getDao(); MatterDao getDao();
/** /**
* 添加业务到站点 * 添加业务到站点
* *
...@@ -66,6 +67,7 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> { ...@@ -66,6 +67,7 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> {
/** /**
* 查找差集子项 * 查找差集子项
*
* @param matterQuery * @param matterQuery
* @param pageInfo * @param pageInfo
* @param context * @param context
...@@ -75,4 +77,14 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> { ...@@ -75,4 +77,14 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> {
Result<MatterEntity> findSubList(MatterEntity matterQuery, PageInfo pageInfo, Context context) throws AppException; Result<MatterEntity> findSubList(MatterEntity matterQuery, PageInfo pageInfo, Context context) throws AppException;
Result<MatterInfo> findMicroList(MatterQuery matterQuery, PageInfo pageInfo, Context context) throws AppException; Result<MatterInfo> findMicroList(MatterQuery matterQuery, PageInfo pageInfo, Context context) throws AppException;
/**
* 生成事项文本
* @param context
* @return
*/
Rest<Void> genMatterTxt(MatterQuery matterQuery,Context context);
Rest<Void> genMatterMarkdown(MatterQuery matterQuery,Context context);
} }
\ No newline at end of file
...@@ -9,12 +9,14 @@ import com.mortals.framework.model.Context; ...@@ -9,12 +9,14 @@ 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.DataUtil; import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.ThreadPool;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BasePhpCRUDJsonMappingController; import com.mortals.framework.web.BasePhpCRUDJsonMappingController;
import com.mortals.xhx.base.framework.config.InterceptorConfig; import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.JointInfoShowEnum; import com.mortals.xhx.common.code.JointInfoShowEnum;
import com.mortals.xhx.module.matter.model.MatterEntity; import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterQuery;
import com.mortals.xhx.module.matter.service.MatterService; import com.mortals.xhx.module.matter.service.MatterService;
import com.mortals.xhx.module.site.model.SiteThemeQuery; import com.mortals.xhx.module.site.model.SiteThemeQuery;
import com.mortals.xhx.module.site.service.SiteThemeService; import com.mortals.xhx.module.site.service.SiteThemeService;
...@@ -50,6 +52,8 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe ...@@ -50,6 +52,8 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
private InterceptorConfig interceptorConfig; private InterceptorConfig interceptorConfig;
@Autowired @Autowired
private SiteThemeService siteThemeService; private SiteThemeService siteThemeService;
@Autowired
private MatterService matterService;
public MatterController() { public MatterController() {
super.setModuleDesc("基础事项"); super.setModuleDesc("基础事项");
...@@ -189,4 +193,64 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe ...@@ -189,4 +193,64 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
return ret; return ret;
} }
@PostMapping(value = "genMatterTxt")
@UnAuth
public Rest<Object> genMatterTxt(@RequestBody MatterQuery query) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
Context context = this.getContext();
String busiDesc = "生成文本" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
/* Runnable runnable = new Runnable() {
*//**
*
*//*
@Override
public void run() {
matterService.genMatterTxt(query, getContext());
}
};
ThreadPool.getInstance().execute(runnable);*/
this.service.genMatterTxt(query, getContext());
model.put(MESSAGE_INFO, busiDesc + "成功");
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
@PostMapping(value = "genMatterMarkdown")
@UnAuth
public Rest<Object> genMatterMarkdown(@RequestBody MatterQuery query) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
Context context = this.getContext();
String busiDesc = "生成文本" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
this.service.genMatterMarkdown(query, getContext());
model.put(MESSAGE_INFO, busiDesc + "成功");
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
} }
\ 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.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.skin.model.SkinFieldQuery;
import org.springframework.beans.BeanUtils;
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.SkinFieldDao; import com.mortals.xhx.module.skin.dao.SkinFieldDao;
import com.mortals.xhx.module.skin.model.SkinFieldEntity; import com.mortals.xhx.module.skin.model.SkinFieldEntity;
import com.mortals.xhx.module.skin.service.SkinFieldService; import com.mortals.xhx.module.skin.service.SkinFieldService;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/** /**
* SkinFieldService * SkinFieldService
* 皮肤属性字段配置 service实现 * 皮肤属性字段配置 service实现
* *
* @author zxfei * @author zxfei
* @date 2022-05-24 * @date 2022-05-24
*/ */
@Service("skinFieldService") @Service("skinFieldService")
public class SkinFieldServiceImpl extends AbstractCRUDServiceImpl<SkinFieldDao, SkinFieldEntity, Long> implements SkinFieldService { public class SkinFieldServiceImpl extends AbstractCRUDServiceImpl<SkinFieldDao, SkinFieldEntity, Long> implements SkinFieldService {
/**
* @param entity
* @param context
* @throws AppException
*/
@Override
protected void updateAfter(SkinFieldEntity entity, Context context) throws AppException {
super.updateAfter(entity, context);
if (0L == entity.getSkinId()) {
//更新模板属性 所有引用了当前模板的属性
SkinFieldQuery skinFieldQuery = new SkinFieldQuery();
skinFieldQuery.setTemplateId(entity.getTemplateId());
skinFieldQuery.setFieldCode(entity.getFieldCode());
List<SkinFieldEntity> updateList = this.find(skinFieldQuery, context).stream()
.filter(f -> f.getSkinId() != 0L)
.map(item -> {
item.setFieldName(entity.getFieldName());
item.setFieldType(entity.getFieldType());
item.setFieldOrderNo(entity.getFieldOrderNo());
item.setEnabled(entity.getEnabled());
return item;
})
.collect(Collectors.toList());
if (!ObjectUtils.isEmpty(updateList)) {
this.update(updateList, context);
}
}
}
/**
* @param entity
* @param context
* @throws AppException
*/
@Override
protected void saveAfter(SkinFieldEntity entity, Context context) throws AppException {
super.saveAfter(entity, context);
if (0L == entity.getSkinId()) {
//新增模板属性
SkinFieldQuery skinFieldQuery = new SkinFieldQuery();
skinFieldQuery.setTemplateId(entity.getTemplateId());
skinFieldQuery.setFieldCode(entity.getFieldCode());
//重复提交
Map<Long, Set<String>> collect = this.find(skinFieldQuery, context).stream().collect(Collectors.groupingBy(x -> x.getSkinId(), Collectors.mapping(y -> y.getFieldCode(), Collectors.toSet())));
for (Map.Entry<Long, Set<String>> entry : collect.entrySet()) {
Long key = entry.getKey();
if (key == 0L) continue;
if (entity.getFieldCode().equals(entry.getValue())) continue;
//新增属性
SkinFieldEntity target = new SkinFieldEntity();
BeanUtils.copyProperties(target, entity, BeanUtil.getNullPropertyNames(entity));
target.setSkinId(key);
this.save(target, context);
}
}
}
} }
\ No newline at end of file
...@@ -41,6 +41,25 @@ public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplat ...@@ -41,6 +41,25 @@ public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplat
}); });
super.findAfter(params, pageInfo, context, list); super.findAfter(params, pageInfo, context, list);
}
/**
* @param entity
* @param context
* @throws AppException
*/
@Override
protected void updateBefore(SkinTemplateEntity entity, Context context) throws AppException {
super.updateBefore(entity, context);
//更新前判断字段是否更新,如果更新则同步更新已有的模板属性
/* SkinTemplateEntity localEntity = this.get(entity.getId(), context);
if(!ObjectUtils.isEmpty(localEntity)){
}*/
} }
@Override @Override
...@@ -56,8 +75,7 @@ public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplat ...@@ -56,8 +75,7 @@ public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplat
} }
private void saveSkinFields(SkinTemplateEntity entity, Context context) { private void saveSkinFields(SkinTemplateEntity entity, Context context) {
//查找模板id,与皮肤绑定
//查找模板id,与皮肤肯定
Long[] ids = skinFieldService.find(new SkinFieldQuery().skinId(0L).templateId(entity.getId())).stream().map(item -> item.getId()).toArray(Long[]::new); Long[] ids = skinFieldService.find(new SkinFieldQuery().skinId(0L).templateId(entity.getId())).stream().map(item -> item.getId()).toArray(Long[]::new);
if (!ObjectUtils.isEmpty(ids)) { if (!ObjectUtils.isEmpty(ids)) {
skinFieldService.remove(ids, context); skinFieldService.remove(ids, context);
......
...@@ -25,6 +25,21 @@ Content-Type: application/json ...@@ -25,6 +25,21 @@ Content-Type: application/json
} }
###生成文本
POST {{baseUrl}}/matter/genMatterTxt
Content-Type: application/json
{}
###生成文本1
POST {{baseUrl}}/matter/genMatterMarkdown
Content-Type: application/json
{}
###基础事项列表 ###基础事项列表
POST {{baseUrl}}/site/matter/list POST {{baseUrl}}/site/matter/list
Content-Type: application/json Content-Type: application/json
......
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