首页 > 其他分享 >2023年4月11日周二

2023年4月11日周二

时间:2023-04-11 19:22:05浏览次数:39  
标签:11 DTO 模型 对象 适配器 周二 2023 btn 代码

计划

执行

09点14分  跑代码
14点11分  继续看代码

记录

已解决

  1. 验证码是对的,在logincontroller中进行验证,是我愚蠢,没搞明白,第一次登陆不需要验证码,只有输错的时候需要

问题想法

  1. 玩命看代码,重在看学,不懂得让gpt给你解释明白,不要先下解决功能问题,你都搞不明白他怎么实现的,用了什么技术,涉及哪些代码,你当然解决不了
  2. 就用火狐了,感觉还不错,chrome我有好多缓存不能删
  3. 用户界面个人资料修改还有问题
  4. 不同角色界面不变,设置只是没有权限,研究这是如何实现
  5. 重点还是service层和controller层
  6. 没通过审核的接口其他成员看不到
  7. 登录成员账号我可以看到有的功能是标灰的,枚举了成员类型,多加几个就好

GPT

  1. src/main/java/cn/crap/adapter/Adapter.java
    这段代码是一个适配器类,用于将传入的参数转换成一个Log对象并返回。其中,传入的参数包括id、modelName、remark、type、c和model,分别表示日志的唯一标识、模型名称、备注、日志类型、模型类和模型对象。适配器会根据这些参数设置Log对象的各个属性,并返回该对象。适配器还使用了Assert和LoginUserHelper两个工具类,用于参数校验和获取当前登录用户信息。
    这两个工具类是在该项目的其他地方实现的,在这段代码中只是被调用了而已。
    Assert类应该是一个用于参数校验的工具类,用于判断传入参数是否为空或符合要求,从而确保代码的正确性和健壮性。
    LoginUserHelper类应该是一个用于获取当前登录用户信息的工具类,可能是通过session或token等方式获取当前用户的信息,从而完成日志记录中的“更新人”字段的填写。

  2. 项目中使用adapter文件夹,将模型对象,即model转换成数据传输对象dto
    这段注释表示这段代码是由工具自动生成的,是一个用于将模型对象转换成数据传输对象(DTO)的适配器。通过该适配器,可以将模型对象中的数据转换成DTO对象,从而在不暴露敏感数据的情况下,将数据传输给其他系统或组件。同时,该适配器也可以避免暴露敏感数据或修改不允许修改的数据。这可以通过在适配器中进行数据过滤和校验来实现。
    2.1 该适配器主要的作用是将模型对象转换成DTO对象,并且在转换的过程中进行敏感数据过滤和校验。这样可以确保在数据传输过程中,不会暴露敏感数据或修改不允许修改的数据,提高了数据的安全性和可靠性。同时,通过将模型对象和DTO对象进行分离,也可以提高代码的可维护性和可扩展性。这种使用适配器的方式,是非常常见的,也是一种良好的设计模式。

  3. 将模型对象和DTO对象进行分离,通常是为了实现数据的解耦和复用。在这种情况下,模型对象主要用于表示数据库中的数据模型,而DTO对象则用于表示在应用程序中传输的数据模型。这样可以避免直接将数据库中的数据暴露给应用程序,从而提高数据的安全性和可靠性。
    在这种情况下,DAO层通常是操作数据库中的模型对象,用于完成数据的增删改查等操作。而业务逻辑层则负责将模型对象转换成DTO对象,并进行相应的数据过滤和校验,用于确保数据的正确性和安全性。当需要将数据传输给其他系统或组件时,业务逻辑层会使用DTO对象来完成数据传输。
    因此,在这种情况下,DAO层主要负责操作模型对象,而业务逻辑层则负责将模型对象转换成DTO对象,并进行数据过滤和校验。

  4. 业务逻辑层service层
    业务逻辑层通常是指Service层,用于完成业务逻辑的处理和控制。在典型的三层架构中,业务逻辑层位于Service层,用于封装业务逻辑,处理业务流程和业务规则等。业务逻辑层通常负责调用DAO层的方法,将模型对象转换成DTO对象,并进行数据过滤和校验。同时,业务逻辑层还负责处理异常和错误,确保系统的稳定性和可靠性。
    总之,业务逻辑层是整个系统中非常重要的一层,它负责处理系统的核心业务逻辑,对系统的性能和安全性等方面都有着至关重要的影响。因此,在设计和开发系统时,需要特别关注业务逻辑层的设计和实现

  5. 这段代码是一个Java Web应用程序的控制器类,包含了一个名为OpsController的类和若干个方法。OpsController类用于处理修复运维相关的请求,其中包含了一个addDebug方法,该方法实现了将Debug数据转换为Interface数据并保存的功能。具体来说,该方法通过调用DebugAdapter和InterfaceAdapter两个适配器类,将Debug数据转换为Interface数据,并调用InterfaceService插入到数据库中。该方法使用了Spring MVC框架的注解,使得该方法能够响应Web请求,并返回JSON格式的结果。

  6. 该代码首先检查缓存中是否存在一个以指定 uuid 作为 key 的数据,这个 key 是由 IConst.C_NEED_VERIFICATION_IMG 和 uuid 组成的。如果缓存中存在这个数据,则表示用户之前已经输错过一次验证码,需要再次输入验证码。

  7. src/main/java/cn/crap/ability/ProjectAbility.java
    这段代码是一个名为ProjectAbility的类,其中包含了两个自动装配的属性:ProjectService和ProjectUserService。该类中定义了一个addProject方法,该方法用于添加项目。该方法接受两个参数:一个是ProjectPO类型的project对象,另一个是LoginInfoDto类型的user对象。该方法首先调用projectService的insert方法将project对象插入到数据库中,如果插入成功,则创建一个ProjectUserPO对象,并将其初始化为project和user的关联对象。然后将该对象的类型设置为CREATOR,将其序列设置为project的序列,将其项目名称设置为project的名称。最后将该对象插入到数据库中,并返回插入是否成功的结果。

