Gitee

ERP的协议管理的操作与设计--开源软件[赤龙 ERP]诞生27

╄→尐↘猪︶ㄣ 提交于 2020-11-12 14:51:28
赤龙ERP协议与订单进阶讲解--第27篇 用日志记录“开源软件”的诞生 【进入地址 点亮星星】----祈盼着一个鼓励 博主开源地址: 码云: https://gitee.com/redragon/redragon-erp GitHub: https://github.com/redragon1985/redragon-erp 说流程 之前章节说过订单,其实订单不等于合同,但又类似于一种或狭义或广义的合同。说它广义是因为ERP中的订单不受限于合同,即不是只有签署了合同才会创建订单;说它狭义是因为不是签署了合同就必须创建订单,订单一般只会记录确定了物料或服务内容,确定了单价数量和金额的合同,但问题又来了,不是所有的合同都可以确定这些信息,比如:有些合同只签订了总金额,有些只签订了数量或价格。那么这些合同如何管理呢?我们引入了采购/销售协议,在存在不确定信息的情况下,先从协议再到订单,就较好的解决了上述合同涉及的ERP订单部分的分支流程:创建采购/销售协议,根据协议生成订单,然后再进行出入库或收付款,完成主流程的业务流转。 说业务 下面我们来聊聊协议管理的功能以及解决了哪些问题。 (1)协议类型:默认的采购协议包含合同采购协议、一揽子采购协议、计划采购协议;默认的销售协议包含计划销售协议。不同的协议类型对应到了不同合同签署约定的内容,比如:约定总金额的、未约定物料或服务范围的

润小云解读鸿蒙OS系列(一):分布式软总线概览

拈花ヽ惹草 提交于 2020-11-11 19:49:14
当年思过崖上,令狐冲苦战田伯光,幸得风老前辈指引:你先使一招‘白虹贯日’,跟着便使‘有凤来仪’,再使一招‘金雁横空’,接下来使‘截剑式’……一口气滔滔不绝的说了三十招招式。那三十招招式令狐冲都曾学过,连贯起来却何其复杂,还好有风老前辈指导,摆脱拘泥不化,融会贯通,终悟独孤九剑。 如今的IT设备种类繁多,客厅的电视,墙上的摄像头,手心的手机,耳朵里的蓝牙耳机,手腕上的智能手表,桌上的电脑;它们可以独立工作,也可以用某种方式进行相互连接;但如果希望它们协同工作,发挥出更大的威力,就要颠覆传统的观念,用新的视角来理解它们;现在想法有了,招式也有了(各IT设备),缺的是融合;华为的鸿蒙OS便为此而生,其中的分布式软总线模块,便是剑法心经。 无招胜有招,有了分布式软总线的加持,我们名下的这些设备可以实现无缝互联,对于用户而言,无论设备在哪,以什么方式进行接入,之间如何互通,这些复杂的逻辑由鸿蒙搞定,无视距离和协议的界限,即可以最简单的方式,高效、安全地进行数据交互。 同时在鸿蒙OS的体系中,分布式软总线也是另外两大绝学 - 分布式数据管理和分布式任务调度的基石;因此学习和理解分布式软总线,也是深入了解整个鸿蒙OS不错的入口。 鸿蒙OS代码已逐步开源,下载源码并非难事;分布式软中线代码仓库地址如下: communication_interfaces_kits_softbuskit_lite

基于Spring Cloud微服务化开发平台Cloud-Platform完整解析

梦想的初衷 提交于 2020-11-11 10:40:41
小Hub领读: 讲解视频也同步发布啦,记得去看哈,一键三连哇。 视频讲解: https://www.bilibili.com/video/bv1SD4y1o7cN 这系统,一定要学会用户-服务认证,服务-服务鉴权的那一套,这才算学会。 简介 Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 核心技术采用Spring Boot 2.1.2以及Spring Cloud (Greenwich.RELEASE) 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-admin组件,Elastic Search自行集成。 B站视频讲解: ps:注意本文讲解是基于Cloud-Platform v2.5版本,不是最新版本! 技术选型 前端:vue-element-admin 后端:springcloud(eureka、gateway、admin、sidecar、Hystrix、feign、ribbon、zipkin)、tk+mybatis、lucene、jwt、rest 项目结构 ace-security ace

