idear自定义快捷方式
任务1:
问题: 场景是一个分公司下会有多个机构,在发邮件的时候会给改操作人发多封邮件,因为每个机构发一次,现在需要修改的是把这个分公司下所有机构统一发一封.
修改:因为最初是根据机构进行循环的,所以将传参作为一个对象,然后根据这个对象进行循环,这样就可以实现
控制台他会在日志logger.info()打印出对应的html展示
然后他每次如果在控制台展示任务,我们就需要复制控制台信息,然后创建以.html结尾的文本文档,将内容复制过去.所以考虑使用输出流,然后将邮件直接保存在本地.
try { Random random = new Random(); File file = new File("D:/aaa"+email+".html"); if (!file.exists()){ file.createNewFile(); } FileOutputStream out = new FileOutputStream(file); // 指定文件输出数据 out.write(sysEmail.getContent().toString().getBytes()); // 把数据写到内存 out.flush(); // 把内存中的数据写到硬盘 out.close(); } catch (IOException e) { e.printStackTrace(); }
任务2:
问题: 在页面加上多选框,然后点击勾选对应数据,将数据添加,展示在列表上
解决:1.在添加时怎么添加(在对应对象的入参加上, 可以将勾选的对象当做一个list集合进行入参, 先考虑入参传的对象是否为空 ObjectUtils.isNotEmpty(uwLcissuepolDTO.getUwLcQuestionInfoList(),然后根据具体业务进行判断,然后根据传入的list集合进行循环添加.
2.在页面展示的时候, 遇见新增的字段和需要展示的字段在数据库中取值冲突,考虑在查询时新增字段,看这个字段是如何进行赋值
)
git代码回退
git reset --heard (版本id)
例如: git reset --hard 44f994dd8fc1e10c9ed557824cae50d1586d0cb3
点击项目找到代码所在位置,使用这个软件输入对应的命令,然后在代码git分支就可以看到对应的提交记录是否撤回
版本号怎么寻找
第一种:git log查看提交版本。
第二种:点击查看提交错误的git记录,点击对应的文件,左边是之前的,右边是现在提交的,然后复制对应的版本号
IDEA翻译插件Translation 翻译失败
找到电脑上的路径:C:\Windows\System32\drivers\etc
C:\Windows\System32\drivers\etc
修改hosts文件内容,在下方添加一行:
203.208.40.66 translate.google.com
203.208.40.66 translate.googleapis.com
如果没有权限改的看以下步骤
在刚才的路径下,输入 cmd ,以管理员身份运行
cd进入刚刚hosts所在的文件目录
在此目录使用记事本打开hosts文件,输入notepad hosts回车
notepad hosts
添加第二步操作即可.
有可能还会出现不可以的情况, 可以在setting文件,将setting勾选的去掉,然后重新下载.
Translation - IntelliJ IDEs Plugin | Marketplace
MySQL中date_add()以及date_format()的用法
date_add()函数语法:
DATE_ADD(
date
,INTERVAL expr
unit
)
INTERVAL
间隔
date:起始日期或者起始时间
expr:指定的是一个间隔值,在起始时间中增加或者减少,注意:expr是一个字符串.对于负值间隔,可以以"-"开头
unit:表示的是一个单位,比如,加上的是1天还是一个小时.
eg: DATE_ADD(IF(uw_tt.uw_task_src = '3',DATE_ADD(#{delayDate},INTERVAL 1 DAY),uw_note.send_date)
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
for循环获取数据考虑
这个代码是错误的:
错误的点:1.set赋值错误setProcessLccontModels,首先ProcessLccontModels是一个list对象(processLccontModels),else赋值的时候直接赋值null可能会出现异常,赋值new ArrayList<>()
2.String processIdno = processLccontModel.getIdno();看代码就是获取有一个匹配就赋值,但是我们应该考虑的是,匹配里面的每一个,而不是有一个匹配就赋值
for (ProcessLccontModel processLccontModel : processLccontModels) { String processIdno = processLccontModel.getIdno(); if (StringUtils.equals(processIdno, item.getIdno())) { riskAmnt.setProcessLccontModels(processLccontModels); }else{ riskAmnt.setProcessLccontModels(null); } }
最后考虑使用stream流进行赋值,方便好多
List<ProcessLccontModel> processLccontModel = processLccontModels.stream().filter(Objects::nonNull) .filter(p -> StringUtils.equals(p.getIdno(), item.getIdno())).collect(Collectors.toList()); riskAmnt.setProcessLccontModels(processLccontModel);