-
Notifications
You must be signed in to change notification settings - Fork 39
Home
zhanyeye edited this page Mar 3, 2020
·
4 revisions
Welcome to the dingtalk-springboot wiki!
开发笔记
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name 127.0.0.1;
location / {
root C:\Users\zhanyeye\Desktop\dingtalk-vue\dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_set_header Host $host;
proxy_set_header x-forwarded-for $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:8080;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
- start nginx
- nginx.exe -s stop
- nginx.exe -s quit
- nginx.exe -s reload
整体跳转ActionCard样式参数示例:
{
"msgtype": "action_card",
"action_card": {
"title": "是透出到会话列表和通知的文案",
"markdown": "支持markdown格式的正文内容",
"single_title": "查看详情",
"single_url": "https://open.dingtalk.com"
}
}
独立跳转ActionCard样式参数示例:
{
"msgtype": "action_card",
"action_card": {
"title": "是透出到会话列表和通知的文案",
"markdown": "支持markdown格式的正文内容",
"btn_orientation": "1",
"btn_json_list": [
{
"title": "一个按钮",
"action_url": "https://www.taobao.com"
},
{
"title": "两个按钮",
"action_url": "https://www.tmall.com"
}
]
}
}
cd windows_64
ding -config=./ding.cfg -subdomain=air-dev 8081
JPA 原生 sql 的返回不能直接转换成对象,原生 sql 的返回形式是 Map 、 List<Map> 或 Object,因此可以使用 List<Map<String,Object>> 接收
连表查询不要使用where 而是 再 on 后加 and
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户;
where条件是在临时表生成好后,再对临时表进行过滤的条件;
on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
SELECT
u.id,
u.name,
d.yearmonth,
d.week1,
d.week2,
d.week3,
d.week4,
d.week5,
IFNULL(d.total,0) as total,
IFNULL(ac.total,0) AS ac
FROM
USER u
LEFT JOIN ( SELECT user_id, sum( ac ) AS total FROM ac_record WHERE DATE_FORMAT(`create_time`,'%Y%m%d') <= DATE_FORMAT('2020-03-28','%Y%m%d') GROUP BY user_id ) AS ac ON u.id = ac.user_id
LEFT JOIN dc_summary d ON ac.user_id = d.user_id
AND d.yearmonth = 202001
ORDER BY
total DESC
List<BigDecimal> invoices = new LinkedList<>();
invoices.add(BigDecimal.valueOf(9.9));
invoices.add(BigDecimal.valueOf(1.0));
invoices.add(BigDecimal.valueOf(19.99));
invoices.add(BigDecimal.valueOf(0.2));
invoices.add(BigDecimal.valueOf(5.5));
// sum using a for loop
BigDecimal sum = BigDecimal.ZERO;
for (BigDecimal amt : invoices) {
sum = sum.add(amt);
}
System.out.println("Sum = " + sum);
// sum using stream
BigDecimal sum2 = invoices.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Sum (Stream) = " + sum2);
get_double = (double)(Math.round(result_value*100)/100.0)
BigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP);
bg.doubleValue();
-
@Before :
前置通知,在切入点方法执行前通知
-
@AfterReturning :
后置返回通知,在切入点方法执行并返回后执行,方法抛出异常时不执行
-
@AfterThrowing :
后置异常通知,在切入点方法抛出异常时执行
-
@After :
后置最终通知,在切入点方法执行后,后置通过前执行,即使抛出异常也执行
-
@Around:
环绕通知,在切入点方法执行前、或执行后执行,可阻止目标方法的执行,替换参数等
-
JoinPoint 接口,仅可以获取信息,无法改变连接点的执行
- Object getTarget(),获取连接点对象
- Object[] getArgs(),获取方法参数
- Object getThis(),获取代理对象
-
ProceedingJoinPoint接口,仅可注入around通知
-
Object proceed() ,执行连接点方法,并返回执行结果,不执行则不会调用连接点方法
-
Object proceed(Object[] args),基于参数执行连接点对象方法
-
显示为阅读消息数量
select count(id) from table where uid = 当前yon'g'hu
StringBuffer sBuffer = new StringBuffer("菜鸟教程官网:");
sBuffer.append("www");
sBuffer.append(".runoob");
sBuffer.append(".com");
System.out.println(sBuffer);