Spring Security 实战干货:客户端OAuth2授权请求的入口

夙愿已清 提交于 2020-11-11 00:44:51
1. 前言 在 Spring Security 实战干货:OAuth2第三方授权初体验 一文中我先对OAuth2.0涉及的一些常用概念进行介绍,然后直接通过一个DEMO来让大家切身感受了OAuth2.0第三方授权功能。今天我们来一步一步分析这其中的机制。 2. 抓住源头 http://localhost:8082/oauth2/authorization/gitee 上面这个请求URL是我们在 上一篇 文章中提到的客户端进行第三方认证操作的起点,默认格式为 {baseUrl}/oauth2/authorization/{clientRegistrationId} ,其中 clientRegistrationId 代表着一个第三方标识,可以是微信、支付宝等开放平台,这里为 gitee 。用户点击了这个请求后就开始了授权之旅。假如大家都是从零开始的小白,肯定是要从这个入口来一步一步探寻其中的机制的。Spring Security一定是拦截到了 /oauth2/authorization 后才启用了OAuth2相关的处理逻辑。那就去抓住这个源头!从源码中搜索嘛!IDEA 快捷键 CTRL SHIFT R 就可以全局搜索结果了。 不出所料找到了三个地方,记下来一个一个看! OAuth2AuthorizationRequestRedirectWebFilter 先来看第一个

可支撑千万日活,这个Golang框架让你快速构建高并发微服务

喜夏-厌秋 提交于 2020-11-10 17:18:51
**项目名称:**go-zero **项目作者:**kevwan **开源许可协议:**MIT 项目地址: https://gitee.com/kevwan/go-zero 项目简介 go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。 go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。 项目特点 强大的工具支持,尽可能少的代码编写 极简的接口 完全兼容 net/http 支持中间件,方便扩展 高性能 面向故障编程,弹性设计 内建服务发现、负载均衡 内建限流、熔断、降载,且自动触发,自动恢复 API 参数自动校验 超时级联控制 自动缓存控制 链路跟踪、统计报警等 高并发支撑,稳定保障了疫情期间每天的流量洪峰 项目优势 轻松获得支撑千万日活服务的稳定性 内建级联超时控制、限流、自适应熔断、自适应降载等微服务治理能力,无需配置和额外代码 微服务治理中间件可无缝集成到其它现有框架使用 极简的 API 描述,一键生成各端代码 自动校验客户端请求参数合法性 大量微服务治理和并发工具包 基准测试

SVG.js动画系列4-滤镜动画

