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

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

parent 6ca0cbe2
......@@ -21,4 +21,7 @@ public class MatterVo extends BaseEntityLong {
*/
private List <String> eventTypeShowNotList;
}
\ No newline at end of file
......@@ -27,6 +27,7 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> {
MatterDao getDao();
/**
* 添加业务到站点
*
......@@ -66,6 +67,7 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> {
/**
* 查找差集子项
*
* @param matterQuery
* @param pageInfo
* @param context
......@@ -75,4 +77,14 @@ public interface MatterService extends ICRUDService<MatterEntity, Long> {
Result<MatterEntity> findSubList(MatterEntity 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;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.ThreadPool;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BasePhpCRUDJsonMappingController;
import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.JointInfoShowEnum;
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.site.model.SiteThemeQuery;
import com.mortals.xhx.module.site.service.SiteThemeService;
......@@ -50,6 +52,8 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
private InterceptorConfig interceptorConfig;
@Autowired
private SiteThemeService siteThemeService;
@Autowired
private MatterService matterService;
public MatterController() {
super.setModuleDesc("基础事项");
......@@ -189,4 +193,64 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
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;
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 com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.xhx.module.skin.dao.SkinFieldDao;
import com.mortals.xhx.module.skin.model.SkinFieldEntity;
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
* 皮肤属性字段配置 service实现
*
* @author zxfei
* @date 2022-05-24
*/
* SkinFieldService
* 皮肤属性字段配置 service实现
*
* @author zxfei
* @date 2022-05-24
*/
@Service("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
});
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
......@@ -56,8 +75,7 @@ public class SkinTemplateServiceImpl extends AbstractCRUDServiceImpl<SkinTemplat
}
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);
if (!ObjectUtils.isEmpty(ids)) {
skinFieldService.remove(ids, context);
......
......@@ -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
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