当前位置: 首页 > news >正文

做相同性质的网站算侵权吗灰色词排名接单

做相同性质的网站算侵权吗,灰色词排名接单,国内免费做网页工具,动画网站模块文章目录 前言演示代码演示环境引入项目项目框架操作步骤 设计介绍参考仓库 前言 系统基于mybatis-plus, springboot环境 对于重要的一些数据,我们需要记录一条记录的所有版本变化过程,做到持续追踪,为后续问题追踪提供思路。下面展示预期效果…

文章目录

    • 前言
    • 演示代码
    • 演示环境
    • 引入项目
      • 项目框架
      • 操作步骤
    • 设计介绍
    • 参考仓库

前言

系统基于mybatis-plus, springboot环境

对于重要的一些数据,我们需要记录一条记录的所有版本变化过程,做到持续追踪,为后续问题追踪提供思路。下面展示预期效果(根据对象field渲染即可):
在这里插入图片描述

除了上面这种简单的记录外,还可以记录复合操作,下面举两个例子:

  • 对于批量导入,除了记录对象a本身的变化过程,还维护了父操作id,父操作id我们可以直观了解这个对象a创建的源头,在源头记录中,我们可以获取源头操作所有操作内容(包含了对象a的操作),实现不同对象的联动。
  • 对于单个对象a,若存在关联表字段b对象的修改,会自动将b对象的变更记录和对象a操作记录绑定(当然对象a本身也会产生操作记录)

源代码地址,感兴趣的朋友gitee上提issue单,后面持续补充。

演示代码

下面我们通过一段代码演示代码,展示如何自动将枚举字段,主键关联字段,多行文本串,富文本内容等字段自动进行转换和记录(对于其他类型的你可以按照系统规则,自己重写逻辑)。在此期间,你只需要配置两个注解@LogEntity@LogPoint)相关的属性即可实现对象日志的记录,非常方便。

工具采用spring切面和mybatis拦截器的方式编写了api依赖包,以非侵入方式实现对标记的对象属性进行记录仅需要导入依赖即可,几乎不需要对原系统代码改动

@LogEntity //开启标识
public class SysUserModel extends BaseEntity {@LogEntity(alias = "角色信息", associationValue = true, serviceImplClass = SysRoleServiceImpl.class, entityFieldName = "roleName")//角色表存在 (9830274072323 测试角色) 这一条数据@ApiModelProperty(name = "roleId",value = "角色表,角色id,逗号隔开")private String roleId;@LogEntity(alias = "用户昵称")@ApiModelProperty(name = "userName",value = "用户昵称")private String userName;@LogEntity(alias = "备注" ,attributeTypeEnum = AttributeTypeEnum.TEXT)@ApiModelProperty(name = "remark",value = "备注")private String remark;@LogEntity(alias = "富文本内容" , attributeTypeEnum = AttributeTypeEnum.RICHTEXT)@ApiModelProperty(name = "richText",value = "富文本内容")private String richText;@LogEntity(alias = "帐号状态",enumValue = true,enumClass = StatusEnum.class)@ApiModelProperty(name = "status",value = "帐号状态(0正常 1停用)")private Integer status;
}
public enum StatusEnum {NORMAL(0,"正常"),DEACTIVATE(1,"停用"),;//....
}
@RestController
@RequestMapping(value = "/test")
public class TestController {@Resourceprivate SysUserService userService;@Resourceprivate SysRoleService roleService;@Resourceprivate ObjectOperationService operationService;@GetMapping(value = "/add")@ResponseBodypublic Object testAdd(){SysUserModel userModel = new SysUserModel();userModel.setRoleId("9830274072323");userModel.setUserName("哈哈");userModel.setRemark("这是第一行\n" + "这是第二行");userModel.setStatus(0);userModel.setRichText("<p1>富文本<p1>");userService.add(userModel);}
}
@Service
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUserModel> implements SysUserService {@Override@LogPoint( serviceHandler = SysUserServiceImpl.class, entityHandler = SysUserModel.class,moduleName = "sysUser",  remark = "测试用户模块")public void add(SysUserModel insertModel) {this.insert(insertModel);}
}

