使用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 ...
随机推荐
- swift -- as / 扩展
一.使用 可选链式 调用代替强制展开 //当声明一个属性时,将属性类型设置为可选类型: 好处: 当可选类型的属性被赋予初始值时,系统调用初始值;当可选类型属性没有赋予初始值时,系统只会调用失败;如果属 ...
- WPF 动态生成DataGrid及动态绑定解决方案
一.场景 有过WPF项目经验的朋友可能都知道,如果一个DataGrid要绑定静态的数据是非常的简单的(所谓静态是指绑定的数据源的类型是静态的),如下图所示,想要显示产品数据,只需绑定到一个产品列表即可 ...
- python 接口自动化测试--框架定型(六)
脚本执行步骤: 1.还原测试数据库: 2.读取接口用例CSV文件到数据库: 3.执行数据库中标记执行的用例: 4.对比预期结果,将测试结果写入数据库结果表中. 数据管理: 事先备份测试数据库,并搭建自 ...
- CSS - DOM 经常使用方法
offset() 方法返回或设置匹配元素相对于文档的偏移(位置). 包括两个属性值:top,left. position() 方法返回匹配元素相对于父元素的位置(偏移). 包括两个属性值:top,le ...
- 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- C++11右值引用和std::move语句实例解析
关键字:C++11,右值引用,rvalue,std::move,VS 2015 OS:Windows 10 右值引用(及其支持的Move语意和完美转发)是C++0x将要加入的最重大语言特性之一.从实践 ...
- Android时光轴
时间轴,顾名思义就是将一些事件或者事物等按照时间顺序罗列起来,给用户带来一种更加直观的体验.京东和淘宝等的物流顺序就是一个时间轴 前言:Android中使用RecyclerView实现时光轴,代码简 ...
- 初学canvas,遇到width和height显示问题和用excanvas.js兼容IE问题
/*-----------------------ITEYE 祈祷幸福博客原创,转载请注明.-------------------*/ 第一次认真写技术博客文~~~若有不严谨的地方,望指正. 今天是第 ...
- 一个web应用的诞生(9)--回到用户
在开始之前,我们首先根据之前的内容想象一个场景,用户张三在网上浏览,看到了这个轻博客,发现了感兴趣的内容,于是想要为大家分享一下心情,恩?发现需要注册,好,输入用户名,密码,邮箱,并上传头像后,就可以 ...
- Android基本控件和事件以及消息总结
Android学生空间界面设计涉及到的常用基本控件有TextView,EditText,Button,ImageView,CheckBox,RadioButton,基本事件有触屏和键盘事件,包括onT ...