type="button" ng-class="{true: 'btn btn-default btn-sm', false:'btn btn-default btn-sm disabled'}[isProjectUser('addInter')]"
ng-href="#/user/interface/edit?dataType=interface&id=NULL&menu_a=menu-project&menu_b=menu_interface&projectName={{stateParams.projectName}}&projectId={{stateParams.projectId}}&moduleId={{$stateParams.moduleId}}"> 新增接口

这段代码是一个HTML模板中的一段代码,用于生成一个超链接,点击该链接可以跳转到新增接口页面。具体解释如下:

1.使用ng-class指令动态设置该超链接的class属性,根据isProjectUser('addInter')函数的返回值来判断按钮是否可用。如果isProjectUser('addInter')函数返回true,则设置class属性为'btn btn-default btn-sm',否则设置为'btn btn-default btn-sm disabled'。

2.使用ng-href指令设置该超链接的href属性,跳转到新增接口页面,并传递一些参数。其中,stateParams.projectName表示当前项目的名称,stateParams.projectId表示当前项目的ID,$stateParams.moduleId表示当前模块的ID,dataType表示需要操作的数据类型,id表示需要操作的数据ID,这里设置为NULL表示新增接口。

3.超链接中包含一个标签,使用iconfont字体图标来显示一个图标,同时显示一个文字“新增接口”。

知识

标签:11,DTO,模型,对象,适配器,周二,2023,btn,代码
From: https://www.cnblogs.com/barry-first/p/17305050.html

相关文章

  • 20230411
    鏡音リン:如果一个人对某件事,投入了较多的时间,并且习惯把自己和其他人做对比(包括以其他人为参照给自己设置预期目标),并且这个人不是断层领先的第一名,这个人的心态就可能会被这件事搞的越来越爆炸与其硬要做让自己不高兴的事情,去获得一些难以企及的成就,不如不去做,让自己远离那......
  • 【opentts】win11问题记录
    1.File"\lib\asyncio\events.py",line553,inadd_signal_handlerraiseNotImplementedError参考issue,windows不支持signal,添加代码禁用#_LOOP.add_signal_handler(signal.SIGTERM,_signal_handler)try:_LOOP.add_signal_handler(signal.SIGTERM,_signal......
  • RV1126新增驱动IMX415 SENSOR,实现v4l2抓图
    RV1126新增驱动IMX415SENSOR,实现v4l2抓图。1:内核dts修改 &csi_dphy0{status="okay";ports{#address-cells=<1>;#size-cells=<0>;port@0{reg=<0>;#address-cells=<1>;#size-cells=<0>;mipi_in_ucam0:endpoint@1......
  • 2023.3月产品小报丨微信管理小程序功能上线;SDK 新增小程序收藏功能
    阳春三月,草长莺飞。在迎接春天到来的日子里,让我们看看FinClip又有哪些新的功能上线吧!产品方面的相关动向 营销模板上线,支持快速生成营销小程序在小程序开放平台,点击左侧的「小程序管理-营销模板」,可查询支持营销模板资源,您可以选择对应的模板,快速生成营销小程序,在不同应用进行分......
  • Debian 11 (bullseye) 国内软件源
     本文整理了Debian11在国内的几个软件源。1.使用说明 一般情况下,将/etc/apt/sources.list文件中Debian默认的软件仓库地址和安全更新仓库地址修改为国内的镜像地址即可,比如将deb.debian.org和security.debian.org改为mirrors.xxx.com,并使用https访问,可使......
  • [NOIP2011]铺地毯
    算法比赛真是属于同类比赛中最耗时间的了,有时候一个题一个小时都拿不下。不说了先看下这个题的解法#include<bits/stdc++.h>usingnamespacestd;inta[100001],b[100001],g[100001],k[100001];intn;intx,y;intcnt=-1;intmain(){cin>>n;for(inti=......
  • 11
    CountDownTimeLimit:2sec/MemoryLimit:1024MBProblemStatement按降序打印所有小于或等于N的非负整数。Constraints$1≤N≤100$Nisaninteger.Input输入来自标准输入,其格式如下:NOutput打印X行,其中X是小于或等于N的非负整数的数量。对于每个i=1,2,........
  • python爬虫案列11:爬取双色球历史开奖记录并存储到mysql
    开始之前要先在MySQL创建一个名为spider的数据库,在里面创建一个名caipiao的表,表里面三个字段,data,red,blue点击查看代码importrequestsimportpymysqlfromlxmlimportetree#连接数据库conn=pymysql.connect(host='localhost',port=3306,user='root',password='......
  • 2023.04.11 定时测试随笔 T1
    T1数列分段SectionII传送门:洛谷P1182题意:把\(n\)个数分成\(m\)段,使\(m\)段和的最大值最小,求这个值;题解:因为题目要求最大值的最小值,很明显的一道二分答案的板子题,我们二分这个最大值,因为是区间和,我们用前缀和来维护,二分区间就是[\(sum[1]\),\(sum[n]\)]:......
  • 2023年最新iOS打包发布流程汇总
     ​苹果开发者中心已经给出了很详细的说明,可以帮助开发者将iOS应用发布到AppStore。对于使用ReactNative开发的iOS应用来说,发布流程和普通的iOS应用大致相同,主要包括以下几个步骤:加入苹果开发者计划、生成和配置开发者证书、打包iOS应用以及上传应用并发布到A......