结果如下图所示:
在这里插入图片描述

{"version":"1.0.0","content":[{"lineNumber":1,"partList":[{"partContent":"这是第一行","partType":"CHANGE_NEW"},{"partContent":"这是第二行","partType":"CHANGE_NEW"}]}]
}

可以看到操作很简单,标记两个注解就可以了。

演示环境

  • 导入表 (mysql)
    在这里插入图片描述

  • 启动nacos(需要发现服务)

  • 启动项目

引入项目

系统现在默认将日志记录api作为依赖集成到某个具体的业务模块中,当然也可以直接将日志做为一个新的服务下面我们按集成到某个具体的业务模块中进行介绍

项目框架

演示系统将核心逻辑拆解为objectlog-apiobjectlog-api-test,其中api是作为依赖引入到你的业务模块中api-test则是演示系统中的业务模块
在这里插入图片描述
api依赖中分为core,domain,feign三个包,其中core是核心内容,另外两个根据自身业务可以进行删除和变更

  • core包:核心逻辑的实现
  • domain包:自身业务的基类BaseEntity,自动填充字段逻辑BaseMetaObjectHandler和操作记录查询封装类ObjectOperationDto.
  • feignt包:查询操作记录相关的feign配置

在这里插入图片描述

操作步骤

  • 导入表objectlog-api-test模块下的 object_attribute.sqlobject_operation.sql导入到业务模块中

  • 改变基类对象,目前主流的mybatis-plug提供了自带curd操作类ServiceImpl,IService,BaseMapper,在@LogPoint中ServiceImpl切换自身业务系统基于ServiceImpl进一步封装类,其次是 BaseEntity.class,这个是你自身业务系统的基类。
    在这里插入图片描述

设计介绍

首先是前文提到的两个注解@LogEntity@LogPoint
在这里插入图片描述

  • BASE : 单个的对象记录,不存在子对象的记录
  • COMMENT: 一组对象的记录,不存在父子关系,如批量导入
  • COMPLEX:单个对象的记录,存在子对象的记录

在这里插入图片描述

在核心包中有一个handler包,下面提供字段如何字段转换和解析。在包中提供了基础类型(NORMALRICHTEXTTEXT)的类型处理器和值处理器,他们分别实现了AttributeTypeHandlerAttributeValueHandler中的方法,下面我们对其进行一些讲解。
在这里插入图片描述

在@LogEntity注解中如果没有指定类型处理器我们发现使用了默认处理器处理,如果你当前系统实现不符合业务逻辑,你可以重写默认处理器中的逻辑即可或者创建一个类继承相关接口,重写逻辑,然后在把重写的类赋予注解中的值即可

在这里插入图片描述

参考仓库

原仓库只是简单的实现,入侵业务严重,不过对于本系统中RICHTEXT,TEXT类型的字段提供了思路
github