倾然丶 夕夏残阳落幕 提交于 2020-11-10 07:51:39
给滤镜加上动画,是一个什么样的效果呢。效果图如下: 本示例是anime.js的滤镜动画的翻版,用SVG.js实现。代码: var draw = SVG().addTo('body').size(800, 600) const points1 = "64 68.64 8.574 100 63.446 67.68 64 4 64.554 67.68 119.426 100"; const points2 = "64 128 8.574 96 8.574 32 64 0 119.426 32 119.426 96"; var polygon, filter, turbulence, displacementMap; function make() { const color = SVG.Color.random(); polygon = draw.polygon(points1).attr({fill:color}); filter = polygon.filterWith(function(add){ turbulence = add.turbulence({ baseFrequency:".05", numOctaves:"2" }); const scale = "15"; const xChannelSelector = "R"; const yChannelSelector =

微信抢红包过期失效实战案例

守給你的承諾、 提交于 2020-11-10 06:51:27
前言 微信红包业务,发红包之后如果24小时之内没有被领取完就自动过期失效。 架构设计 业务流程 老板发红包,此时缓存初始化红包个数,红包金额(单位分),并异步入库。 红包数据入延迟队列,唯一标识+失效时间 红包数据出延迟队列,根据唯一标识清空红包缓存数据、异步更新数据库、异步退回红包金额 代码案例 这里我们使用 Java 内置的 DelayQueue 来实现, DelayQueue 是一个无界的 BlockingQueue ,用于放置实现了 Delayed 接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。 老板发了10个红包一共200人民币,假装只有9个人抢红包。 发红包,缓存数据进入延迟队列: /** * 有人没抢 红包发多了 * 红包进入延迟队列 * 实现过期失效 * @param redPacketId * @return */ @ApiOperation(value="抢红包三",nickname="爪哇笔记") @PostMapping("/startThree") public Result startThree(long redPacketId){ int skillNum = 9; final CountDownLatch latch = new CountDownLatch(skillNum);//N个抢红包

layui-table-column-select-date(layui数据表格可搜索下拉框select)

落爺英雄遲暮 提交于 2020-11-10 05:36:55
layuiTableColumnEdit   在layui table的基础上对表格列进行扩展:点击单元格显示可搜索下拉列表及日期时间选择器。   码云地址: https://gitee.com/yangqianlong98/layuiTableColumn Edit 一、介绍   此项目是为了解决layui table表格单元格(column)点击事件中无下拉列表(select)及日期时间选择器功能的问题。   a.可异步ajax请求后台数据。   b.可直接以数组形式传参   c.可输入关键字搜索下拉框数据   d.可加入日期时间选择器 二、使用说明 1.使用方法   下载define/table-select整个文件夹,放在你的项目里面,然后使用模块加载的方式使用: layui . config ({ base : ' module/ ' }). extend ({ layuiTableColumnEdit : ' js/layuiTableColumnEdit ' }). use ([ ' table ' , ' layuiTableColumnEdit ' ], function () { var layuiTableColumnEdit = layui . layuiTableColumnEdit ; }); 2.在layui table单元格中渲染下拉列表

编码风格:Mvc模式下SSM环境,代码分层管理

房东的猫 提交于 2020-11-10 00:15:42
本文源码: GitHub·点这里 || GitEE·点这里 一、分层策略 MVC模式与代码分层策略,MVC全名是ModelViewController即模型-视图-控制器,作为一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,这是一种开发模式,但并不是实际开发中代码的分层模式,通常SSM框架的后端代码分层如下: controller控制层:定义服务端接口,入参出参,和一些入参校验; service业务服务层:组装业务逻辑,业务校验,构建控制层需要的参数模型; dao数据交互层:提供服务层需要的数据查询方法,处理数据交互条件相关的逻辑; mapper持久层:基于mybatis框架需要的原生支持,目前很常用的持久层组件; 二、控制层 1、Rest接口风格 基于资源访问和处理的逻辑,使用不同风格的注解。例如资源新增,更新,查询,删除。 /** * 新增 */ @PostMapping("/insert") public Integer insert (@RequestBody BaseInfo baseInfo){ return baseInfoService.insert(baseInfo); } /** * 更新 */ @PutMapping("/update/{id}")

前端面试题整合(JS进阶篇)(二)

房东的猫 提交于 2020-11-09 10:37:21
Ajax 是什么? 如何创建一个Ajax? AJAX全称是Asychronous JavaScript And Xml(异步的 JavaScript 和 XML) 它的作用是用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持 其主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果 实现方式( gitee上的案例 ): var xhr =null;//创建对象 if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open(“方式”,”地址”,”标志位”);//初始化请求 xhr.setRequestHeader(“”,””);//设置http头信息 xhr.onreadystatechange =function(){}//指定回调函数 xhr.send();//发送请求 Ajax的优缺点 优点: 通过异步模式,提升了用户体验 优化了浏览器和服务器之间的传输,按需获取数据,减少不必要的数据往返,减少了带宽占用