diff --git a/ams/Djy.Common/Common.xml b/ams/Djy.Common/Common.xml index 159d244..ff31916 100644 --- a/ams/Djy.Common/Common.xml +++ b/ams/Djy.Common/Common.xml @@ -4,82 +4,82 @@ Common - + token实体 - + 状态标识 - + 状态 - + 返回消息 - + token字符串 - + 过期时差 - + 明文返回的附加数据 - + jwt身份认证发行者实体属性 - + 发行者 - + 订阅者 - + 过期的时间间隔 - + 私钥密钥 - + 签名证书 - + Jwt Token提供类 - + Jwt配置选项 - + 根据数据创建令牌 @@ -89,1180 +89,5075 @@ isEncrypt - + 查询令牌是否存在 - - - 数据库对象实体列表 - - - + - 标题名称 + 流程状态 - + - 系统Key + 撤销、召回 - + - 数据库类型 + 正在运行 - + - 连接字符 + 完成 - + - 数据状态 1正常 0不显示 -1 停用 + 不同意 - + - 显示状态 1显示 0不显示 + 驳回 - + - index排序 + 定时任务状态 - + - Freesql 拓展 + 未启动 - + - 忽略指定的列查询 只支持表 + 正在运行 - - - - - + - 忽略指定的列查询 只支持表 + 判断主键是否为空,常用做判定操作是【添加】还是【编辑】 - - - - + - 缓存配置实体类 + 创建默认的主键值 - + - 是否使用reids + 数据库Id为numberic且为数据库自动生成的数据实体使用该基类,用法同Entity + 该场景通常为SqlServer的自动增长类型和Oracle自带的Sequence - + - reids连接host + 数据库Id为numberic类型的数据实体使用该基类,用法同Entity + 数据库Id字段为numberic(16,0)或以上长度的整型,采用雪花算法生成Id。 - + - 密码 + 采用雪花算法计算Id - + - 端口号 + 主键为字符串的实体基类,为系统默认的实体类型 - + - redis实例名称 + 判断主键是否为空,常用做判定操作是【添加】还是【编辑】 + - - - 分页页面实体 - - - + - 当前页 + 创建默认的主键值 - + - 单页条数 + 树状结构实体 - + - 转换PageEntity + 节点语义ID - 返回Page - + - 返回分页结果类型实体 + 功能模块名称 - + - 总记录数 + 父节点流水号 - + - 当前页 + 父节点名称 - + - 页面大小 + 主键为字符串的实体基类,为系统默认的实体类型 - + - 回写page数据 + - - - + - 回写page数据 + 判断主键是否为0,常用做判定操作是【添加】还是【编辑】 - - - + - + - 总页数 + - + - 构造 + Dapper帮助类 - + - 创建page返回结果数据 + - 绑定的数据 - 总数据量 - 当前页 - 单页大小 + - + - 常用返回请求返数据结果累实体 + + + + - + - 执行开始时间 + + + + + - + - 执行结束时间 + + + + - + - 执行时间 + + + + + - + - 脏字过滤 - 过滤的脏字列表 + + - + - 状态码 + + + - + - 数据状态 + 自定义执行多表事务存储过程 + 存储过程过程名 + 参数 + + + - + - 消息 + 执行中包含事务 + + + - + - 返回时间 + 不带事务的执行存储过程 + + + - + - 执行时间 + + + + + - + - 数据data + + + + - + - 其他数据 可以看做为第二个Data读取或使用 + + + + - + + + + - + - 全数据创建 当Data为null时 status自动为false core为400 + 获取所有数据 + Author GHB 2021-6-7 - 绑定的数据 - 状态默认 true - 状态码默认200 - 消息默认OK + 所有数据 - + - 数据设置ok + 通过主键查询数据。 + Author GHB 2021-6-7 - 消息 - data数据 + 主键值 + 查询结果 - + - 数据设置not + 插入一组数据并且返回自动生成的主键的值 - 消息 - code码 + 要插入的数据 + 自动生成的主键的值 - + - 钉钉机器人发送Dto + 批量插入数据并且返回插入数据的个数 + 要插入的数据 + 数量 - + - 标题 + 根据主键修改数据 + Author GHB 2021-6-7 + 修改后的数据 + 是否修改成功 - + - 发送的消息 + 批量修改数据 + Author GHB 2021-6-7 + 实体模型 + - + - 标签 + 根据主键删除数据 + Author GHB 2021-6-7 + 实体模型 + - + - 钉钉机器人Url + 批量删除数据 + Author GHB 2021-6-7 + 实体模型 + - + - 站点配置 + 查找唯一记录,如果存在多个记录,则异常 + Author GHB 2021-6-11 + 返回类型 + 查询语句 + 查询参数 + - + - 钉钉机器人推送地址 预警发送地址 + 默认返回第一条数据 + 返回类型 + 查询语句 + - + - 重点错预警URl + 根据查询SQL直接返回datatable + Author GHB 2021-6-15 + 实体模型 + - + - 关键字 + 根据查询SQL直接返回datatable + 实体模型 + - + - 授权认证服务器url + 执行SQL语句返回结果 + + + - + - 站点ID + 执行中包含事务sql + + - + - 是否是开发环境 + 开启事务 + + - + - 站点名称 + 提交事务 + + - + - web站点跟目录 + 回滚事务 + + - + - 站点所在城市 省|市|区 + 数据库数据转换拓展 - - - RedisUrl地址 - - - + - reids DB 编号 + 将 DataTable 转 List 集合 + 返回值类型 + DataTable + List{T} - + - RabbitMQ Server + 将 DataTable 转 List 集合 + 返回值类型 + DataTable + List{T} - - - RabbitMQ 用户名 - - - - - RabbitMQ 密码 - + + + 将 DataSet 转 元组 + + 元组元素类型 + DataSet + 元组类型 - + - RabbitMQ 持久化数据库链接 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - 默认数据库连接名称 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - 数据库连接队列 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - 配置数据列表 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - 配置数的初始化状态 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - Des加密解密密钥16位 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - 最大数量 + 将 DataSet 转 元组 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + 元组元素类型 + DataSet + 元组类型 - + - 登录超时时间 + 将 DataSet 转 特定类型 + DataSet + 特定类型集合 + List{object} - + - + 将 DataSet 转 特定类型 + DataSet + 特定类型集合 + object - + - jwt发行者 + 将 DataTable 转 特定类型 + DataTable + 返回值类型 + object - + - jwt订阅者 + 将 DataTable 转 特定类型 + DataTable + 返回值类型 + object - + - jwt过期的时间间隔分钟 + 处理元组类型返回值 + 数据集 + 返回值类型 + - + + + 数据库对象实体列表 + + + - jwt私钥密钥 + 标题名称 - + - 系统脏字过滤关键字列表中间用,或|间隔 + 系统Key - + - 系统脏字过滤关键字列表 + 数据库类型 - + - 是否开启缓存 + 连接字符 - + - 统一的缓存短时间 单位秒 + 数据状态 1正常 0不显示 -1 停用 - + - 统一的缓存长时间 单位秒 + 显示状态 1显示 0不显示 - + - 是否启动redis缓存,否则为内存缓存 + index排序 - + - redis URl + Freesql 拓展 - + - redis端口号 + 忽略指定的列查询 只支持表 + + + + - + - redis密码 + 忽略指定的列查询 只支持表 + + + + - + - 使用的redis InstanceName + 统一用于接收前端功能查询条件 - + - 微信开发配置 + - + - 公众号ID + 文件名称 - + - 公众号密钥 + Token - + - 公众号授权操作后返回微信前端的URl + - + - 开放平台ID + - + - 开放平台密钥 + 开始时间戳 - + - 小程序Id + 结束时间戳 - + - 小程序密钥 + 内容 - + - 微信支付 商户编号 + code 编号编码 - + - 微信支付Key + 名称 - + - 证书地址 + 属性分类 - + - 证书密码 + 状态 - - - 支付成功后回调跳转地址 - - - + - 微信退款的回调地址 + 船公司编码 - + - datetime数据类型拓展 + 航线 - - - 将一个时间转换为秒级时间戳 - - 时间 - - - - - 将一个时间转换为毫秒级时间戳 - - - - - + - 获取标准时间戳 秒级 + - - - + - 将时间转换为时间字符串编码 yyyyMMddHHmmssffff + - - - + - 判断时间是否大于1970年的有效时间 + 数据data - - - + - 获时间一天中的开始时间 + id + + + + + 排序方式 1正序 2倒序 + + + + + 结束时间加一天 + + + + + 基础基类 + + + + + 用户查询条件的Idlist + + + + + 主键ID + + + + + Guid主键 + + + + + 数据状态 -1删除 0为不可用 1正常 1-99为各种状态 100为完成 + + + + + 创建时间戳秒级 + + + + + 更新时间戳 + + + + + 初始化默认属性 Id,Guid,CreateTime,CreateTimeStamp,Status + + + + + 常用标准的数据字典配置模型 + + + + + 数值型ID + + + + + code + + + + + 排序索引 + + + + + 查询索引 + + + + + 名称 + + + + + config配置 格式为逗号间隔的 key=value,key2=value3 + + + + + 返回配置参数的配置对象字典 + + + + + 序列化config返回数据字典 + + + + + + 大简云用户权限 + + + + + + + + + + 可视范围 0全部 1 本公司 2 本部门 3 本人 4 无 5选择公司 6 选择人员 7 注册公司 + + + + + 操作范围 0全部 1 本公司 2 本部门 3 本人 4 无 5选择公司 6 选择人员 7 注册公司 + + + + + 描述 + + + + + 权限页面 Key标识 + + + + + + + + + + 通用状态 + + + + + 默认 + + + + + 正常 + + + + + 冻结或删除状态 + + + + + 完成 + + + + + 默认 + + + + + 未处理 + + + + + 处理中 + + + + + 冻结或删除状态 + + + + + 已完成 + + + + + 已取消 + + + + + 是否 + + + + + 是 + + + + + 否 + + + + + 用户角色类型 + + + + + 全部 一般用于初始值 + + + + + 管理员 + + + + + 客户端 + + + + + 目录类型 尽力与 usertype同步 + + + + + 全部的 + + + + + 总管理后台 + + + + + 企业用户端pc + + + + + 文件列表Dto + + + + + Name + + + + + URl + + + + + 用于三方请求服务的 + + + + + 本期业务请求的RunID 必须唯一 可以是data中数据的BSno + + + + + 请求的用户Id + + + + + 请求的业务名称 + + + + + 请求的 业务模块类型 + + + + + 发送类型 具体操作类型 + + + + + 秒级 时间戳 + + + + + MD5加密密文 + + + + + 执行的业务数据 + + + + + 请求Ip + + + + + 计算Md5验证密文 RunId + UserId + Module + BsType+SendType + Timestamp + Key 然后MD5小写计算 + + + 需要加入到验证拼接的字符串 + + + + + Job请求日志 + + + + + 请求名称 + + + + + + + + + + + + + + + 开放的业务请求记录 + + + + + 本期业务请求的ID 必须唯一 可以是data中数据的BSno + + + + + 请求的用户Id + + + + + 请求的业务名称 + + + + + 请求的 业务模块类型 + + + + + 发送类型 具体操作类型 + + + + + 秒级 时间戳 + + + + + MD5加密密文 + + + + + 执行的业务数据 + + + + + 请求Ip + + + + + 执行结果 + + + + + 支付 + + + + + 支付通道类型 1微信 2支付宝 + + + + + 支付方式 支付通道的子方式 + + + + + 支付订单编号 + + + + + 支付用户ID + + + + + 支付金额以分为单位 + + + + + 支付描述 + + + + + 支付来源对象ID + + + + + 支付完整结果的回调通知地址 + + + + + 发起提交的数据 + + + + + 提交后结果 + + + + + 支付服务回调数据 + + + + + 数据字典 + + + + + 索引排序 + + + + + 分组名称 + + + + + key键值 + + + + + value内容 + + + + + 数据Code值 + + + + + 显示标题 + + + + + 备注信息 + + + + + dict数据字典 config 配置 配置会系统启动的时候自动写入配置缓存 + + + + + 数据字典表Dto + + + + + 索引排序 + + + 分组名称 + + + + + key键值 + + + + + value内容 + + + + + 数据Code值 + + + + + 显示标题 + + + + + 日志表 + + + + + 消息 + + + + + 触发对象类型名称 + + + + + 触发的Gid + + + + + 触发数据json + + + + + 结果数据json + + + + + 来源系统 + + + + + 模块目录链接 + + + + + + + + + + 名称 + + + + + URl + + + + + 父级别 Key + + + + + 排序索引 + + + + + 报关阿里云账户ID + + + + + 权限Dto + + + + + 用户Id + + + + + 公司企业Id + + + + + 是否有权限 + + + + + 所属分公司简称 + + + + + 部门名称 + + + + + 签名上传 + + + + + api接口基类 + + + + + 创建日志 + + 内容 + + + + + + + + 获取大简云设置权限 + + keyname标识 + + + + + 获取登录详情信息 + + + + + + 统一获取大简云权限查询权限的userid companyid 没有权限则指定userid和companyid 为不存的guid值 + + + + 模块keyname标识 + 0 查询查看权限 1 操作更新权限 默认 0 + + + + + 获取登录Id + + + + + 获取登录名称 + + + + + 获取登录公司名称 + + + + + 获取登录公司id + + + + + 获取登录类型 + + + + + 根据key获取claims值 没有则返回null + + + 是否是加密 + + + + + DES解密 + + + + + + + api接口基类 + + 接口类型比如 Iservice + + + + + + + + + 执行指定的方法 + + 方法名称 + 参数对象队列 + + + + + api接口基类 + + 接口类型比如 Iservice + Dto Model + Tables数据表model + + + + 根据Id获取实体 + + + + + + + 基础的创建接口 提交创建对象 + + + + + + + 最基础的更新接口 传递要更新的数据对象 必须有Id + + + + + + + 最基础的删除接口 [1,2,3] + + + + + + + automapper自动映射配置 + + + + + 类型映射 + + + + + 集合列表类型映射 + + + + + 集合列表类型映射 + + + + + 类型映射 + + + + + 数据库结构体 + + + + + 独立的大简云publice库 + + + + + 大简云平台老库 + + + + + AMS + + + + + 日志库 + + + + + 数据库操作类 + + + + + 数据库连接池 + + + + + RedisDB + + + + + 数据库连接池初始化 + + + + + + 常用功能工具 + + + + + redis 缓存写入 + + + + + 过期秒数 + + + + + 读取redis中的对象数据 不存在返回null + + + + + + + + + + 逗号间隔的Email地址 + Email主题 + Email内容 + 发件人 + + + + + Email发送 + + 收件人 + Email主题 + Email内容 + 发件人 + 附件 + + + + Email发送 + + 收件人 + Email主题 + Email内容 + 发件人 + + + + + Get 请求 + + + + + + + + + + + + + + + 获取大简云用户权限列表 查询条件[KeyName] + + + + + + 服务基类 + + + + + 获取登录者账户详情信息 + + + + + + + 创建日志 + + 消息 + 触发数据对象或分组 + 触发数据 + + + + + 创建日志 + + 消息 + 触发数据对象或分组 + 触发数据 + 触发数据guid + 返回的数据 + true 属性原型 false 小驼峰模式 + + + + + 创建日志 + + + + + + + 创建日志 + + + + + + + 服务基类 + + 表名 + Dto 名称 + + + + 设置 数据库连接池KeyName + + 数据库连接池KeyName + + + + 数据库链接池KeyName + + + + + gid批量删除 + + + + + + + 条件删除 + + + + + + + 根据Dto条件查询 + + + + + + + + 条件查询 + + + + + + + + 根据Gid获取 + + + + + + + 条件获取 + + + + + + + 对数据对象更新 + + + 要更新的目标对象 + 更新的值 + 指定更新字段 + 指定的跳过过滤字段 + + + + + 更新 更新规则 自动对比更新数据对 只对修改的进行修改 自动忽略 空值 初始化值 + + + 原始数据条件 + 不做修改的列名 + 指定要修改的列 + + + + + 大简云用户及其权限相关 + + + + + 获取用户信息 + + + + + + + 获取用户base信息 + + + + + + + 获取大简云用户权限列表 获取大简云用户权限列表 查询条件[KeyName] + + + + + + + 根据用户ID 和页面权限key获取权限 + + + 页面或后权限Key标识 + + + + + 接口基类 + + + + + 接口基类 + + 表模型 + 表Dto模型 + + + + LIst查询 + + + + + + + List数据条件查询 + + + + + + + + 根据主键获取详情 + + + + + + + 根据Gid主键获取详情 + + + + + + + 条件查询获取第一条数据实体 + + + + + + + + + + 要更新的字段列表 + 排他不更新的列表 + + + + + 批量删除 + + + + + + + 条件删除 + + + + + + + 公共工具类使用接口 + + + + + 获取大简云的数据字典 + + Key字典类型 用于区分获取数据 + 查询条件 使用 code 数据的编号或编码 和name 名称查询条件 + + + + + 统一任务启动 + + + + + 获取数据字典 + + + + + + + 修改字典参数 + + + + + + + 初始化版定数据字典到 sysOptionConfig.ConfigDcit配置 + + 间隔自动刷新 + 间隔时间 分钟 默认一分钟 + + + + + 获取数据字典分组列表 + + + + + + 获取配置参数 + + + 默认sys + + + + 获取配置参数转djy标准dict类型对象列表 + + + + + + + + 创建日志 + + 内容 + + + + + + + + 缓存配置实体类 + + + + + 是否使用reids + + + + + reids连接host + + + + + 密码 + + + + + 端口号 + + + + + redis实例名称 + + + + + 分页页面实体 + + + + + 当前页 + + + + + 单页条数 + + + + + 转换PageEntity + + 返回Page + + + + 返回分页结果类型实体 + + + + + 总记录数 + + + + + 当前页 + + + + + 页面大小 + + + + + 回写page数据 + + + + + + + 回写page数据 + + + + + + + + 总页数 + + + + + 构造 + + + + + 创建page返回结果数据 + + 绑定的数据 + 总数据量 + 当前页 + 单页大小 + + + + 钉钉机器人发送Dto + + + + + 标题 + + + + + 发送的消息 + + + + + 标签 + + + + + 钉钉机器人Url + + + + + 站点配置 + + + + + 钉钉机器人推送地址 预警发送地址 + + + + + 重点错预警URl + + + + + 关键字 + + + + + 授权认证服务器url + + + + + 站点ID + + + + + 是否是开发环境 + + + + + 站点名称 + + + + + web站点跟目录 + + + + + 站点所在城市 省|市|区 + + + + + RedisUrl地址 + + + + + reids DB 编号 + + + + + RabbitMQ Server + + + + + RabbitMQ 用户名 + + + + + RabbitMQ 密码 + + + + + RabbitMQ 持久化数据库链接 + + + + + 默认数据库连接名称 + + + + + 数据库连接队列 + + + + + 配置数据列表 + + + + + 配置数的初始化状态 + + + + + Des加密解密密钥16位 + + + + + 最大数量 + + + + + 登录超时时间 + + + + + + + + + + jwt发行者 + + + + + jwt订阅者 + + + + + jwt过期的时间间隔分钟 + + + + + jwt私钥密钥 + + + + + 系统脏字过滤关键字列表中间用,或|间隔 + + + + + 系统脏字过滤关键字列表 + + + + + 是否开启缓存 + + + + + 统一的缓存短时间 单位秒 + + + + + 统一的缓存长时间 单位秒 + + + + + 是否启动redis缓存,否则为内存缓存 + + + + + redis URl + + + + + redis端口号 + + + + + redis密码 + + + + + 使用的redis InstanceName + + + + + 微信开发配置 + + + + + 公众号ID + + + + + 公众号密钥 + + + + + 公众号授权操作后返回微信前端的URl + + + + + 开放平台ID + + + + + 开放平台密钥 + + + + + 小程序Id + + + + + 小程序密钥 + + + + + 微信支付 商户编号 + + + + + 微信支付Key + + + + + 证书地址 + + + + + 证书密码 + + + + + 支付成功后回调跳转地址 + + + + + 微信退款的回调地址 + + + + + 常用返回请求返数据结果累实体 + + + + + 执行开始时间 + + + + + 执行结束时间 + + + + + 执行时间 + + + + + 脏字过滤 + + 过滤的脏字列表 + + + + + 状态码 + + + + + 数据状态 + + + + + 消息 + + + + + 返回时间 + + + + + 执行时间 + + + + + 数据data + + + + + 其他数据 可以看做为第二个Data读取或使用 + + + + + + + + + + 全数据创建 当Data为null时 status自动为false core为400 + + 绑定的数据 + 状态默认 true + 状态码默认200 + 消息默认OK + + + + 数据设置ok + + 消息 + data数据 + + + + 数据设置not + + 消息 + code码 + + + + + 过滤特殊字符 + + 字符串 + json字符串 + + + + 格式化字符型、日期型、布尔型 + + + + + + + + list转换为Json + + + + + + + + list转换为json + + + + + + + + + 对象转换为json + + json对象 + json字符串 + + + + 对象集合转换为json + + 对象集合 + json字符串 + + + + 普通集合转换Json + + 集合对象 + Json字符串 + + + + DataSet转换为Json + + DataSet对象 + Json字符串 + + + + Datatable转换为Json + + Datatable对象 + Json字符串 + + + + DataTable转换为Json + + + + + DataReader转换为Json + + DataReader对象 + Json字符串 + + + + datetime数据类型拓展 + + + + + 将一个时间转换为秒级时间戳 + + 时间 + + + + + 将一个时间转换为毫秒级时间戳 + + + + + + + 获取标准时间戳 秒级 + + + + + + + 将时间转换为时间字符串编码 yyyyMMddHHmmssffff + + + + + + + 判断时间是否大于1970年的有效时间 + + + + + + + 获时间一天中的开始时间 + + + + + + 获取时间一天的结束时间 + + + + + + + 获取时间周的星期一的时间 + + + + + + + 获取时间周的周日 + + + + + + + 获取时间周的指定周几时间 + + + 周几 1 2 3 4 5 6 7 + + + + + 获取时间月度开始时间 + + + + + + + 获取一个月度的结束时间 + + + + + + + 获取时间年度度开始时间 + + + + + + + 获取一个年度的结束时间 + + + + + + + 获取零时区时间 + + 返回服务器零时区时间 + + + + 获取yyyy-MM-dd HH:mm:ss 时间格式 + + + + + + + double类型拓展 + + + + + 转换为人民币大写 如: 叁亿玖仟柒佰陆拾贰万柒仟肆佰玖拾贰元叁角贰分 + + 金额 + + + + + long数据拓展 + + + + + 返回指定位数的数值 + + + + + + + + + 获取所有字段的名称 + + + + + + + 返回属性的字段及数据库类型 + + + 是否包括后字段具体长度:nvarchar(100) + + + + + + + 将数组转换成sql语句 + 指定FieldType数据库字段类型 + + + + + + 要执行的sql语句如:通过EntityToSqlTempName.Temp_Insert0.ToString()字符串占位,生成的的sql语句会把EntityToSqlTempName.Temp_Insert0.ToString()替换成生成的sql临时表数据 + string sql = " ;DELETE FROM " + typeEntity.Name + " where " + typeEntity.GetKeyName() + + " in (select * from " + EntityToSqlTempName.Temp_Insert0.ToString() + ")"; + + + + 指定生成的数组值的类型 + + + + + + 根据实体获取key的类型,用于update或del操作 + + + + + + + 此方法适用于数据量少,只有几列数据,不超过1W行,或几十列数据不超过1000行的情况下使用 + 大批量的数据考虑其他方式 + 將datatable生成sql語句,替換datatable作為參數傳入存儲過程 + + + + + + + 获取key列名 + + + true获取key对应类型,false返回对象Key的名称 + + + + + 获取主键字段 + + + + + + + + 获取PropertyInfo指定属性 + + + + + + + + 验证集合的属性 + + + + + + + + + 指定需要验证的字段 + + + + 对指定属性进行验证x=>{x.Name,x.Size} + + + + + specificProperties=null并且validateProperties=null,对所有属性验证,只验证其是否合法,不验证是否为空(除属性标识指定了不能为空外) + specificProperties!=null,对指定属性校验,并且都必须有值 + null并且validateProperties!=null,对指定属性校验,不判断是否有值 + + + + 验证指定的属性,并且非空判断 + 验证指定属性,只对字段合法性判断,不验证是否为空 + + + + + 获取数据库类型,不带长度,如varchar(100),只返回的varchar + + + + + + + + 验证数据库字段类型与值是否正确, + + 数据库字段类型(如varchar,nvarchar,decimal,不要带后面长度如:varchar(50)) + 值 + 要验证的类的属性,若不为null,则会判断字符串的长度是否正确 + (bool, string, object)bool成否校验成功,string校验失败信息,object,当前校验的值 + + + + 验证每个属性的值是否正确 + + + 属性的值 + 是否指定当前属性必须有值 + + + + + 获取属性的指定属性 + + + + + + + + 获取类的指定属性 + + + + + + + + + + 判断hash的列是否为对应的实体,并且值是否有效 + + + + 移除不存在字段 + + + + + 判断hash的列是否为对应的实体,并且值是否有效 + + + + 移除不存在字段 + 移除主键 + + + + + + 将一个实体的赋到另一个实体上,应用场景: + 两个实体,a a1= new a();b b1= new b(); a1.P=b1.P; a1.Name=b1.Name; + + + + + + 指定对需要的字段赋值,格式x=>new {x.Name,x.P},返回的结果只会对Name与P赋值 + + + + 枚举拓展 + + + + + 根据枚举Name获取枚举value + + + + + + + + 获得枚举提示文本 + + + + + + + 枚举描述 + + + + + + + + + + + + + + + + 扩展Int32功能 + + + + + 向上整除 + 1.当num能被divideBy整除时,结果即为num/divideBy; + 2.当num不能被divideBy整除时,结果为num/divideBy + 1; + + 被除数,大于或者等于0 + 除数,大于0 + 向上整除结果 + + + + 向上整除 + 1.当num能被divideBy整除时,结果即为num/divideBy; + 2.当num不能被divideBy整除时,结果为num/divideBy + 1; + + 被除数,大于或者等于0 + 除数,大于0 + 向上整除结果 + + + + 将List 转为间隔字符串 + + + + + + + + 拓展 将字符串抓换为int + + + + + + + 拓展 将字符串数组转换成int 数组 + + + + + + + 对json应用拓展 + + + + + 将json字符串序列化为提供的匿名模版类型对象 + + + + 匿名模版类 + + + + + + json字符串反序列化为数据对象 自动忽略属性大小写 + + + + + + + + 自定义拓展获取对象数据 不存在则返回空值 + + + + + + + + 将xml数据解析为Json + + + + + + 分页查询 + + + + + + + + + + 分页查询 + + + + + + + + + + + 创建lambda表达式:p=>true + + + + + + + 创建lambda表达式:p=>false + + + + + + + 创建lambda表达式:p=>p.propertyName + + + + + + + + + 创建委托有返回值的表达式:p=>p.propertyName + + + + + + + + + + + + + + 字段名 + 表达式的值 + 创建表达式的类型,如:p=>p.propertyName != propertyValue + p=>p.propertyName.Contains(propertyValue) + + + + + + + + 字段名 + 表达式的值 + 创建表达式的类型,如:p=>p.propertyName != propertyValue + p=>p.propertyName.Contains(propertyValue) + + + + + + + 解析多字段排序 + + + + string=排序的字段,bool=true降序/false升序 + + + + + + + 同上面and用法相同 + + + + + + + + https://blogs.msdn.microsoft.com/meek/2008/05/02/linq-to-entities-combining-predicates/ + 表达式合并(合并生产的sql语句有性能问题) + 合并两个where条件,如:多个查询条件时,判断条件成立才where + + + + + + + + + + 属性判断待完 + + + + + + + 属性判断待完 + + + + + + + + 脏字过滤拓展 + + + + 过滤的脏字列表 + + + + + 脏字过滤拓展 ys自定义 脏字字典默认读取配置 sysoptionconfig.yswebconfig.filtearray + + + + 过滤的脏字列表 + + + + + 只塑性对象中的list数据 非 list不塑性处理 + + + + 指定的字段名称 ,间隔 + + + + + 数据塑性List返回指定的数据字段 + + + + 指定的字段名称 ,间隔 + + + + + long数据拓展 + + + + + 将毫秒时间戳转换为普通时间 + + 毫秒级别的时间戳 + + + + + 将秒级别时间戳转换为普通时间 + + 秒级别的时间戳 + + + + + 讲标准时间戳(秒级)转换为时间格式 + + + + + + + 将标准时间戳(秒级)转换为时间格式 + + + + + + + IDataReader转换成DictionaryList + + + + + + + IDataReader转换成List + + + + + + + + 将集合转换为数据集。 + + 转换的元素类型。 + 集合。 + 是否生成泛型数据集。 + 数据集。 + + + + 将集合转换为数据集。 + + 集合。 + 是否生成泛型数据集。 + 数据集。 + + + + 将集合转换为数据集。 + + 转换的元素类型。 + 集合。 + 是否生成泛型数据集。 + 数据集。 + + + + 将实例转换为集合数据集。 + + 实例类型。 + 实例。 + 是否生成泛型数据集。 + 数据集。 + + + + 将可序列化实例转换为XmlDocument。 + + 实例类型。 + 实例。 + XmlDocument。 + + + + 将集合转换为数据集。 + + 集合。 + 转换的元素类型。 + 是否生成泛型数据集。 + 转换后的数据集。 + + + + 将集合转换为数据集。 + + 转换的元素类型。 + 集合。 + 是否生成泛型数据集。 + 数据集。 + + + + 将集合转换为数据集。 + + 集合。 + 是否转换为字符串形式。 + 转换后的数据集。 + + + + 获取DataSet第一表,第一行,第一列的值。 + + DataSet数据集。 + 值。 + + + + 获取DataTable第一行,第一列的值。 + + DataTable数据集表。 + 值。 + + + + 获取DataSet第一个匹配columnName的值。 + + 数据集。 + 列名。 + 值。 + + + + 获取DataTable第一个匹配columnName的值。 + + 数据表。 + 列名。 + 值。 + + + + 将object转换为string类型信息。 + + object。 + 默认值。 + string。 + + + + 将DateTime?转换为string类型信息。 + + DateTime?。 + 标准或自定义日期和时间格式的字符串。 + 默认值。 + string。 + + + + 将TimeSpan?转换为string类型信息。 + + TimeSpan?。 + 标准或自定义时间格式的字符串。 + 默认值。 + string。 + + + + 将object转换为byte类型信息。 + + object。 + 默认值。 + byte。 + + + + 将object转换为char类型信息。 + + object。 + 默认值。 + char。 + + + + 将object转换为int类型信息。 + + object。 + 默认值。 + int。 + + + + 将object转换为double类型信息。 + + object。 + 默认值。 + double。 + + + + 将object转换为decimal类型信息。 + + object。 + 默认值。 + decimal。 + + + + 将object转换为float类型信息。 + + object。 + 默认值。 + float。 + + + + 将object转换为long类型信息。 + + object。 + 默认值。 + long。 + + + + 将object转换为bool类型信息。 + + object。 + 默认值。 + bool。 + + + + 将object转换为sbyte类型信息。 + + object。 + 默认值。 + sbyte。 + + + + 将object转换为short类型信息。 + + object。 + 默认值。 + short。 + + + + 将object转换为ushort类型信息。 + + object。 + 默认值。 + ushort。 + + + + 将object转换为ulong类型信息。 + + object。 + 默认值。 + ulong。 + + + + 将object转换为Enum[T]类型信息。 + + object。 + 默认值。 + Enum[T]。 + + + + 将object转换为DateTime类型信息。 + + object。 + 默认值。 + DateTime。 + + + + 将object转换为TimeSpan类型信息。 + + object。 + 默认值。 + TimeSpan。 + + + + 将object转换为Guid类型信息。 + + object。 + 默认值。 + Guid。 + + + + 从object中获取bool类型信息。 + + object。 + bool。 + + + + 从object中获取decimal类型信息。 + + object。 + decimal。 + + + + 从object中获取正数信息。 + + object。 + decimal。 + + + + 从object中获取DateTime?类型信息。 + + object。 + DateTime?。 + + + + 从object中获取TimeSpan?类型信息。 + + object。 + TimeSpan?。 + + + + 从object中获取Guid?类型信息。 + + object。 + Guid?。 + + + + 将object转换为SqlServer中的DateTime?类型信息。 + + object。 + 默认值。 + DateTime?。 + + + + 读取XElement节点的文本内容。 + + XElement节点。 + 默认值。 + 文本内容。 + + + + 获取与指定键相关的值。 + + 键类型。 + 值类型。 + 表示键/值对象的泛型集合。 + 键。 + 默认值。 + 值。 + + + + 获取与指定键相关或者第一个的值。 + + 键类型。 + 值类型。 + 表示键/值对象的泛型集合。 + 键。 + 默认值。 + 值。 + + + + 获取具有指定 System.Xml.Linq.XName 的第一个(按文档顺序)子元素。 + + XContainer。 + 要匹配的 System.Xml.Linq.XName。 + 是否返回同名默认值。 + 与指定 System.Xml.Linq.XName 匹配的 System.Xml.Linq.XElement,或者为 null。 + + + + 按文档顺序返回此元素或文档的子元素集合。 + + XContainer。 + 是否返回非空默认值。 + System.Xml.Linq.XElement 的按文档顺序包含此System.Xml.Linq.XContainer 的子元素,或者非空默认值。 + + + + 按文档顺序返回此元素或文档的经过筛选的子元素集合。集合中只包括具有匹配 System.Xml.Linq.XName 的元素。 + + XContainer。 + 要匹配的 System.Xml.Linq.XName。 + 是否返回非空默认值。 + System.Xml.Linq.XElement 的按文档顺序包含具有匹配System.Xml.Linq.XName 的 System.Xml.Linq.XContainer 的子级,或者非空默认值。 + + + + 删除html标签。 + + 输入的字符串。 + 没有html标签的字符串。 + + + + 字符串转换为文件名。 + + 字符串。 + 文件名。 + + + + 获取默认非空字符串。 + + 首选默认非空字符串。 + 依次非空字符串可选项。 + 默认非空字符串。若无可选项则返回string.Empty。 + + + + 对 URL 字符串进行编码。 + + 要编码的文本。 + 匹配要编码的文本。 + 指定编码方案的 System.Text.Encoding 对象。 + 一个已编码的字符串。 + + + + 对 URL 字符串进行编码。 + + 要编码的文本。 + 匹配要编码的文本。 + 指定编码方案的 System.Text.Encoding 对象。 + 一个已编码的字符串。 + + + + 将日期转换为UNIX时间戳字符串 + + + + + + + 判断当前字符串是否是移动电话号码 + + + + + + + 将 DateTimeOffset 转换成 DateTime + + + + + + + 将 DateTime 转换成 DateTimeOffset + + + + + 判断是否是富基元类型 + + 类型 + + + + + 合并两个字典 + + + 字典 + 新字典 + + + + + 判断是否是元组类型 + + 类型 + + + + + 判断方法是否是异步 + + 方法 + + + + + 判断类型是否是异步类型 + + + + + + + 判断类型是否实现某个泛型 + + 类型 + 泛型类型 + bool + + + + 判断是否是匿名类型 + + 对象 + + + + + 获取所有祖先类型 + + + + + + + 获取方法真实返回类型 + + + + + + + 首字母大写 + + + + + + + 将一个对象转换为指定类型 + + + + + + + + 将一个对象转换为指定类型 + + 待转换的对象 + 目标类型 + 转换后的对象 + + + + 标记。 + + + + + 默认。 + + + + + 真。 + + + + + 假。 + + + + + 返回的路径后面不带/,拼接时需要自己加上/ + + + + + + + + + + 获取wwwroot路径 + + + + + 字符串拓展 + + + + + 隐藏中间字符串 + + + + + + + 隐藏头部 + + + + + + + 根据正则表达式返回符合条件的字符串 + + + + + + + 根据正则表达式返回符合条件的字符串list + + + 正则表达式 + 字符串分隔符队列默认 , 回车 + + + + + 移除所有空格包含中间的。 + + + + + + + 用于判断是否为空字符 + + + + + + + 判断是否是guid + + + + + + + 用于判断是否为非空字符 + + + + + + + 将字符串SHA1 + + + + + + + 将字符串转换成MD5加密字符串 + + + + + + + 获取扩展名 + + + + + + + 验证QQ格式 + + + + + + + + 判断是否为有效的Email地址 + + + + + + + 判断是否是url + + + + + + + 验证是否是合法的电话号码 + + + + + + + 验证是否是合法的手机号码 + + + + + + + 验证是否是合法的邮编 + + + + + + + 验证是否是合法的传真 + + + + + + + 检查字符串是否为有效的int数字 + + + + + + + 检查字符串是否为有效的long数字 + + + + + + + 字符串转数字,未转换成功返回0 + + + + + + + 字符串转 浮点Double + + + + + + + + 判断是否是json字符串 + + + + + + + 检查字符串是否为有效的INT64数字 + + + + + + + 验证是否是身份证 + + + + + + + 检查字符串是否为有效的double + + + + + + + 检测字符串是否是时间类型 + + + + + + + 将时间字符串转为指定格式的字符串 自动判断是否是时间格式,如果不是时间格式则返回原有字符串 + + + + + + + + 获取字符串内包换的数字行字符串 + + + 为空的时候返回的默认字符串 + + + + + 字符串转时间 非时间返回空 + + + + + + + 将时间类型字符转时间戳 入股不是时间类型则返回0 + + + + + + + 从左边截取N个字符 + + + + + + + 获取一个字符串在另外一个字符串出现的次数 + + + + + + 从右边截取N个字符 + + + + + + + + 索引字符串是否以指定列表中的字符串开头 + + + + + + + + 将Base64 解析解出 如果失败则返回null + + + + + + + 判断是否是Base64 + + + + + + + 字符转换为base64 错误或空字符串返回 null + + + + + + + 获取字符串中的数字字符串 + + + + + + 自动调整windows/linux下面文件目录斜杠的处理 + + + + + + + 判断一个字符串是否为合法数字(指定整数位数和小数位数) + + 字符串 + 整数位数 + 小数位数 + + + + + 根据传入格式判断是否为小数 + + + 18,5 + + + + + 获取 object 中的枚举值 + + + + + + + + 获取 object 中的 float + + + + + + + 获取 object 中的 decimal + + + + - + - 获取时间一天的结束时间 + 获取 object 中的 decimal - + + - + - 获取时间周的星期一的时间 + 将字符串分隔成list - + + - + - 获取时间周的周日 + 替换空格字符 - + + 替换为该字符 + 替换后的字符串 + + + + 生成指定长度的随机数 + + - + - 获取时间周的指定周几时间 + 超过长度自动加省略号 + + + 字节数 + 是否双字节 + + + + + 去除SQL特殊字符 + + + + + + + AES加解密工具类 + + + + + AES加密 + + 要加密的内容 + 密钥 + 16个字节长(128位) + 32个字节长(256位) + 注:一个汉字,2个字节 + 为空时,系统默认256位进行加/解密 + + Base64转码后的密文 + + + + AES解密 + + 要解密的内容 + 密钥 + 16个字节长(128位) + 32个字节长(256位) + 注:一个汉字,2个字节 + 为空时,系统默认256位进行加/解密 + + 解密后的明文 + + + + 常用公共类 + + + + + 计时器开始 + + + + + + 计时器结束 + + + + + + + 删除数组中的重复项 + + + + + + + 自动生成编号 201008251145409865 + + + + + + 生成0-9随机数 + + 生成长度 + + + + + 删除最后结尾的一个逗号 + + + + + 删除最后结尾的指定字符后的字符 + + + + + 删除最后结尾的长度 + + + + + + + + 格式化日期 - 周几 1 2 3 4 5 6 7 + 日期格式 + + + + + 文件操作帮助类 + + + + + 通过迭代器读取平面文件行内容(必须是带有\r\n换行的文件,百万行以上的内容读取效率存在问题,适用于100M左右文件,行100W内,超出的会有卡顿) + + 文件全路径 + 分页页数 + 分页大小 + 是否最后一行向前读取,默认从前向后读取 + + + + + 取后缀名 + + 文件名 + .gif|.html格式 + + + + + + 路径 + 文件名 + 写入的内容 + 是否将内容添加到未尾,默认不添加 + + + + 追加文件 + + 文件路径 + 内容 + + + + 拷贝文件 + + 原始文件 + 新文件路径 + + + + 删除文件 + + 路径 + + + + 移动文件 + + 原始路径 + 新路径 + + + + 在当前目录下创建目录 + + 当前目录 + 新目录 + + + + 创建文件夹 + + + + + + 递归删除文件夹目录及文件 + + + + + + + 指定文件夹下面的所有内容copy到目标文件夹下面 + + 原始路径 + 目标文件夹 + + + + 获取文件夹大小 + + 文件夹路径 + + + + + 获取指定文件详细属性 + + 文件详细路径 + + + + + 括号匹配算法 + + 原始字符串 + 左匹配符号 + 右匹配符号 + + + + + 替换内容(正则 + 括号匹配算法) + + 文件路径 + 追加内容 + + + + List转成Tree + 李玉宝新增于2016-10-09 19:54:07 + + + + + 将实体指定的字段写入字典 + + + + + + + + + http请求类 + + + + 请求的基础IP,例如:http://192.168.0.33:8080/ + + + + 创建带用户信息的请求客户端 + + 用户账号 + 用户密码,当WebApi端不要求密码验证时,可传空串 + The URI string. + + + + Get请求数据 + /// 最终以url参数的方式提交 + yubaolee 2016-3-3 重构与post同样异步调用 + + 参数字典,可为空 + 例如/api/Files/UploadFile + + + + + Get请求数据 + 最终以url参数的方式提交 + + 参数字典 + 例如/api/Files/UploadFile + 实体对象 + + + + 以json的方式Post数据 返回string类型 + 最终以json的方式放置在http体中 + + 实体 + 例如/api/Files/UploadFile + + + + + 提交字典类型的数据 + 最终以formurlencode的方式放置在http体中 + 李玉宝于2016-07-20 19:01:59 + + System.string. + + + + Post Dic数据 + 最终以formurlencode的方式放置在http体中 + 李玉宝于2016-07-15 15:28:41 + + System.string. + + + + 把请求的URL相对路径组合成绝对路径 + 李玉宝于2016-07-21 9:54:07 + + + + + 根据已有图片生成缩略图 + 用法:MakeThumbnail(path, tpath, 120, 90, "H"); + + 源图片路径 + 缩略图保存路径 + 缩略图的宽度 + 缩略图高度 + 缩略模式:H:指定高度,宽度按比例处理;W:指定宽度,高度按比例处理;HW按参数指定的高度和宽度 + + + + XMLHelper参数 + + + + + 节点名称 + + + + + 节点文本 + + + + + 节点前缀xmlns声明(命名空间URI) + + + + + 节点属性集 + + + + + 节点属性参数 + + + + + 属性名称 + + + + + 属性值 + + + + + xml文件路径 + + + + + 配置文件节点名称,请设置在AppSettings节点下 + + + + + 从配置文件读取xml路径 + + + + + 添加一个子节点 + + XmlDocument对象 + 父节点 + Xml参数 + + + + 获得一个XmlDocument对象 + + + + + + 创建一个XML文档,成功创建后操作路径将直接指向该文件 + + 文件物理路径名 + 根结点名称 + 元素节点名称 + XML参数 + + + + 创建一个XML文档,成功创建后操作路径将直接指向该文件 + + 文件物理路径名 + xml字符串 + + + + 添加新节点 + + 新节点的父节点对象 + Xml参数对象 + + + + 添加新节点 + + XmlDocument对象 + 新节点的父节点名称 + XML参数对象 + + + + 添加节点属性 + + 节点对象 + 该节点的命名空间URI + 新属性名称 + 属性值 + + + + 添加节点属性 + + 节点对象 + 该节点的命名空间URI + 节点属性参数 + + + + 添加节点属性 + + 节点名称 + 该节点的命名空间URI + 新属性名称 + 属性值 + + + + 添加节点属性 + + 节点名称 + 该节点的命名空间URI + 节点属性参数 + + + + 获取指定节点名称的节点对象 + + 节点名称 + + + + + 获取指定节点名称的节点对象 + + 节点对象 + 节点名称 - + + + 获取指定节点名称的节点对象 + + 节点索引 + 节点名称 + + + + 获取指定节点名称的节点对象 + + 节点对象 + 节点名称 + 节点内容 + + + + 获取指定节点名称的节点对象 + + 节点名称 + 节点内容 + + + + 获取指定节点名称的节点对象 + + XML参数 + + + + 获取指定节点名称的节点对象 + + 节点对象 + XML参数 + + + + 修改节点的内容 + + 节点索引 + XML参数对象 + + - 获取时间月度开始时间 + 修改节点的内容 - - + 节点索引 + 节点名称 + 修改后的内容 - + - 获取一个月度的结束时间 + 修改节点的内容 - - + XmlParameter对象 + 修改后的内容 + 需要修改的属性 - + - 获取时间年度度开始时间 + 删除节点 - - + 节点索引 - + - 获取一个年度的结束时间 + 删除节点 - - + 需要删除的节点对象 - + - double类型拓展 + 删除节点 + XmlDocument对象 + 节点名称 + 节点内容 - + - 转换为人民币大写 如: 叁亿玖仟柒佰陆拾贰万柒仟肆佰玖拾贰元叁角贰分 + 修改属性值 - 金额 - + 元素对象 + 属性参数 - + - long数据拓展 + 修改属性值 + XML参数 + 属性参数 - + - 返回指定位数的数值 + 修改属性值 - - - + XML参数 + 新属性值 - + - 枚举拓展 + - - - 根据枚举Name获取枚举value - - - - - - + - 获得枚举提示文本 + - - + + + + + - 枚举描述 + + + + - + - + + + + + - + + + + - + - 扩展Int32功能 + + + + + - + - 向上整除 - 1.当num能被divideBy整除时,结果即为num/divideBy; - 2.当num不能被divideBy整除时,结果为num/divideBy + 1; + - 被除数,大于或者等于0 - 除数,大于0 - 向上整除结果 + + + - + - 向上整除 - 1.当num能被divideBy整除时,结果即为num/divideBy; - 2.当num不能被divideBy整除时,结果为num/divideBy + 1; + - 被除数,大于或者等于0 - 除数,大于0 - 向上整除结果 + + + - + - 将List 转为间隔字符串 + - - + + - + - 拓展 将字符串抓换为int + - + + - + - 拓展 将字符串数组转换成int 数组 + - + + + - + - 对json应用拓展 + + + + - + - 将json字符串序列化为提供的匿名模版类型对象 + - - 匿名模版类 - - + - json字符串反序列化为数据对象 自动忽略属性大小写 + - + - - - 自定义拓展获取对象数据 不存在则返回空值 - - - - - - + - 对象数据转json + - + + - + - 将xml数据解析为Json + + + - - + - 脏字过滤拓展 + - - 过滤的脏字列表 + - + - 脏字过滤拓展 ys自定义 脏字字典默认读取配置 sysoptionconfig.yswebconfig.filtearray + - - 过滤的脏字列表 + - + - 只塑性对象中的list数据 非 list不塑性处理 + - - 指定的字段名称 ,间隔 + - + - 数据塑性List返回指定的数据字段 + - - 指定的字段名称 ,间隔 + + - + - long数据拓展 + 默认返回第一条数据 + 返回类型 + 查询语句 + - + - 将毫秒时间戳转换为普通时间 + - 毫秒级别的时间戳 + - + - 将秒级别时间戳转换为普通时间 + - 秒级别的时间戳 + - + - 讲标准时间戳(秒级)转换为时间格式 + 执行SQL语句返回结果 - + + - + - 将标准时间戳(秒级)转换为时间格式 + 执行中包含事务sql - + - - - 字符串拓展 - + + + 返回一个单独的实体,如果记录多于1个则取第一个 + - + - 隐藏中间字符串 + 判断指定条件的记录是否存在 - - - + - 隐藏头部 + 更新一个实体的所有属性 - - - + - 根据正则表达式返回符合条件的字符串 + 实现按需要只更新部分更新 + 如:Update(u =>u.Id==1,u =>new User{Name="ok"}); - - + 更新条件 + 更新后的实体 - + - 根据正则表达式返回符合条件的字符串list + 批量删除 - - 正则表达式 - 字符串分隔符队列默认 , 回车 - - + - 移除所有空格包含中间的。 + 使用SQL脚本查询 - + T为数据库实体 - + - 用于判断是否为空字符 + 使用SQL脚本查询 - + T为非数据库实体,需要在DbContext中增加对应的DbQuery - + - 判断是否是guid + IOC - - - + - 用于判断是否为非空字符 + IServiceCollection 对象 - - - + - 将字符串SHA1 + ICo模式实例化 - + - + - 将字符串转换成MD5加密字符串 + - - - + - 获取扩展名 + 一个强类型的资源类,用于查找本地化的字符串等。 - - - + - 验证QQ格式 + 返回此类使用的缓存的 ResourceManager 实例。 - - - - + - 判断是否为有效的Email地址 + 重写当前线程的 CurrentUICulture 属性,对 + 使用此强类型资源类的所有资源查找执行重写。 - - - + - 判断是否是url + 获取服务器文件路径 - + - + - 验证是否是合法的电话号码 + 获取wwwroot路径 - + + 是否获取wwwroot路径 - + - 验证是否是合法的手机号码 + 默认实现 - - - + - 验证是否是合法的邮编 + 雪花计算方法 + (1-漂移算法|2-传统算法),默认1 - - - + - 验证是否是合法的传真 + 基础时间(UTC格式) + 不能超过当前系统时间 - - - + - 检查字符串是否为有效的int数字 + 机器码 + 与 WorkerIdBitLength 有关系 + (ushort类型,最大值65535,如果有更高要求,请修改数据类型,或联系作者) - - - + - 检查字符串是否为有效的long数字 + 机器码位长 + 范围:1-21(要求:序列数位长+机器码位长不超过22)。 + 建议范围:6-12。 - - - + - 字符串转数字,未转换成功返回0 + 序列数位长 + 范围:2-21(要求:序列数位长+机器码位长不超过22)。 + 建议范围:6-14。 - - - + - 字符串转 浮点Double + 最大序列数(含) + (由SeqBitLength计算的最大值) - - - - + - 判断是否是json字符串 + 最小序列数(含) + 默认5,不小于1,不大于MaxSeqNumber - - - + - 检查字符串是否为有效的INT64数字 + 最大漂移次数(含), + 默认2000,推荐范围500-10000(与计算能力有关) - - - + - 验证是否是身份证 + 生成过程中产生的事件 - - - + - 检查字符串是否为有效的double + 生成新的long型Id - - - - 检测字符串是否是时间类型 - - - + + + Id生成时回调参数 + - + - 将时间字符串转为指定格式的字符串 自动判断是否是时间格式,如果不是时间格式则返回原有字符串 + 事件类型 + 1-开始,2-结束,8-漂移 - - - - + - 获取字符串内包换的数字行字符串 + 时间戳 - - 为空的时候返回的默认字符串 - - + - 字符串转时间 非时间返回空 + 机器码 - - - + - 将时间类型字符转时间戳 入股不是时间类型则返回0 + 漂移计算次数 - - - + - 从左边截取N个字符 + 漂移期间生产ID个数 - - - + - 获取一个字符串在另外一个字符串出现的次数 + 漂移周期 - - - - 从右边截取N个字符 - - - - + + + 雪花漂移算法 + - + - 索引字符串是否以指定列表中的字符串开头 + 基础时间 + + + + + 机器码 + + + + + 机器码位长 + + + + + 自增序列数位长 - - - - + - 将Base64 解析解出 如果失败则返回null + 最大序列数(含) - - - + - 判断是否是Base64 + 最小序列数(含) - - - + - 字符转换为base64 错误或空字符串返回 null + 最大漂移次数 - - - + - 获取字符串中的数字字符串 + 常规雪花算法 - - + - 一个强类型的资源类,用于查找本地化的字符串等。 + 这是一个调用的例子,默认情况下,单机集成者可以直接使用 NextId()。 - + - 返回此类使用的缓存的 ResourceManager 实例。 + 设置参数,建议程序初始化时执行一次 + - + - 重写当前线程的 CurrentUICulture 属性 - 重写当前线程的 CurrentUICulture 属性。 + 生成新的Id + 调用本方法前,请确保调用了 SetIdGenerator 方法做初始化。 + 否则将会初始化一个WorkerId为1的对象。 + @@ -1289,12 +5184,12 @@ jwt身份认证发行者实体属性 - + 邮件内容实体 - + @@ -1302,194 +5197,194 @@ Email主题 邮件内容 默认html格式 - + Email UniqueId - + Email MessageId - + 邮件文本内容 - + 邮件内容类型 - + 邮件附件集合 - + 收件人 - + 抄送 - + 密送 - + 发件人 如果多个,间隔 - + 发送时间 Email的时间一般是世界UTC时间 - + 发件人地址 - + 邮件主题 - + 邮件内容 - + 邮件附件 - + 邮件附件文件类型 例如:图片 MailFileType="image" - + 邮件附件文件子类型 例如:图片 MailFileSubType="png" - + 邮件附件文件路径 例如:图片 MailFilePath=@"C:\Files\123.png" - + 文件名称包含后缀名 - + 邮件服务器基础信息 - + SMTP服务器支持SASL机制类型 - + SMTP服务器对消息的大小 - + SMTP服务器支持传递状态通知 - + SMTP服务器支持Content-Transfer-Encoding - + SMTP服务器支持Content-Transfer-Encoding - + SMTP服务器在消息头中支持UTF-8 - + 邮件发送结果 - + 结果信息 - + 结果状态 - + 邮件收发送服务器配置 - + 邮箱SMTP服务器地址 - + 邮箱SMTP服务器端口 - + 是否启用IsSsl - + 邮件编码 - + 邮箱账号 - + 邮箱密码 - + 邮件信息 - + 组装邮件文本/附件邮件信息 邮件消息实体 - + 设置邮件基础信息 @@ -1497,7 +5392,7 @@ - + 组装邮件文本信息 @@ -1505,7 +5400,7 @@ 邮件类型(plain,html,rtf,xml) - + 组装邮件附件信息 @@ -1514,18 +5409,18 @@ 附件路径 - + 创建邮件日志文件 - + 邮件接收Help - + 接收符号条件的Email 队列 @@ -1535,26 +5430,26 @@ 附件的保存地址 有指定则保存附件 MailIdList不为空的清空下 - + 接收下载邮件 收件人Email配置信息 示例 SearchQuery.SubjectContains("MimeKit").Or(SearchQuery.SubjectContains("MailKit")).Or(SearchQuery.DeliveredAfter(DateTime.Parse("2016-9-1"))) - + Email发送帮助类 来源https://www.cnblogs.com/pengze0902/p/8519715.html - + 发送邮件 邮件基础信息 发件人基础信息 - + 连接服务器 @@ -1563,7 +5458,7 @@ 客户端对象 发送结果 - + 账户认证 @@ -1572,7 +5467,7 @@ 客户端对象 发送结果 - + 发送邮件 @@ -1581,167 +5476,167 @@ 客户端对象 发送结果 - + 获取SMTP基础信息 客户端对象 - + 数据库类型 - + - + - + - + - + - + - + - + - + - + 排序枚举 - + 正序排序 - + 倒序排序 - + 请求(或处理)成功 - + 内部请求出错 - + 未授权标识 - + 请求参数不完整或不正确 - + 请求TOKEN失效 - + HTTP请求类型不合法 - + HTTP请求不合法,请求参数可能被篡改 - + 该URL已经失效 - + 上传文件实体 - + 文件数据流 - + 文件名称 包含拓展名 - + 拓展名 - + 提交Json数据模式 application/json - + 提交FormData multipart/form-data表单数据模式 - + 提交application/x-www-form-urlencoded模式提交 - + Http操作类型 post get - - + + 格式化formdata数据字典 - + Post 表单方式请求数据 @@ -1751,7 +5646,7 @@ 超时时间 秒 - + Post 表单方式请求数据 @@ -1762,7 +5657,7 @@ 超时时间 秒 - + Post请求提交Json格式数据 @@ -1774,7 +5669,7 @@ True 时候会采用小驼峰格式方式提交 False 对象原始大小写格式 options - + 发送Get请求 @@ -1785,7 +5680,7 @@ 请求超时时间 秒 默认1200秒 - + 公共方法—— 发送http get 请求 2020年6月2日11:22:11 Dennyhui 最终以url参数的方式提交 @@ -1795,14 +5690,14 @@ 请求超时时间 秒 - + 获取下载http远程文件流 - + 下载远程文件到本地 @@ -1811,12 +5706,12 @@ 保存的文件名称 - + 阿里云短信发送 - + 短信发送 阿里云 @@ -1826,17 +5721,17 @@ 短信签名 - + 签名 - + 短信信息发送相关接口 - + 短信发送 @@ -1847,48 +5742,48 @@ 短信签名 - + 手机号 - + 签名 - + 模板Key - + 短信数据 - + 业务ID - + 自定义httpContext - + 获取客户端请求Id - + Description:Npoi之Excel数据导出帮助类(创建Excel表格行列,设置行高,设置字体样式,单元格边框样式,单元格背景颜色和样式,单元格内容对齐方式等常用属性和样式封装) - + TODO:先创建行,然后在创建对应的列 创建Excel中指定的行 @@ -1897,7 +5792,7 @@ 创建第几行(从0开始) 行高 - + 创建行内指定的单元格 @@ -1907,7 +5802,7 @@ 给单元格赋值 - + 行内单元格常用样式设置 @@ -1930,12 +5825,86 @@ 是否显示删除线 - + + + Ysredis工具 必须要配置在配置文件中配置redis链接 或指定 + + + + + Redis 地址 默认使用 sysOptionConfig.YsWebconfig.Redis 配置信息的 + + + + + rendisDB + + + + + 删除单个键值对 + + + + + + + 清理redis键值对 + + key样式 xxx* *匹配符 + + + + 清理统计redis键值 谨慎清理建议指定特定时间执行一次 + + + + + + 增加 通过redis统计计数 + + + + + + 获取过去分钟内的统计量 + + + 分钟数 + + + + + 获取指定时间内的数量 + + + + + + + + redis 缓存写入 + + + + + 过期秒数 + + + + + 读取redis中的对象数据 不存在返回null + + + + + + 安全加密解密类 - + HmacSHA256加密 @@ -1943,28 +5912,28 @@ - + 将字符串转换成base64格式,使用UTF8字符集 加密内容 - + 将base64格式,转换utf8 解密内容 - + SHA-1加密 - + DES对称加密字符串 @@ -1972,7 +5941,7 @@ 加密密钥,要求为16位 加密成功返回加密后的字符串,失败返回源串 - + DES对称解密字符串 @@ -1980,18 +5949,18 @@ 解密密钥,要求16位 - + 脏字过滤委托实现 - + 脏字过滤委托 - + 循环处理 @@ -2000,23 +5969,23 @@ - + 委托过滤实现 - + 脏字过滤 - + 脏字数据List - + 批量数据过滤 @@ -2024,12 +5993,104 @@ 过滤脏字列表 - + + + 常用的应用功能 + + + + + server 预警消息 集成钉钉机器人 + + + + + server 预警消息 集成钉钉机器人 + + + + + server 预警消息 集成钉钉机器人 + + + + + server 预警消息 集成钉钉机器人 + + + + + + + 创建一个编号 如订单编号 + + 开头 + 0长编号 1短编号 + + + + + 获取一个随机数 + + 随机数的位数 + 随机数组 + + + + + 将对象转换json + + 要转的对象 + + + + + 将Jason反序列化未数据对象 + + + + + + + + 对Model快速更新到目标对象 只更新非初始化值对象 自动跳过Model基础数值 "Id", "Guid", "Status", "CreateTimeStamp", "UpTimeStamp", "CreateTime" + + + 更新来源对象 + 要更新的目标对象 + 要跳过更新属性字段默认跳过"Id", "Guid", "Status", "CreateTimeStamp", "UpTimeStamp", "CreateTime" + + + + + 将来源数据快速更新到目标对象 只更新非Null对象 + + + 更新来源对象 + 要更新的目标对象 + 要跳过更新属性 + + + + + 测试服务器计算性能 + + 斐波那契数计算次数默认40 + + + + + 斐波那契数列和 + + 次数 + + + 数据上传接口 - + 上传数据流 @@ -2037,7 +6098,7 @@ 存储的数据Keyid - + 异步 上传数据流 @@ -2045,7 +6106,7 @@ 存储的数据Keyid - + 上传数据字节 @@ -2053,7 +6114,7 @@ - + 上传文件 @@ -2061,37 +6122,37 @@ 文件keyid - + 七牛云存储配置 - + 七牛AccessKey - + 七牛 SecretKey - + 七牛上传的空间 - + 七牛的访问地址域名 - + 七牛云存储上传实现类 - + 异步 上传数据流 @@ -2099,243 +6160,180 @@ - + 上传数据流到 - + 异步上传字节 - + 上传字节 - + 上传文件到七牛云 要上传的文件路径 生成的文件名称 - + xmldata 实体 - + Xml工具类 - + 构造函数 - + 解析 LastUpdateDate:2021-07-07 16:28:47.694 Author:Lingbug - + - Ysredis工具 必须要配置在配置文件中配置redis链接 或指定 + 动态属性Bag - + - Redis 地址 默认使用 sysOptionConfig.YsWebconfig.Redis 配置信息的 + 键值 - + - rendisDB + 键的描述 - + - 删除单个键值对 + 前端是否显示 - - - + - 清理redis键值对 + 字段类型 - key样式 xxx* *匹配符 - + - 清理统计redis键值 谨慎清理建议指定特定时间执行一次 + 获取web父目录所在位置 - - - 增加 通过redis统计计数 - - - - + - 获取过去分钟内的统计量 + 获取指定结尾的项目名称 - - 分钟数 + - + - 获取指定时间内的数量 + 获取项目所在路径 - - + - + - redis 缓存写入 + - - - - 过期秒数 - - + - 读取redis中的对象数据 不存在返回null + 操作消息【当Status不为 200时,显示详细的错误信息】 - - - - + - 常用的应用功能 + 操作状态码,200为正常 - - - server 预警消息 集成钉钉机器人 - - - - - server 预警消息 集成钉钉机器人 - - - - - server 预警消息 集成钉钉机器人 - - - + - server 预警消息 集成钉钉机器人 + - - - + - 创建一个编号 如订单编号 + - 开头 - 0长编号 1短编号 - - + - 获取一个随机数 + WEBAPI通用返回泛型基类 - 随机数的位数 - 随机数组 - + - + - 将对象转换json + 回传的结果 - 要转的对象 - - + - 将Jason反序列化未数据对象 + table的返回数据 - - - - + - 对Model快速更新到目标对象 只更新非初始化值对象 自动跳过Model基础数值 "Id", "Guid", "Status", "CreateTimeStamp", "UpTimeStamp", "CreateTime" + 状态码 - - 更新来源对象 - 要更新的目标对象 - 要跳过更新属性字段默认跳过"Id", "Guid", "Status", "CreateTimeStamp", "UpTimeStamp", "CreateTime" - - + - 将来源数据快速更新到目标对象 只更新非Null对象 + 操作消息 - - 更新来源对象 - 要更新的目标对象 - 要跳过更新属性 - - + - 测试服务器计算性能 + 总记录条数 - 斐波那契数计算次数默认40 - - + - 斐波那契数列和 + 数据内容 - 次数 - - + - IOC + - + - IServiceCollection 对象 + URl帮助类 - + - ICo模式实例化 + 在URL后面追加参数 - + + + - - - - - diff --git a/ams/Djy.Common/DapperDBBase.cs b/ams/Djy.Common/DapperDBBase.cs index 5a27d27..066db4d 100644 --- a/ams/Djy.Common/DapperDBBase.cs +++ b/ams/Djy.Common/DapperDBBase.cs @@ -529,6 +529,7 @@ namespace Common using (IDbConnection Conn = GetConn()) { return Query(sql, param); + } } } diff --git a/ams/djy.IService/Ams/IAmsService.cs b/ams/djy.IService/Ams/IAmsService.cs index 5c98fce..72a7eba 100644 --- a/ams/djy.IService/Ams/IAmsService.cs +++ b/ams/djy.IService/Ams/IAmsService.cs @@ -8,6 +8,7 @@ using Common; using Common.Djy; using djy.Model.AmsDto; using Common.Utilities; +using djy.Model.Ams; namespace djy.Paas.IService { @@ -36,5 +37,13 @@ namespace djy.Paas.IService List GetCountry(); - } + + List GetCARRIER(); + + + List GetCTNALL(); + List GetKINDPKGS(); + + List GetDangerousGoods(); + } } diff --git a/ams/djy.Model/Ams/AMS_Cntrno.cs b/ams/djy.Model/Ams/AMS_Cntrno.cs index 4c78b9f..1ab678a 100644 --- a/ams/djy.Model/Ams/AMS_Cntrno.cs +++ b/ams/djy.Model/Ams/AMS_Cntrno.cs @@ -1,8 +1,11 @@ -using Dapper.Contrib.Extensions; +using FreeSql.DataAnnotations; +using Newtonsoft.Json; +using System; + namespace djy.Model.Ams { - [Table("AMS_Cntrno")] + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_Cntrno", DisableSyncStructure = true)] public class AMS_Cntrno { @@ -10,12 +13,12 @@ namespace djy.Model.Ams public AMS_Cntrno() { - this.IsDel = "0"; + this.IsDel = false; } /// /// 主键 /// - [ExplicitKey] + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] public string GID { get; set; } /// @@ -96,7 +99,7 @@ namespace djy.Model.Ams public string LINKMAN { get; set; } - public string IsDel { get; set; } + public bool IsDel { get; set; } = false; /// /// 包装code diff --git a/ams/djy.Model/Ams/AMS_House.cs b/ams/djy.Model/Ams/AMS_House.cs index b25e804..2c54df3 100644 --- a/ams/djy.Model/Ams/AMS_House.cs +++ b/ams/djy.Model/Ams/AMS_House.cs @@ -1,19 +1,22 @@ -using Dapper.Contrib.Extensions; +using FreeSql.DataAnnotations; +using Newtonsoft.Json; +using System; namespace djy.Model.Ams { - [Table("AMS_House")] + + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_House", DisableSyncStructure = true)] public class AMS_House { public AMS_House(){ - this.IsDel = "0"; + this.IsDel = false; } /// /// 主键 /// - [ExplicitKey] + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] public string GID { get; set; } /// @@ -85,13 +88,10 @@ namespace djy.Model.Ams /// 通知人电话 /// public string NOTIFYPARTYTEL { get; set; } - public string IsDel { get; set; } + public bool IsDel { get; set; } = false; - /// - /// 货代单运编号(选填) - /// - public string ShippingNo { get; set; } + /// /// 发货人国家 /// @@ -117,7 +117,7 @@ namespace djy.Model.Ams /// /// 收货人国家code /// - public string CONSIGNEECode { get; set; } + public string CONSIGNEECountryCode { get; set; } /// /// 收货人城市 /// @@ -132,7 +132,7 @@ namespace djy.Model.Ams /// /// 通知人国家code /// - public string NOTIFYPARTYCode { get; set; } + public string NOTIFYPARTYCountryCode { get; set; } /// /// 通知人城市 /// diff --git a/ams/djy.Model/Ams/AMS_Master.cs b/ams/djy.Model/Ams/AMS_Master.cs index 3c1b88d..69dad8b 100644 --- a/ams/djy.Model/Ams/AMS_Master.cs +++ b/ams/djy.Model/Ams/AMS_Master.cs @@ -1,21 +1,24 @@ -using Dapper.Contrib.Extensions; -using System; + +using FreeSql.DataAnnotations; +using Newtonsoft.Json; +using System; namespace djy.Model.Ams { - [Table("AMS_Master")] + + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_Master", DisableSyncStructure = true)] public class AMS_Master { public AMS_Master() { - this.IsDel = "0"; + this.IsDel = false; this.CreateTime = DateTime.Now; } /// /// 主键 /// - [ExplicitKey] + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] public string GID { get; set; } /// @@ -108,7 +111,7 @@ namespace djy.Model.Ams public DateTime? CreateTime { get; set; } public DateTime? LastUpdate { get; set; } - public string IsDel { get; set; } + public bool IsDel { get; set; } = false; /// /// 船东单运编号(选填) /// diff --git a/ams/djy.Model/Ams/AMS_SysCARRIER.cs b/ams/djy.Model/Ams/AMS_SysCARRIER.cs new file mode 100644 index 0000000..39416c7 --- /dev/null +++ b/ams/djy.Model/Ams/AMS_SysCARRIER.cs @@ -0,0 +1,21 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; + + +namespace djy.Model.Ams +{ + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_SysCARRIER", DisableSyncStructure = true)] + public class AMS_SysCARRIER + { + /// + /// 主键 + /// + + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] + public string GID { get; set; } + + public string Code { get; set; } + + public string Value { get; set; } + } +} diff --git a/ams/djy.Model/Ams/AMS_SysCTNALL.cs b/ams/djy.Model/Ams/AMS_SysCTNALL.cs new file mode 100644 index 0000000..3db7a34 --- /dev/null +++ b/ams/djy.Model/Ams/AMS_SysCTNALL.cs @@ -0,0 +1,22 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; + + +namespace djy.Model.Ams +{ + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_SysCTNALL", DisableSyncStructure = true)] + public class AMS_SysCTNALL + { + /// + /// 主键 + /// + + + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] + public string GID { get; set; } + + public string Code { get; set; } + + public string Value { get; set; } + } +} diff --git a/ams/djy.Model/Ams/AMS_SysCountry.cs b/ams/djy.Model/Ams/AMS_SysCountry.cs new file mode 100644 index 0000000..f536c4b --- /dev/null +++ b/ams/djy.Model/Ams/AMS_SysCountry.cs @@ -0,0 +1,22 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; + + +namespace djy.Model.Ams +{ + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_SysCountry", DisableSyncStructure = true)] + public class AMS_SysCountry + { + /// + /// 主键 + /// + + + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] + public string GID { get; set; } + + public string Code { get; set; } + + public string Value { get; set; } + } +} diff --git a/ams/djy.Model/Ams/AMS_SysDangerousGoods.cs b/ams/djy.Model/Ams/AMS_SysDangerousGoods.cs new file mode 100644 index 0000000..c71bce6 --- /dev/null +++ b/ams/djy.Model/Ams/AMS_SysDangerousGoods.cs @@ -0,0 +1,24 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; + + +namespace djy.Model.Ams +{ + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_SysDangerousGoods", DisableSyncStructure = true)] + public class AMS_SysDangerousGoods + { + /// + /// 主键 + /// + + + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] + public string GID { get; set; } + + public string Code { get; set; } + + public string Value { get; set; } + + public string Describe { get; set; } + } +} diff --git a/ams/djy.Model/Ams/AMS_SysKINDPKGS.cs b/ams/djy.Model/Ams/AMS_SysKINDPKGS.cs new file mode 100644 index 0000000..7cf1cf6 --- /dev/null +++ b/ams/djy.Model/Ams/AMS_SysKINDPKGS.cs @@ -0,0 +1,22 @@ +using FreeSql.DataAnnotations; +using Newtonsoft.Json; + + +namespace djy.Model.Ams +{ + [JsonObject(MemberSerialization.OptIn), Table(Name = "AMS_SysKINDPKGS", DisableSyncStructure = true)] + public class AMS_SysKINDPKGS + { + /// + /// 主键 + /// + + + [JsonProperty, Column(IsPrimary = true, IsNullable = false)] + public string GID { get; set; } + + public string Code { get; set; } + + public string Value { get; set; } + } +} diff --git a/ams/djy.Model/AmsDto/AMSDto.cs b/ams/djy.Model/AmsDto/AMSDto.cs index 8af68ba..f80ab88 100644 --- a/ams/djy.Model/AmsDto/AMSDto.cs +++ b/ams/djy.Model/AmsDto/AMSDto.cs @@ -6,6 +6,10 @@ namespace djy.Model.AmsDto { public class AMSDto { + public AMSDto() + { + this.IsDel = false; + } /// /// 主键 /// @@ -103,7 +107,7 @@ namespace djy.Model.AmsDto public DateTime? CreateTime { get; set; } public DateTime? LastUpdate { get; set; } - public string IsDel { get; set; } + public bool IsDel { get; set; }=false; /// /// 船东单运编号(选填) /// @@ -135,6 +139,10 @@ namespace djy.Model.AmsDto public class AMS_HouseDto { + public AMS_HouseDto() + { + this.IsDel = false; + } /// /// 主键 /// @@ -209,13 +217,10 @@ namespace djy.Model.AmsDto /// 通知人电话 /// public string NOTIFYPARTYTEL { get; set; } - public string IsDel { get; set; } + public bool IsDel { get; set; } = false; - /// - /// 货代单运编号(选填) - /// - public string ShippingNo { get; set; } + /// /// 发货人国家 /// @@ -241,7 +246,7 @@ namespace djy.Model.AmsDto /// /// 收货人国家code /// - public string CONSIGNEECode { get; set; } + public string CONSIGNEECountryCode { get; set; } /// /// 收货人城市 /// @@ -256,7 +261,7 @@ namespace djy.Model.AmsDto /// /// 通知人国家code /// - public string NOTIFYPARTYCode { get; set; } + public string NOTIFYPARTYCountryCode { get; set; } /// /// 通知人城市 /// diff --git a/ams/djy.Service/Ams/AmsService.cs b/ams/djy.Service/Ams/AmsService.cs index 8eca2bd..489c44f 100644 --- a/ams/djy.Service/Ams/AmsService.cs +++ b/ams/djy.Service/Ams/AmsService.cs @@ -16,7 +16,6 @@ using Common.DJYModel; using System.Transactions; using Dapper.Contrib.Extensions; using Common.Utilities; - namespace djy.Service.Ams { /// @@ -24,24 +23,22 @@ namespace djy.Service.Ams /// public class AmsService : ServBase, IAmsService { - DapperDBBase dapper = new DapperDBBase(); - public TableData Load(AMSQuery req, string userid) { var result = new TableData(); var user = DbBus.Get(DbList.djydb).Select().Where(w => w.GID == userid).ToOne(); - var dto = DbBus.Get(DbList.AMSCenter).Select().Where(x => x.IsDel == "0" || x.IsDel == null&&x.CompID==user.CompId).WhereIf(req.MBLNO != null, x => x.MBLNO == req.MBLNO); + var dto = DbBus.Get(DbList.AMSCenter).Select().Where(x => x.IsDel == false || x.IsDel == null&&x.CompID==user.CompId).WhereIf(req.MBLNO != null, x => x.MBLNO == req.MBLNO); result.count = dto.ToList().Count(); var list= dto.Page(req.Page,req.Limit).ToList(); if (list != null) { foreach (var item in list) { - var hodto = DbBus.Get(DbList.AMSCenter).Select().Where(x => x.IsDel == "0" || x.IsDel == null && x.PID == item.GID).ToList(); + var hodto = DbBus.Get(DbList.AMSCenter).Select().Where(x => x.IsDel == false || x.IsDel == null && x.PID == item.GID).ToList(); item.HouseDto = hodto; if (hodto!=null) { foreach (var it in hodto) { - var cnt = DbBus.Get(DbList.AMSCenter).Select().Where(x => x.IsDel == "0" || x.IsDel == null && x.HID == it.GID).ToList(); + var cnt = DbBus.Get(DbList.AMSCenter).Select().Where(x => x.IsDel == false || x.IsDel == null && x.HID == it.GID).ToList(); it.CntrnoDto = cnt; } } @@ -54,135 +51,95 @@ namespace djy.Service.Ams public void Delete(string ids) { string[] id = ids.Split(','); - using (var transaction = new TransactionScope()) - { - using (IDbConnection connection = dapper.GetConn()) + DbBus.Get(DbList.AMSCenter).Transaction(() => { + foreach (string oid in id) { - try { - foreach (string oid in id) - { - if (oid != "") - { - connection.Execute("update AMS_Cntrno set isdel ='1' where pid='" + oid + "'"); - connection.Execute("update AMS_House set isdel ='1' where pid='" + oid + "'"); - connection.Execute("update AMS_Master set isdel ='1' where gid='" + oid + "'"); - } - } - transaction.Complete(); - connection.Dispose(); - connection.Close(); + if (oid != "") + { + DbBus.Get(DbList.AMSCenter).Update().Set(w => w.IsDel,true).Where(w => w.GID ==oid).ExecuteAffrows(); + DbBus.Get(DbList.AMSCenter).Update().Set(w => w.IsDel, true).Where(w => w.PID == oid).ExecuteAffrows(); + DbBus.Get(DbList.AMSCenter).Update().Set(w => w.IsDel, true).Where(w => w.PID == oid).ExecuteAffrows(); } - catch (Exception ex) { - - connection.Dispose(); - connection.Close(); - } } - } - - + }); } - public async void SaveInfo(AMSDto dto, string userid) + public void SaveInfo(AMSDto dto, string userid) { if (dto.GID.IsNull()) { var user = DbBus.Get(DbList.djydb).Select().Where(w => w.GID == userid).ToOne(); - using (var transaction = new TransactionScope()) + + DbBus.Get(DbList.AMSCenter).Transaction(() => { - using (IDbConnection connection = dapper.GetConn()) - { - try - { - AMS_Master master = dto.MapTo(); - master.CreateTime = DateTime.Now; - master.LastUpdate = DateTime.Now; - master.GID = Guid.NewGuid().ToString("N"); - master.UserID = user.GID; - master.UserName = user.SHOWNAME; - master.CompID = user.CompId; - master.CompName = user.COMNAME; - connection.Insert(master); - if (dto.HouseDto != null && dto.HouseDto.Count() > 0) - { - foreach (var item in dto.HouseDto) - { - AMS_House house = dto.MapTo(); - house.GID = Guid.NewGuid().ToString("N"); - house.PID = master.GID; - connection.Insert(house); - if (item.CntrnoDto!=null&&item.CntrnoDto.Count()>0) { - foreach (var it in item.CntrnoDto) - { - AMS_Cntrno cntrno = dto.MapTo(); - cntrno.GID = Guid.NewGuid().ToString("N"); - cntrno.PID = master.GID; - cntrno.HID = house.GID; - connection.Insert(cntrno); - } - } + AMS_Master master = dto.MapTo(); + master.CreateTime = DateTime.Now; + master.LastUpdate = DateTime.Now; + master.GID = Guid.NewGuid().ToString("N"); + master.UserID = user.GID; + master.UserName = user.SHOWNAME; + master.CompID = user.CompId; + master.CompName = user.COMNAME; + master.IsDel = false; + DbBus.Get(DbList.AMSCenter).Insert(master).ExecuteAffrows(); + + if (dto.HouseDto != null && dto.HouseDto.Count() > 0) + { + foreach (var item in dto.HouseDto) + { + AMS_House house = item.MapTo(); + house.GID = Guid.NewGuid().ToString("N"); + house.PID = master.GID; + house.IsDel = false; + DbBus.Get(DbList.AMSCenter).Insert(house).ExecuteAffrows(); + if (item.CntrnoDto!=null&&item.CntrnoDto.Count()>0) { + foreach (var it in item.CntrnoDto) + { + AMS_Cntrno cntrno = it.MapTo(); + cntrno.GID = Guid.NewGuid().ToString("N"); + cntrno.PID = master.GID; + cntrno.HID = house.GID; + cntrno.IsDel = false; + DbBus.Get(DbList.AMSCenter).Insert(cntrno).ExecuteAffrows(); } - } - transaction.Complete(); - connection.Dispose(); - connection.Close(); - } - catch (Exception ex) - { - connection.Dispose(); - connection.Close(); - } - } + } + } + } + }); } - } else { - - using (var transaction = new TransactionScope()) + DbBus.Get(DbList.AMSCenter).Transaction(() => { - using (IDbConnection connection = dapper.GetConn()) + AMS_Master master = dto.MapTo(); + DbBus.Get(DbList.AMSCenter).Update().SetSource(master).ExecuteAffrows(); + DbBus.Get(DbList.AMSCenter).Delete().Where(w => w.PID==master.GID).ExecuteAffrows(); + DbBus.Get(DbList.AMSCenter).Delete().Where(w => w.PID == master.GID).ExecuteAffrows(); + + if (dto.HouseDto != null && dto.HouseDto.Count() > 0) { - try + foreach (var item in dto.HouseDto) { - - AMS_Master master = dto.MapTo(); - connection.Update(master); - connection.Execute("delete AMS_House where pid='"+ master.GID + "'"); - connection.Execute("delete AMS_Cntrno where pid='" + master.GID + "'"); - if (dto.HouseDto!=null&& dto.HouseDto.Count()>0) { - foreach (var item in dto.HouseDto) + AMS_House house = item.MapTo(); + house.GID = Guid.NewGuid().ToString("N"); + house.PID = master.GID; + house.IsDel=false; + DbBus.Get(DbList.AMSCenter).Insert(house).ExecuteAffrows(); + if (item.CntrnoDto != null && item.CntrnoDto.Count() > 0) + { + foreach (var it in item.CntrnoDto) { - AMS_House house = dto.MapTo(); - house.GID = Guid.NewGuid().ToString("N"); - house.PID = master.GID; - connection.Insert(house); - if (item.CntrnoDto!=null&&item.CntrnoDto.Count()>0) { - foreach (var it in item.CntrnoDto) - { - AMS_Cntrno cntrno = dto.MapTo(); - cntrno.GID = Guid.NewGuid().ToString("N"); - cntrno.PID = master.GID; - cntrno.HID = house.GID; - connection.Insert(cntrno); - } - } + AMS_Cntrno cntrno = it.MapTo(); + cntrno.GID = Guid.NewGuid().ToString("N"); + cntrno.PID = master.GID; + cntrno.HID = house.GID; + cntrno.IsDel=false; + DbBus.Get(DbList.AMSCenter).Insert(cntrno).ExecuteAffrows(); } } - transaction.Complete(); - connection.Dispose(); - connection.Close(); - } - catch (Exception ex) - { - connection.Dispose(); - connection.Close(); - } } - } - - - + }); } } @@ -191,15 +148,66 @@ namespace djy.Service.Ams { try { - var List = dapper.Query("select Code,Value from AMS_SysCARRIER order by value"); + var List = DbBus.Get(DbList.AMSCenter).Select().ToList(); return List; } catch (Exception e) { throw; } + } + + + public List GetCARRIER() + { + try + { + var List = DbBus.Get(DbList.AMSCenter).Select().ToList(); + return List; + } + catch (Exception e) + { + throw; + } + } + + public List GetCTNALL() + { + try + { + var List = DbBus.Get(DbList.AMSCenter).Select().ToList(); + return List; + } + catch (Exception e) + { + throw; + } + } + public List GetKINDPKGS() + { + try + { + var List = DbBus.Get(DbList.AMSCenter).Select().ToList(); + return List; + } + catch (Exception e) + { + throw; + } + } + public List GetDangerousGoods() + { + try + { + var List = DbBus.Get(DbList.AMSCenter).Select().ToList(); + return List; + } + catch (Exception e) + { + throw; + } } } } diff --git a/ams/djy.WebApi/Controllers/AMS/AmsController.cs b/ams/djy.WebApi/Controllers/AMS/AmsController.cs index 21eb29f..50a27a5 100644 --- a/ams/djy.WebApi/Controllers/AMS/AmsController.cs +++ b/ams/djy.WebApi/Controllers/AMS/AmsController.cs @@ -15,25 +15,22 @@ namespace djy_AmsApi.Controllers [AllowAnonymous] public class AmsController : ApiBase { - AmsService ser =new AmsService(); - - [HttpPost("AddOrUpdate")] public Response AddOrUpdate(AMSDto Dto) { var result = new Response(); - if (GetLoginId == null) - { - result.Code = 401; - result.Message = "登录过期,请重新登录!"; - } + //if (GetLoginId == null) + //{ + // result.Code = 401; + // result.Message = "登录过期,请重新登录!"; + //} if (Dto == null) { result.Code = 500; result.Message = "无效数据!"; } - ser.SaveInfo(Dto, GetLoginId.ToString()); + ser.SaveInfo(Dto, "d85fd590-d9f6-4410-93a1-f6fac77b606e"); return result; } @@ -42,14 +39,14 @@ namespace djy_AmsApi.Controllers [HttpGet("Load")] public object Load([FromQuery] AMSQuery request) { - if (GetLoginId == null) - { - var result = new Response(); - result.Code = 401; - result.Message = "登录过期,请重新登录!"; - return result; - } - return ser.Load(request, GetLoginId.ToString()); + //if (GetLoginId == null) + //{ + // var result = new Response(); + // result.Code = 401; + // result.Message = "登录过期,请重新登录!"; + // return result; + //} + return ser.Load(request, "d85fd590-d9f6-4410-93a1-f6fac77b606e"); } @@ -94,8 +91,90 @@ namespace djy_AmsApi.Controllers + /// + /// 下拉获取船公司 + /// + /// + [HttpGet("GetCARRIER")] + public Response> GetCARRIER() + { + var result = new Response>(); + try + { + result.Result = ser.GetCARRIER(); + } + catch (Exception ex) + { + result.Code = 500; + result.Message = ex.InnerException?.Message ?? ex.Message; + } + + return result; + } + + /// + /// 下拉获取箱型 + /// + /// + [HttpGet("GetCTNALL")] + public Response> GetCTNALL() + { + var result = new Response>(); + try + { + result.Result = ser.GetCTNALL(); + } + catch (Exception ex) + { + result.Code = 500; + result.Message = ex.InnerException?.Message ?? ex.Message; + } + + return result; + } + + + /// + /// 下拉获取包装单位 + /// + /// + [HttpGet("GetKINDPKGS")] + public Response> GetKINDPKGS() + { + var result = new Response>(); + try + { + result.Result = ser.GetKINDPKGS(); + } + catch (Exception ex) + { + result.Code = 500; + result.Message = ex.InnerException?.Message ?? ex.Message; + } + return result; + } + + /// + /// 下拉获取危品等级及 CODE + /// + /// + [HttpGet("GetDangerousGoods")] + public Response> GetDangerousGoods() + { + var result = new Response>(); + try + { + result.Result = ser.GetDangerousGoods(); + } + catch (Exception ex) + { + result.Code = 500; + result.Message = ex.InnerException?.Message ?? ex.Message; + } + return result; + } } } diff --git a/ams/djy.WebApi/djy_AmsApi.csproj.user b/ams/djy.WebApi/djy_AmsApi.csproj.user index a0f68f9..90075e4 100644 --- a/ams/djy.WebApi/djy_AmsApi.csproj.user +++ b/ams/djy.WebApi/djy_AmsApi.csproj.user @@ -3,7 +3,7 @@ MvcControllerEmptyScaffolder root/Common/MVC/Controller - FolderProfile + F:\DJY.AMS\ams\djy.WebApi\Properties\PublishProfiles\FolderProfile.pubxml IIS Express