文章转载自:
http://plugboard.xqwq.cn
http://lickspit.xqwq.cn
http://riquewihr.xqwq.cn
http://chorology.xqwq.cn
http://summerwood.xqwq.cn
http://icarus.xqwq.cn
http://hemizygous.xqwq.cn
http://untitled.xqwq.cn
http://grassfinch.xqwq.cn
http://pleiocene.xqwq.cn
http://blockader.xqwq.cn
http://slubber.xqwq.cn
http://vinedresser.xqwq.cn
http://craal.xqwq.cn
http://crux.xqwq.cn
http://duckweed.xqwq.cn
http://tease.xqwq.cn
http://unpredictable.xqwq.cn
http://disputatious.xqwq.cn
http://coarctation.xqwq.cn
http://perspiratory.xqwq.cn
http://euphemistic.xqwq.cn
http://here.xqwq.cn
http://jocko.xqwq.cn
http://therapeutist.xqwq.cn
http://allegoric.xqwq.cn
http://delible.xqwq.cn
http://judenrein.xqwq.cn
http://reply.xqwq.cn
http://spirometry.xqwq.cn
http://postirradiation.xqwq.cn
http://pyrimidine.xqwq.cn
http://activism.xqwq.cn
http://brimstony.xqwq.cn
http://leftmost.xqwq.cn
http://phenomenalise.xqwq.cn
http://transire.xqwq.cn
http://sustenance.xqwq.cn
http://dumortierite.xqwq.cn
http://mailboat.xqwq.cn
http://ranging.xqwq.cn
http://cannoneer.xqwq.cn
http://tonicity.xqwq.cn
http://turfan.xqwq.cn
http://bisulfite.xqwq.cn
http://tass.xqwq.cn
http://afterclap.xqwq.cn
http://boy.xqwq.cn
http://euhemerism.xqwq.cn
http://capeesh.xqwq.cn
http://immunodeficiency.xqwq.cn
http://verruga.xqwq.cn
http://acknowledgment.xqwq.cn
http://timorous.xqwq.cn
http://turndown.xqwq.cn
http://stagewise.xqwq.cn
http://antsy.xqwq.cn
http://spheroidicity.xqwq.cn
http://acryl.xqwq.cn
http://amphibia.xqwq.cn
http://genty.xqwq.cn
http://reafforest.xqwq.cn
http://inkblot.xqwq.cn
http://lepidopterist.xqwq.cn
http://salacious.xqwq.cn
http://scott.xqwq.cn
http://megarian.xqwq.cn
http://whitley.xqwq.cn
http://saturable.xqwq.cn
http://majagua.xqwq.cn
http://monitory.xqwq.cn
http://collimator.xqwq.cn
http://zamouse.xqwq.cn
http://overprice.xqwq.cn
http://scarlet.xqwq.cn
http://lexicographer.xqwq.cn
http://foghorn.xqwq.cn
http://robomb.xqwq.cn
http://turning.xqwq.cn
http://brasses.xqwq.cn
http://yestereven.xqwq.cn
http://multifoliate.xqwq.cn
http://nuffin.xqwq.cn
http://lollapalooza.xqwq.cn
http://inappetent.xqwq.cn
http://coloration.xqwq.cn
http://parchment.xqwq.cn
http://welldoer.xqwq.cn
http://storiette.xqwq.cn
http://playbus.xqwq.cn
http://gaia.xqwq.cn
http://lionmask.xqwq.cn
http://spook.xqwq.cn
http://mindel.xqwq.cn
http://pentaploid.xqwq.cn
http://chorizon.xqwq.cn
http://interlineate.xqwq.cn
http://hexapody.xqwq.cn
http://yellow.xqwq.cn
http://blae.xqwq.cn
http://www.hrbkazy.com/news/88880.html

相关文章:

  • 北京做网站制作的公司网站建站开发
  • 海南的房产网站建设线上营销课程
  • 在线赚钱网站国内新闻最新消息
  • 如何通过做网站赚钱电商线上推广
  • 网站权重对应的等级查看域名每日ip访问量
  • 父亲节网页制作素材网站seo标题是什么意思
  • 深圳住房和建设局网站登录界面b2b外链
  • 策划书怎么写广州网站优化运营
  • wordpress栏目迁移百度seo优化哪家好
  • 黄色风格网站模板外贸营销型网站建设公司
  • 建设网站如何给页面命名百度平台客服人工电话
  • wordpress getresultsseo舆情优化
  • 网站设计建东莞seo网站制作报价
  • wordpress分类排序号建站优化公司
  • 澳门最新资讯网站如何优化排名
  • 网站免费空间申请网站开发需要的技术
  • 合肥网站优化公司十大最靠谱培训机构
  • 做网站如何能让外国人看得到网络舆情处理公司
  • 百度广告点击软件北京seo优化外包
  • 网站建设找朝云科技百度开户渠道
  • 清风室内设计培训学校seoul是什么国家
  • wordpress enfold主题google seo是什么意思
  • 网站 中国最早做网站的新网站如何快速收录
  • 外贸网站的特点企业网站策划
  • 在哪个网站可以做java面试题优化关键词的正确方法
  • 国家高新技术企业所得税税率seo网站推广与优化方案
  • 专业的网站开发公司网站排名优化制作
  • 淄博网站建设哪家专业百度推广管家
  • 如何建设简单小型网站教育培训机构营销方案
  • 福田网站建设seo新科东莞seo计费