使用Asp.Net MVC开发兼职文章系统
我已经开发好了,你拿去用就是了。
以下是README的内容,包含功能要求和开发过程的一些思考:
一、功能
1、学生兼职人员文章(任务、自由编写),审核(通过,退回修改,无效),并按每15天结算一次费用,满1000元以后才能提现。
2、公司内部人员发文章,审核(通过,退回修改,无效),可选有无金额
3、医院医生发文章,审核(通过,退回修改,无效),可选有无金额
4、特殊账户,无需审核,直接发布,可选有无金额
5、文章分类,可沿用现在小刘那开发的程序里面的分类
6、设置文章金额,通过统计通过文章(普通、任务、精华、高度原创等)数量,生成总金额报表
7、添加账户,添加账户属性,添加文章属性,设置每种属性文章价格
8、登陆账户提示通过多少文章,总计金额多少,已经提现多少,未提现多少等提示信息
9、审核账户,审核文章是否通过,财务账户再审核金额再告知发布者。
10、和小刘程序对接下,加入项目下面文章,或者设置接口。
11、文章发布模块参考织梦的。
12、所有文章入数据库,后期做接口调用,或者输出。
13、财务账号审核后付款,付款后财务设置账号状态(已付,未付)
二、任务
按功能流程设计表、权限功能设计。
三、流程 发文【待审核】-》审核【已审核、待结算(待付款)】-》结算(审核账目总额大于1000、月中和月底各结算一次)【已结算(已付款)】 四、表
【文章】Article
标题、摘要、关键词、内容(Html)、作者、时间、核准级别ID、
当时价格、审核状态(枚举)、结算状态(枚举)、封面图片ID、审核备注、项目ID 【文章图片】1-*ArticleImage
文章ID
图片地址 【用户】User
姓名、角色(枚举)、密码、是否启用 【用户-银行账户】1-*UserBankAccount
用户ID
姓名
开户行、
银行账号、
是否启用 【角色】枚举 写入代码
审核员(审核文章、设置文章级别、发布任务)、
投稿人(发文需审核、已审核的不可修改)、
作者(发文无需审核)、
管理员(所有权限)
财务(结算) 【用户资产】UserProperty
全部文章数
已审核文章数(通过数量\总计金额多少) 已结算文章数(已经提现多少)
待结算文章数
已结算资金
待结算资金(多少还未结算)
普通文章数
任务文章数
精华文章数
原创文章数 【交易结算】Transaction
作者ID
金额
文章ID列表
时间
结算人
结算方式 【文章需求】ArticleDemand
项目ID
关键词
需求数量
任务要求
开始时间
截止时间
是否终止(需求数量或截止时间中任意一个满足则终止任务,需求数量等于0表示不限数量)
发布人 【文章级别】AuditLevel
级别ID
级别名称
级别价格
更新日期
更新人 【文章级别价格历史记录】AuditLevelModify 修改文章价格时生成一份历史记录
级别ID
级别价格
生效时间
失效时间
操作人 五、页面
1、【用户】兼职文章编辑页面(具体参考120ask文章系统,多个文章关键词项),通用于所有账号编辑。【添加文章、领文章任务、我发布的待审核文章、我发布的所有文章】
2、【管理】发布任务【设置文章关键词、可选设置文章标题(即为选择设或不设标题均可)、归属栏目(选择可设或不设)、设置任务金额】,可审核账户发布。
3、【管理】审核,阅读文章,设置属性【通过(普通、任务[自动]、精华、原创)、退回修改、无效等】。
4、【管理】财务,设置文章属性(普通、任务[自动]、精华、原创)价格,审核账户金额,文章数量,设置每个账户已提现多少,还剩余多少未提现。
5、【管理】报表:分账户和总数统计每个账户通过多少篇,未通过多少篇;普通、任务[自动]、精华、原创个多少篇;分账户和总数,每个账户多少钱,已结算多少,未结算多少。
6、【用户】登陆后,显示通过数量,总计金额,多少还未结算,还有多久可结算(达到1000元以上后计算时间)
7、【管理】Admin账户:开设账户,设置账户属性(兼职、医生、内部账户、财务、审核账户等),添加修改账户属性、文章属性; 六、其他
交易表冗余评定等级中的字段以实现价格保留(避免因等级变更导致已有交易的金额变更)
同时增加变更记录表记录变更情况 开发:
权限检查不使用if else结构。通过继承Authorize特性设计权限组件(并通过Permission表的featureName关联到控制器和Action) ===========================================否定的==============================================================================
当前权限设计和实际想法不兼容。需要重新设计权限功能。
##想法概述
通过数据库或者文件配置【某个用户】在【指定方法】上的【多个操作】的权限级别。
USER.ACTION.PERMISSION_IN_DATA 如果对于数据列表的鉴权路径为
AREA.CONTROLLER.ACTION.USER_PERMISSION_IN_DATA
那么,需要的参数有如下这些,方括号表示来源
====================Feature==================
M)[CONTEXT] AREA (区域)
M)[CONTEXT] CONTROLLER (控制器)
M)[CONTEXT] ACTION (动作)
=============================================
N)[CONTEXT] CURRENT_USER ->
[DATABASE] USER_ROLE ->
[CONFIGURATION] USER_PERMISSION_IN_FEATURE (从用户的角色中读取用户的可用标准权限) 在如上的参数中,分组为M的表示粗粒度的控制,由Filter实现。分组为N的表示数据上严格的权限控制,在Action内实现。 我们将在认证AREA.CONTROLLER.ACTION完成时通过辅助方法将一个ROLE_PERMISSION_IN_FEATURE对象注入到当前请求中。
该对象可以在编码Action时从辅助方法取出作为鉴权的参数。
在单个Action中通过判断情况来执行不同的逻辑。 ##对象结构
SYSTEM_FEATURE
{
NAME,
DESCRIPTION,
AREA,
CONTROLLER,
ACTION,
} ROLE_PERMISSION_IN_FEATURE
{
ROLE_ID [INT32], //角色
FEATURE_ID [INT32], //功能
STANDARD_PERMISSION_LEVEL [ENUM_FLAG] //所拥有的标准权限级别
} ROLE_PERMISSION_IN_USERDEFINED_FEATURE
{
ROLE_ID [INT32], //角色
USERDEFINED_FEATURE [ENUM_FLAG], //用户定义的功能
STANDARD_PERMISSION_LEVEL [ENUM_FLAG] //所拥有的标准权限级别
} ##菜单设计
MENU
{
MENU_ID,
ROLE_ID, //用于鉴权
FeatureID, //用于提取URI
Params [STRING],
HrefHash [], //浏览器定位
TEXT, //显示文字
TITLE, //提示文字
GroupName [STRING], //分类名称
Enabled, //启用
SequenceID, //排序
Cagetory [ENUM_FLAG] //侧边栏菜单、顶部导航菜单
}
====================================================否定的结束============================================= 把简单的想复杂了。压根都不需要什么灵活权限管理,仅仅if-else就能搞定。。草!。 ===========================================================================================================
http://localhost/Account/LogOn?ReturnUrl=%2f 管理 admin admin
作者 author author 发文需要人审核
高级作者 advauthor advauthor 发文自动审核
审核员 auditor auditor 审核文章
财务 caiwu caiwu 结算当期账务 测试设置 最低体现额度10元 每一期(一个月)结算一次
发布设置 最低体现额度N元 每一期(一个月)结算一次 现在使用测试设置
为测试方便 在财务没有执行结算操作前 可以重置当期结算的账务
使用链接 http://localhost/Home/CreateTransaction 重置
留言索取源码,请提供邮件地址;也可以加群下载283590657,原因填写"我要兼职文章系统源码"
使用Asp.Net MVC开发兼职文章系统的更多相关文章
- 基于C#和Asp.NET MVC开发GPS部标视频监控平台
基于C#和Asp.NET MVC开发GPS部标监控平台 目前整理了基于.NET技术的部标平台开发文章,可以参考: 1.部标Jt808协议模拟终端的设计和开发 2.C#版的808GPS服务器开发-> ...
- 解析ASP.NET Mvc开发之删除修改数据
目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 4)解析ASP.NET Mvc开发之EF延迟加载 ...
- ASP.NET MVC开发:Web项目开发必备知识点
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
- 使用 WPF+ ASP.NET MVC 开发 在线客服系统 (一)
近段时间利用业余时间开发了一套在线客服系统,期间遇到过大大小小不少问题,好在都一一解决,最终效果也还可以,打算写一个系列的文章把开发过程详细的记录下来. 希望能够和更多的开发人员互相交流学习,也希望有 ...
- ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...
- ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器
一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据 ...
- ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...
- ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...
- ASP.Net MVC开发基础学习笔记:一、走向MVC模式
一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...
随机推荐
- 1339 / 1163: [Baltic2008]Mafia
1163: [Baltic2008]Mafia Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 96 Solved: 60[Submit][Statu ...
- Spring IOC容器中Bean的生命周期
1.IOC容器中Bean的生命周期 构造器函数 设置属性 初始化函数(在Bean配置中 init-method) 使用Bean 结束时关闭容器(在Bean中配置destroy-method) 2.Be ...
- python + selenium <一>
python 安装 python 下载地址: http://python.org/getit/ ez_setup.py 下载地址: https://pypi.python.org/packages/s ...
- 简单的add函数的N种写法
最近在学习es6,看到for-of这里,就想自己写着练习一下,于是就准备写一个小函数add来求和.函数很简单,如add(1,2,3)这样.于是我开始着手 一开始我是这么写的 function add( ...
- Android开发之启动模式的深入理解
standard(标准模式): 当用ApplicationContext去启动standard模式时会报错,是因为非Activity类型的Context没有所谓的任务栈, 所以需要为待启动的Activ ...
- java学习笔记 --- 条件,循环语句
一.三元运算符 A:格式 比较表达式?表达式1:表达式2; B:执行流程: 首先计算比较表达式的值,看是true还是false. 如果是true,表达式1就是结果. 如果是 ...
- NGUI 解决UILable 在空行起始位置加‘\n’
NGUI 解决UILable 默认在顶满第一行时,在起始位置如键入空格无效,其原因就是会加入换行符,使字符串,整体换行了 解决办法加入bool变量控制 1在 UILable代码中添加 [HideInI ...
- 【C++】智能指针详解(二):auto_ptr
首先,我要声明auto_ptr是一个坑!auto_ptr是一个坑!auto_ptr是一个坑!重要的事情说三遍!!! 通过上文,我们知道智能指针通过对象去管理指针,在构造对象时完成资源的分配及初始化,在 ...
- .net core 持续构建简易教程
环境需求:jenkins和.netcore 由于jenkins在真机上的部署比较麻烦,所以在这里我使用基于jenkins的Docker,只要任何一台运行docker的环境都可以进行以下的操作. doc ...
- Nginx VS Apache
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率 Nginx 静态处理性能比 Apache 高 3倍以上 最核心的区别在于apache是同步多进 ...