本文主要是介绍记录下曾经愚蠢的我,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
站点属性前端页面
后端接口
public void add(){
OASite site = new OASite();
OAOrgSite orgSite = new OAOrgSite();
String site_id = UUID.randomUUID().toString().replace("-", "");
orgSite.set("site_id",site_id);
orgSite.set("org_id", getPara("org_id"));
orgSite.save();
site.set("site_id", site_id);
site.set("site_name", getPara("site_name"));
site.set("site_create_datetime",new Date());
site.save();
//设置站点属性
Map<String, Object> params = getParams();
params.put("site_id", site_id);
setSiteAttribute(params);
renderJson(new Result().setMessage("添加成功"));
}
过去的愚蠢版本,多余的麻烦判断
/**
* 设置站点属性
*/
public void setSiteAttribute(Map<String,Object> params){
String site_id = params.get("site_id").toString();
String old_site_language_id = params.get("old_site_language_id").toString();
String old_site_frame_id = params.get("old_site_frame_id").toString();
String old_site_container_id = params.get("old_site_container_id").toString();
String site_language_id = params.get("site_language_id").toString();
String site_frame_id = params.get("site_frame_id").toString();
String site_container_id = params.get("site_container_id").toString();
//在这里用事务把旧的属性删除了,然后添加新的属性
decideEdit(site_id, old_site_language_id, site_language_id);
decideEdit(site_id, old_site_frame_id, site_frame_id);
decideEdit(site_id, old_site_container_id, site_container_id);
}
public void decideEdit(String siteId, String oldAttribute, String newAttribute){
//判断站点属性是否修改了,若修改了则需要重写数据
if(!oldAttribute.equals(newAttribute)){
//判断站点属性是否是新添加的(原来没有该条属性,这次编辑新增)
if(StringUtils.isBlank(oldAttribute) && StringUtils.isNotBlank(newAttribute)){
addSiteAttribute(siteId,newAttribute);
//判断站点属性是否有删除的(原来有该条属性,这次编辑删除了)
}else if(StringUtils.isNotBlank(oldAttribute) && StringUtils.isBlank(newAttribute)){
OASiteService.service.deleteSiteAttribute(siteId,oldAttribute);
}else{
Db.update(Db.getSqlPara(
"oa.site.editAttribute", siteId, oldAttribute, newAttribute));
}
}
}
/**
* 添加站点属性
*/
public void addSiteAttribute(String siteId, String attribute){
OASiteAttribute siteAttribute = new OASiteAttribute();
siteAttribute.set("group_id", "");
siteAttribute.set("site_id", siteId);
siteAttribute.set("attribute_id", attribute);
siteAttribute.save();
}
新版本删除decideEdit()这个方法,添加站点属性时,无论是新添加的还是编辑,都是先将旧的站点属性全部删除,然后添加新的属性就可以了,减少了麻烦的判断。
总结:多思考,有时候代码太复杂纯粹是因为自己想太多,想岔了
这篇关于记录下曾经愚蠢的我的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!