-
2021-01-15 17:03:22
需求:查询进行中的活动数据
进行中一共有以下几种情况: 1.开始时间为空,结束时间为空, 此结果数据将永远为进行中的数据 2.开始时间为空,结束时间不为空,则当前时间在结束时间之前,为进行中的数据 3.开始时间不为空,结束时间为空,则当前时间在开始时间之后,为进行中的数据 4.开始时间不为空,结束时间不为空,则当前时间在开始与结束时间段之内的数据为进行中数据
下面sql则查询的是满足以上四种需求的结果集,达标题需求
SELECT * FROM 表名 WHERE 1=1 and(start_time is null or start_time<now()) and(end_time is null or end_time>now())
mybatis写法,开始时间与结束时间传入参数允许为空
如图所示:<if test="record.startDate != null and record.startDate != '' or record.endDate != null and record.endDate != '' "> AND id in (select id from rht_product_price where 1=1 <if test="record.startDate != null and record.startDate != ''"> and start_date <= #{record.startDate,jdbcType=VARCHAR} </if> <if test="record.endDate!= null and record.endDate != ''"> and end_date >= #{record.endDate,jdbcType=VARCHAR} </if> ) </if>
更多相关内容 -
axe-fiber:一个活动组织使用Fibre框架的微信迷你应用程序
2021-04-12 00:33:42axe-fiber A program of activity organization using Fiber framework....更新活动,如标题、描述、地址、开始时间和结束时间等 结算活动 终止活动 报名活动 取消报名 带人参加活动,如小明+1,小明+2等 -
斧头:使用Vert.x Web进行活动组织的程序。 (https://www.dota2.com.cnheroaxe)
2021-02-08 23:41:41斧头 使用Vert.x Web的活动组织程序。 ( ) 数据库 MySQL 用户 ...登录 ...更新活动,如标题,描述,地址,开始时间和结束时间等 结算活动 终止活动 报名活动 取消报名 带人参加活动,如小明+1,小明+2等 -
❤️爆肝熬夜开发了一个SpringBoot活动管理系统,现在开源给你!毕设面试学习都不愁了!【强烈建议收藏】❤...
2021-09-14 22:33:30让我开发一个基于springboot的活动管理系统! 他非常的着急,事情比较突然。 好吧,我去买了咖啡,熬了两个通宵给赶制出来了! 后来小伙伴用完系统后,他说可以开源给大家一起学习! 果然人人为我,我为人人! ...前面有个粉丝找到猛哥,说遇到了困难!让我开发一个基于springboot的活动管理系统!
他非常的着急,事情比较突然。
好吧,我去买了咖啡,熬了两个通宵给赶制出来了!
后来小伙伴用完系统后,他说可以开源给大家一起学习!
果然人人为我,我为人人!求个三连,强烈建议收藏,不然以后找不到了。更多干货猛哥持续分享!
源码见文章底部!
当然前面也分享了很多优质的项目:
4,基于SpringCloud的微服务项目【源码+视频教程】
目录
基于springboot的小程序系统,前台是小程序,后台用springboot开发的,源码进行开源。
系统和奈斯,前台面向的是用户,可以进行登录、注册、在线预约活动、公告查看、活动分类查看等
管理员端可以进行用户的管理,活动的管理,活动分类管理。大家拿到源码后可以自己跑一下。自己可以二次开发或者学习使用,不可商用。
1,系统功能及源码下载地址
该系统 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf、Bootstrap),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告等。在线定时任务配置;支持集群,支持多数据源。本项目又在RuoYi的基础上增加了很多功能,比如百度AI、OSS等。
文章底部分享
2,系统教程:
对系统的模块进行了大体的介绍,帮你了解每个模块是干啥的。
具体的视频教程在文章底。
3,系统环境
系统开发平台:
JDK1.8+Maven3.6.1
框架:Springboot2.X+Bootstrap
数据库和工具:MySql5.7 Navicat
开发工具: Intellij Idea
浏览器:Chrome
涉及到的技术:MySql、Springboot、MyBatisPlus、Thymeleaf、Shiro、jquery、element
4,系统演示
4.1 小程序端演示
4.2 后端演示
5,系统核心代码
BlogController
/** * 广告位Controller * * @author v:kaifaizixun * @date 2021-08-16 */ @Controller @RequestMapping("/blog") public class BlogController extends BaseController { private static final String prefix = "blog/theme"; //private static final String theme="/pnews"; //private static final String theme="/pblog"; //private static final String theme="/avatar"; @Autowired private IArticleService articleService; @Autowired private IAlbumService albumService; @Autowired private ICommentService commentService; @Autowired private ITagsService tagsService; @Autowired private ICategoryService categoryService; @Autowired private IResourceService resourceService; @Autowired private ISysConfigService configService; @Autowired private ILinkTypeService linkTypeService; @Autowired private ILinkService linkService; @Autowired private IBlogThemeService blogThemeService; private static Cache<String,Integer> articleViewCache= CacheUtil.newLRUCache(1000,1000*60*60); private static Cache<String,Integer> articleUpVoteCache= CacheUtil.newLRUCache(1000,1000*60*60); private static Cache<String,Integer> commentUpVoteCache= CacheUtil.newLRUCache(1000,1000*60*60); private static Cache<String,Map> bannerCache= CacheUtil.newTimedCache(1000*60*60); private static Cache<String,Object> blogCache= CacheUtil.newTimedCache(1000*60*60*3); private String getTheme(){ return configService.selectConfigByKey(CmsConstants.KEY_BLOG_THEME); } /** * 首页 * * @param model * @return */ @GetMapping({"/","","/index"}) public String index(Model model) { model.addAttribute("pageUrl", "blog/index"); model.addAttribute("categoryId", "index"); Article form = new Article(); startPage(); List<Article> articles = articleService.selectArticlesRegionNotNull(form); model.addAttribute("pageNo", new PageInfo(articles).getPageNum()); model.addAttribute("pageSize", new PageInfo(articles).getPageSize()); model.addAttribute("totalPages", new PageInfo(articles).getPages()); model.addAttribute("articleList",articles); return prefix+"/" + getTheme() + "/index"; } /** * 获取一个专辑以及其关联的素材 */ @PostMapping( "/getIndexBanner") @ResponseBody public AjaxResult getAlbum(String code) { if(StringUtils.isEmpty(code)){ return AjaxResult.error("参数code不能为空!"); } Map data= bannerCache.get(code,false); if(data==null){ data= albumService.getAlbum(code); bannerCache.put(code,data); } return AjaxResult.success(data); } /** * 文章详情 * * @param model * @param articleId * @return */ @GetMapping("/article/{articleId}") public String article(HttpServletRequest request, Model model, @PathVariable("articleId") String articleId) { Article article = articleService.selectArticleById(articleId); if (article == null) { throw new BusinessException("该文章不存在!"); } model.addAttribute("article", article); model.addAttribute("categoryId", article.getCategoryId()); return prefix+"/" + getTheme() + "/article"; } /** * 分类列表 * * @param model * @return */ @GetMapping("/category") public String category(Model model) { model.addAttribute("categoryId", "category"); Article form = new Article(); startPage(); List<Article> articles = articleService.selectArticleList(form); PageInfo pageInfo=new PageInfo(articles); model.addAttribute("total", pageInfo.getTotal()); model.addAttribute("pageNo", pageInfo.getPageNum()); model.addAttribute("pageSize", pageInfo.getPageSize()); model.addAttribute("totalPages", pageInfo.getPages()); model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage()); model.addAttribute("hasNext", pageInfo.isHasNextPage()); model.addAttribute("currentPage", pageInfo.getPageNum()); model.addAttribute("prePage", pageInfo.getPrePage()); model.addAttribute("nextPage", pageInfo.getNextPage()); model.addAttribute("navNums", pageInfo.getNavigatepageNums()); model.addAttribute("articleList",articles); return prefix+"/" + getTheme() + "/category_article"; } /** * 分类列表 * * @param categoryId * @param model * @return */ @GetMapping("/category/{categoryId}") public String categoryBy(@PathVariable("categoryId") String categoryId, Model model) { Category category=categoryService.selectCategoryById(Long.valueOf(categoryId)); if(category!=null){ model.addAttribute("categoryName", category.getCategoryName()); } Article form = new Article(); form.setCategoryId(categoryId); model.addAttribute("categoryId", categoryId); startPage(); List<Article> articles = articleService.selectArticleList(form); PageInfo pageInfo=new PageInfo(articles); model.addAttribute("total", pageInfo.getTotal()); model.addAttribute("pageNo", pageInfo.getPageNum()); model.addAttribute("pageSize", pageInfo.getPageSize()); model.addAttribute("totalPages", pageInfo.getPages()); model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage()); model.addAttribute("hasNext", pageInfo.isHasNextPage()); model.addAttribute("currentPage", pageInfo.getPageNum()); model.addAttribute("prePage", pageInfo.getPrePage()); model.addAttribute("nextPage", pageInfo.getNextPage()); model.addAttribute("navNums", pageInfo.getNavigatepageNums()); model.addAttribute("articleList",articles); return prefix+"/" + getTheme() + "/category"; } /** * 分类列表 * * @param model * @return */ @GetMapping("/resource/list") public String resourceList(Model model) { model.addAttribute("categoryId", "resource"); Resource form = new Resource(); form.setStatus(CmsConstants.STATUS_NORMAL); form.setAuditState(CmsConstants.AUDIT_STATE_AGREE.toString()); startPage(); List<Resource> resources = resourceService.selectResourceList(form); PageInfo pageInfo=new PageInfo(resources); model.addAttribute("total", pageInfo.getTotal()); model.addAttribute("pageNo", pageInfo.getPageNum()); model.addAttribute("pageSize", pageInfo.getPageSize()); model.addAttribute("totalPages", pageInfo.getPages()); model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage()); model.addAttribute("hasNext", pageInfo.isHasNextPage()); model.addAttribute("currentPage", pageInfo.getPageNum()); model.addAttribute("prePage", pageInfo.getPrePage()); model.addAttribute("nextPage", pageInfo.getNextPage()); model.addAttribute("navNums", pageInfo.getNavigatepageNums()); model.addAttribute("resourceList",resources); return prefix+"/" + getTheme() + "/list_resource"; } /** * 资源详情 * * @param model * @param id * @return */ @GetMapping("/resource/{id}") public String resource(HttpServletRequest request, Model model, @PathVariable("id") String id) { Resource resource = resourceService.selectResourceById(id); if (resource == null) { throw new BusinessException("该资源不存在!"); } model.addAttribute("resource", resource); model.addAttribute("categoryId","resource"); return prefix+"/" + getTheme() + "/resource"; } /** * 搜索内容 * 目前仅支持文章标题模糊搜索 * * @param content * @param model * @return */ @GetMapping("/search") public String search(String content, Model model) { model.addAttribute("content", content); Article form = new Article(); form.setTitle(content.trim()); startPage(); List<Article> articles = articleService.selectArticleList(form); PageInfo pageInfo=new PageInfo(articles); model.addAttribute("total", pageInfo.getTotal()); model.addAttribute("pageNo", pageInfo.getPageNum()); model.addAttribute("pageSize", pageInfo.getPageSize()); model.addAttribute("totalPages", pageInfo.getPages()); model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage()); model.addAttribute("hasNext", pageInfo.isHasNextPage()); model.addAttribute("currentPage", pageInfo.getPageNum()); model.addAttribute("prePage", pageInfo.getPrePage()); model.addAttribute("nextPage", pageInfo.getNextPage()); model.addAttribute("navNums", pageInfo.getNavigatepageNums()); model.addAttribute("articleList",articles); return prefix+"/" + getTheme() + "/search"; } /** * 标签列表 * * @param tagId * @param model * @return */ @GetMapping("/tag/{tagId}") public String tag(@PathVariable("tagId") String tagId, Model model) { model.addAttribute("tagId", tagId); Tags tag=tagsService.selectTagsById(Long.valueOf(tagId)); if(tag!=null){ model.addAttribute("tagName", tag.getTagName()); } Article form = new Article(); form.setTag(tagId); model.addAttribute("pageUrl", "blog/tag/" + tagId); startPage(); List<Article> articles = articleService.selectArticleList(form); PageInfo pageInfo=new PageInfo(articles); model.addAttribute("total", pageInfo.getTotal()); model.addAttribute("pageNo", pageInfo.getPageNum()); model.addAttribute("pageSize", pageInfo.getPageSize()); model.addAttribute("totalPages", pageInfo.getPages()); model.addAttribute("hasPrevious", pageInfo.isHasPreviousPage()); model.addAttribute("hasNext", pageInfo.isHasNextPage()); model.addAttribute("currentPage", pageInfo.getPageNum()); model.addAttribute("prePage", pageInfo.getPrePage()); model.addAttribute("nextPage", pageInfo.getNextPage()); model.addAttribute("navNums", pageInfo.getNavigatepageNums()); model.addAttribute("articleList",articles); return prefix+"/" + getTheme() + "/tag"; } /** * 留言 * * @param model * @return */ @GetMapping("/siteMsg") public String comment(Model model) { model.addAttribute("categoryId", "siteMsg"); return prefix+"/" + getTheme() + "/siteMsg"; } @PostMapping("/article/view") @ResponseBody public AjaxResult articleView(HttpServletRequest request,String articleId){ if(StringUtils.isEmpty(articleId)){ return AjaxResult.error("系统错误!"); } String ip= IpUtils.getIpAddr(request); Integer n=articleViewCache.get(ip+"|"+articleId); if(n==null||n==0){ articleService.articleLook(articleId); articleViewCache.put(ip+"|"+articleId,1); return AjaxResult.success("浏览数+1"); }else{ articleViewCache.put(ip+"|"+articleId,n++); return AjaxResult.error("系统错误!"); } } @PostMapping("/article/upVote") @ResponseBody public AjaxResult articleUpVote(HttpServletRequest request,String articleId){ if(StringUtils.isEmpty(articleId)){ return AjaxResult.error("系统错误!"); } String ip= IpUtils.getIpAddr(request); Integer n=articleUpVoteCache.get(ip+"|"+articleId); if(n==null||n==0){ articleService.upVote(articleId); articleUpVoteCache.put(ip+"|"+articleId,1); return AjaxResult.success("点赞数+1"); }else{ articleUpVoteCache.put(ip+"|"+articleId,n++); return AjaxResult.success("已经点赞"); } }
ArticleController
/** * 文章管理Controller * * @author v:kaifaizixun * @date 2021-08-16 */ @Controller @RequestMapping("/cms/article") public class ArticleController extends BaseController { private String prefix = "cms/article"; @Autowired private IArticleService articleService; @Autowired private ITagsService tagsService; @Autowired private ISysConfigService configService; private String getEditorType(){ return configService.selectConfigByKey(CmsConstants.KEY_EDITOR_TYPE); } @RequiresPermissions("cms:article:view") @GetMapping() public String article() { return prefix + "/article"; } /** * 查询文章管理列表 */ @RequiresPermissions("cms:article:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(Article article) { startPage(); List<Article> list = articleService.selectArticleList(article); return getDataTable(list); } /** * 导出文章管理列表 */ @RequiresPermissions("cms:article:export") @PostMapping("/export") @ResponseBody public AjaxResult export(Article article) { List<Article> list = articleService.selectArticleList(article); ExcelUtil<Article> util = new ExcelUtil<Article>(Article.class); return util.exportExcel(list, "article"); }
ResourceController
/** * 资源Controller * * @author wujiyue * @date 2019-11-23 */ @Controller @RequestMapping("/cms/resource") public class ResourceController extends BaseController { private String prefix = "cms/resource"; @Autowired private IResourceService resourceService; @RequiresPermissions("cms:resource:view") @GetMapping() public String resource() { return prefix + "/resource"; } /** * 查询资源列表 */ @RequiresPermissions("cms:resource:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(Resource resource) { startPage(); List<Resource> list = resourceService.selectResourceList(resource); return getDataTable(list); } /** * 导出资源列表 */ @RequiresPermissions("cms:resource:export") @PostMapping("/export") @ResponseBody public AjaxResult export(Resource resource) { List<Resource> list = resourceService.selectResourceList(resource); ExcelUtil<Resource> util = new ExcelUtil<Resource>(Resource.class); return util.exportExcel(list, "resource"); }
6,数据表设计
系统核心数据表的设计如下所示:
/* Date: 21/04/2020 12:02:53 author:menggge */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for blog_theme -- ---------------------------- DROP TABLE IF EXISTS `blog_theme`; CREATE TABLE `blog_theme` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '主题名称', `code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '主题代码', `cover_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '封面图片', `create_time` datetime(0) DEFAULT NULL COMMENT '创建时间', `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of blog_theme -- ---------------------------- INSERT INTO `blog_theme` VALUES (1, 'Avatar响应式博客模版主题', 'avatar', '/images/cover/1561132050443308.jpg', '2019-12-21 08:55:00', 'ry'); INSERT INTO `blog_theme` VALUES (2, '葡萄资讯模板主题,葡萄内容管理系统模板主题', 'pnews', '/images/cover/201903051436106979.jpg', '2019-12-21 08:55:31', 'ry'); INSERT INTO `blog_theme` VALUES (3, '“pblog”个性博客模版主题,PT-CMS模版主题,免费下载', 'pblog', '/images/cover/pblog.jpg', '2019-12-21 08:55:58', 'ry'); -- ---------------------------- -- Table structure for cms_ad -- ---------------------------- DROP TABLE IF EXISTS `cms_ad`; CREATE TABLE `cms_ad` ( `ad_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '广告位ID', `ad_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '广告位编码', `ad_name` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '广告位名称', `width` smallint(6) DEFAULT NULL COMMENT '宽度', `height` smallint(6) DEFAULT NULL COMMENT '高度', `status` smallint(6) DEFAULT NULL COMMENT '状态', `user_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '创建人ID', `dept_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '部门ID', `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述', `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '创建人', `create_time` datetime(0) DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`ad_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of cms_ad -- ---------------------------- INSERT INTO `cms_ad` VALUES (1, 'main', '首页顶部', 1280, 38, 0, '1', '103', '测试', NULL, '2019-11-16 20:26:57'); -- ---------------------------- -- Table structure for cms_ad_material -- ---------------------------- DROP TABLE IF EXISTS `cms_ad_material`; CREATE TABLE `cms_ad_material` ( `id` bigint(11) NOT NULL AUTO_INCREMENT, `ad_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '广告位ID', `material_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '广告素材ID', `link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '链接', `sort` smallint(6) DEFAULT 255 COMMENT '排序', `hit` int(11) DEFAULT 0 COMMENT '点击数', `start_time` datetime(0) DEFAULT NULL COMMENT '开始时间', `end_time` datetime(0) DEFAULT NULL COMMENT '结束时间', `status` smallint(6) DEFAULT NULL COMMENT '状态', `use_his_id` int(11) DEFAULT NULL COMMENT '使用记录表ID', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for cms_album -- ---------------------------- DROP TABLE IF EXISTS `cms_album`; CREATE TABLE `cms_album` ( `album_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '相册ID', `album_name` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '相册名称', `user_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '创建人ID', `dept_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '部门ID', `album_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '相册类型', `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述', `create_by` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '创建人', `create_time` datetime(0) DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '创建时间', `audit_state` smallint(6) DEFAULT 0 COMMENT '审核状态', `code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '编码', `width` smallint(6) DEFAULT NULL COMMENT '宽度', `height` smallint(6) DEFAULT NULL COMMENT '高度', PRIMARY KEY (`album_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of cms_album -- ---------------------------- INSERT INTO `cms_album` VALUES ('2019111014175065994146', '首页banner', '3', '103', 'banner', NULL, 'yf', '2019-11-10 14:17:51', 1, 'main', 960, 320); INSERT INTO `cms_album` VALUES ('2019111014175065994147', '博客首页banner', '3', '103', 'banner', NULL, 'yf', '2019-11-19 10:47:24', 1, 'blog_index', 798, 256); -- ---------------------------- -- Table structure for cms_album_material -- ---------------------------- DROP TABLE IF EXISTS `cms_album_material`; CREATE TABLE `cms_album_material` ( `id` bigint(11) NOT NULL AUTO_INCREMENT, `album_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '专辑ID', `material_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '素材ID', `link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '链接', `sort` smallint(6) DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 69 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of cms_album_material -- ---------------------------- INSERT INTO `cms_album_material` VALUES (57, '2019111014175065994146', '2019111009322629296151', NULL, 1); INSERT INTO `cms_album_material` VALUES (58, '2019111014175065994146', '2019111009381073394848', NULL, 2); INSERT INTO `cms_album_material` VALUES (63, '2019111014175065994147', '2019111009322629296151', NULL, 1); INSERT INTO `cms_album_material` VALUES (64, '2019111014175065994147', '2019111009381073394848', NULL, 2); INSERT INTO `cms_album_material` VALUES (67, '2019111014175065994147', '2019111009382058929539', NULL, 1); INSERT INTO `cms_album_material` VALUES (68, '2019111014175065994146', '2019111009382058929539', NULL, 1); -- ---------------------------- -- Table structure for cms_article -- ---------------------------- DROP TABLE IF EXISTS `cms_article`; CREATE TABLE `cms_article` ( `id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键,文章ID', `yhid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '作者', `article_region` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '1' COMMENT '推荐到哪个专区。比如:头条、精选、最新、热门、评论最多等', `author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '原文作者', `publish_time` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '发布时间', `title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '文章标题', `keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '关键词', `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '摘要', `cover_image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '封面图片', `article_model` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '文章模型', `copy_flag` smallint(6) DEFAULT 0 COMMENT '转载标志', `category_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '频道栏目ID', `personal_category` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '个人分类,多个用逗号分隔', `link` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '原始链接', `static_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '静态化后url', `tags` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '标签', `hit` int(11) DEFAULT 0 COMMENT '点击数', `reply_num` int(11) DEFAULT 0 COMMENT '回复数', `up_vote` int(11) DEFAULT 0 COMMENT '点赞数', `down_vote` int(11) DEFAULT 0 COMMENT '差评数', `hot_flag` smallint(6) DEFAULT 0 COMMENT '热点标志', `new_flag` smallint(6) DEFAULT 0 COMMENT '新增标志', `comment_flag` smallint(6) DEFAULT 0 COMMENT '是否开启评论', `top_flag` smallint(6) DEFAULT 0 COMMENT '置顶标志', `favourite` int(11) DEFAULT 0 COMMENT '收藏数', `mission_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '趴取任务的ID', `template_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '生成静态页面的模板(cms_template表中的name)', `create_time` datetime(0) DEFAULT NULL COMMENT '创建时间', `update_time` datetime(0) DEFAULT NULL COMMENT '更新时间', `available` smallint(6) DEFAULT 1 COMMENT '状态标志', `deleted` smallint(6) DEFAULT 0 COMMENT '删除标志', `extra1` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '附加字段1', `extra2` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '附加字段2', `extra3` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '附加字段3', PRIMARY KEY (`id`) USING BTREE, INDEX `index_title`(`title`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
7,赠人玫瑰,手留余香
前面还整理了大量的优质的项目,帮助小伙伴快速学习。总有你需要的。
系统的视频教程和源码全部开源了,强烈建议收藏,不然以后找不到了。求个三连,更多的更新ing:
本文章系统完整的源码和大量优质项目源码获取:
1,点击下面,关注弹出的图片,
2,回复:活动
点击 👇🏻👇🏻👇🏻
-
有奖征集活动系列——《iOS游戏编程之旅》已结束
2013-03-21 11:00:06为CSDN博主们搭建技术交流分享的平台,为活跃社区气氛,CSDN博客频道特携手CSDN博客专家、《iOS游戏编程之从零开始-Cocos2dx与cocos2d引擎开发》图书作者李华明(Himi),共同举办有奖征集活动系列——【iOS游戏编程...为了帮助广大iOS开发者更好地了解和学习开发技术,为CSDN博主们搭建技术交流分享的平台,为活跃社区气氛,CSDN博客频道特携手CSDN博客专家、《iOS游戏编程之从零开始-Cocos2dx与cocos2d引擎开发》图书作者李华明(Himi),共同举办有奖征集活动系列——【iOS游戏编程之旅】。参加活动发表您的技术心得或谈谈您学习iOS开发的收获,就有机会获得丰厚奖品哦!亲爱的CSDN博主们,一起来畅享IOS编程之旅吧~~~
【活动时间】2013年3月21日-2013年4月15日
【活动规则】
1、活动期间,在CSDN博客中发表一篇与本次活动主题相关的文章,并将文章的标题和链接发到本公告的评论中。
2、博文总字数不少于300字。
3、文章必须是原创内容,如被举报抄袭则取消参赛资格
4、本活动最终获奖名单统计以回复在本文评论区域的博文标题及链接为准。(不按要求填写者视为自动放弃)
5、CSDN网站提供《iOS游戏编程之从零开始-Cocos2dx与cocos2d引擎开发》部分章节的在线阅读。
Himi 著作《iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发》★(试读4&5&6章节)—>免费下载★
获奖名单如下:请以下获奖博主通过私信的方式将您的邮寄地址、联系方式、新浪微博及微信账号发送给我们,为我们能尽快的发放奖品:),下载积分已发放,请查收。
<
标 题 链 接 iOS开发历程系列--《我与ios编程的相遇与相识》 http://blog.csdn.net/guochuanqi/article/details/8735098 移动开发--iOS开发小代码总结. http://blog.csdn.net/bokeceshi/article/details/8750486 总结iOS 开发的几个常用代码 http://blog.csdn.net/xiaoyiyi831/article/details/8755619 [cocos2dx开发技巧3]工具CocosBuilder的使用--Box2d http://blog.csdn.net/stalendp/article/details/8757660 独立开发者——我和cocos2d-x的故事 http://blog.csdn.net/ab_123321/article/details/8701127
最新提交博文
标 题 链 接 iOS开发历程系列--《我与ios编程的相遇与相识》 http://blog.csdn.net/guochuanqi/article/details/8735098 移动开发--iOS开发小代码总结. http://blog.csdn.net/bokeceshi/article/details/8750486 IOS5(自动引用计数器) 的属性介绍. http://blog.csdn.net/mengaitrue/article/details/8751819 总结iOS 开发的几个常用代码 http://blog.csdn.net/xiaoyiyi831/article/details/8755619 [cocos2dx开发技巧3]工具CocosBuilder的使用--Box2d http://blog.csdn.net/stalendp/article/details/8757660 [cocos2dx开发技巧2]工具CocosBuilder的使用--集成 http://blog.csdn.net/stalendp/article/details/8756467 iOS 开发中的几个小知识点 http://blog.csdn.net/shenghuo525/article/details/8759624
【评奖规则】
本次活动将由《iOS游戏编程之从零开始-Cocos2dx与cocos2d引擎开发》的作者李华明和CSDN博客频道运营编辑共同评选出五篇优秀文章获奖。
【奖品设置】
优秀文章奖:
- 李华明亲笔签名版的《iOS游戏编程之从零开始-Cocos2dx与cocos2d引擎开发》一本。
- CSDN下载频道15个下载积分。(下载积分不重复得奖)
- 获奖的优秀文章推荐到CSDN博客首页。
- CSDN2013精美台历一本。
阳光普照奖:所有参与活动的有效博主都将获赠CSDN下载频道10个下载积分。
【iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发】介绍:
本书是作者继《android游戏编程之从零开始》热销之后编写的又一本、基于cocos2d—x 2.x和cocos2d—iphone版本,讲述ios平台游戏开发的新作。
全书分为两个部分共11章,内容主要包括cocos2d—x引擎游戏开发的基础,常用的类、方法及其使用示例,游戏开发的基础知识、方法和技巧,跨平台游戏的开发技巧,并以一个飞行射击游戏实战项目的分析详解游戏开发过程;同时,还简单介绍了cocos2d—iphone引擎的使用及其项目开发注意事项。随书光盘包括本书所有的示例项目代码。
《iOS游戏编程之从零开始—cocos2d-x与cocos2d引擎游戏开发(配光盘)》适合想要学习iOS平台游戏开发的初学者,以及初中级iOS平台游戏开发人员,也适合作为iOS游戏培训的教材和高等院校相关专业师生的教学参考书。
作者简介:
博客地址:http://blog.csdn.net/xiaominghimi
微博地址:http://weibo.com/317426208
图书信息:http://baike.baidu.com/view/10210843.htm
移动开发专家,专注于移动开发领域,多年 J2me、Android、iOS 平台游戏与软件开发经验;
2010 年年初与清华出版社签约创作《Android游戏编程之从零开始》一书,此书于2011 年成功面市,受到业界人士的关注与支持;2012 年年初与清华出版社签约创作《iOS游戏编程之从零开始—Cocos2d-x与cocos2d引擎游戏开发》一书,此书于2013 年成功面市,再次受到业界人士的赞赏与支持;
获得2012CSDN年度博客之星荣誉。
还等什么~~~赶快来分享您的编程之旅吧,我们等着你哦!
本次活动的最终解释权归CSDN博客频道所有,如果您有任何疑问或建议可直接发送邮件至blog@csdn.net。
-
【UML建模】(5) UML建模之活动图
2022-03-12 13:43:52活动图也挺常用的您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 2. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当,持续更新中 。python爬虫入门进阶
❤️ 3. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 4. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
😁 5. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
关注下方公众号,众多福利免费嫖;加我VX进群学习,学习的路上不孤单
活动图的介绍
活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。
活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间的转移的控制流,并且它采用了一种着重逻辑过程的方式来叙述。主要元素
活动图主要动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等元素。
动作和活动
一、动作代表一个原子操作,操作可能是任何合法的行为。
动作可以是并且不限于:创建或删除对象、发送消息、调用接口、甚至数学运算以及返回表达式的求值结果。
如下图所示就是各种类型的动作(Action):- 普通的原子操作(Atomic),
- 调用接口(Call Behavior),
- 调用操作(Call Operation),
- 接受事件(Accept Event),
- 接受时间事件(Accept Time Event),
- 发送信号(Send Signal)
- 输入变量(Write Variable)
- 返回表达式的求值结果(Value Specification)
- 创建对象(Create Object)
- 删除对象(Destroy Object)
- 其他(Other)
二、活动节点
活动节点是一系列动作,主要用于实现动作序列的简化和动作图的嵌套。活动节点在图例上的表达方式和动作相同,其图标表示如下图所示:
开始和终止
活动图中的开始和终止是两个标记符号,分别标记了业务流程的起始位置和结束位置。
活动图中有且仅有一个开始标记,一般至少有一个结束标记(死循环的情况下可能没有结束标记)。- 开始的图标
- 结束的图标
控制流
控制流是活动图中用于标示控制路径的一种符号,它负责当一个动作或活动节点执行完毕后,将执行主体从当前已完毕的节点转移到下一个动作或者活动节点。
控制流从活动图的开始标记开始运行,经过顺序、分支等结构引导者各个动作的连续执行。
判断节点
判断节点是活动图中进行逻辑判断,并创造分支的一种方法。它有一个进入控制流和至少两个导出控制流。
判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。
分叉(fork)和汇合(join)
分叉节点是从线性流程进入并发过程的过渡节点,它拥有一个进行控制流和多个离开控制流。分叉节点的所有离开流程是并发关系,即分叉节点使执行过程进入多个动作并发的状态。
汇合节点是将多个并发控制流收束回同一流程的节点标记,功能上与合并节点类似。结合节点的各个进入控制流间具有并发关系,它们在系统中同时运行。
泳道
泳道是将活动图中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。除了以上的对线性流程进行分区以外,使用泳道表示法还可以更清晰地表示并发。
案例:在线填写请假条,三天以下,直接上级审核即可,三天以上需要总监同意和人事批准,以上情况都通过,即可请假。
发送信号与接收信号
发送信号一种操作,可以将消息或信号发送给另一个活动,或同一活动中的并发线程。消息的类型和内容可以通过操作的标题或其他注释中指定的信息看出。
活动图的建模技术
对业务流程建模
- 选择一个将要描述的重要过程,过程中尽量涉及数量少但是关键的对象或参与者,将无关或关联很小的对象排除在外。
- 在总体业务流程中提取关键的动作或活动节点,并且将他们与对象或者参与者相对应;若发现有些动作无法对应,则考虑动作是否在这个流程中起关键作用,或者是否遗漏了某些对象或参与者。
- 规定初始状态:确定过程可能的结束位置,为活动图添加开始和结束节点。
- 从业务流程的开始节点开始,把过程中发生的动作按事件顺序排列,依次把这些动作添加到活动图中。
- 把局部的过于复杂的动作序列加以总结,绘制成一个活动节点;如果需要,把这个动作序列使用另外的活动图进行建模。
- 找出连接这些动作和活动节点的控制流,并且准确找到过程中的分支、分叉、合并与结合节点。
- 如果业务流程中有一些关键对象的值或状态需要加以描述,使用对象流添加这些对象在某些动作或活动节点前后的状态描述。
对用例交互建模
- 选择概念用例–即从系统对客户提供的各种服务中确定出一个关键业务,这个关键业务可能是在多个相同或者不同的情况下反复出现,或者是系统需要提供的一个关键服务或进行的关键操作。
- 对于当前选择的用例,通过事件流进行顺序叙述,并找出所有的参与者主动动作,把这些动作整理成动作或或活动节点。
- 把参与者和系统划分为两个泳道,如果有除了主参与者以外的其他参与者,也为它们分别划分泳道。
- 把活动节点纵向按照事件发生顺序,横向按照参与角色和系统角色对应填入活动图中。
综合例子
总结
本文详细介绍了UML活动图的信息。
参考
粉丝专属福利
想进学习群请添加VX: wei158556
- 回复【python】:即可获取50G的python学习干货
- 回复【爬虫】:即可免费获取全面完善的爬虫资料
- 回复【数据分析】:即可免费获取全面完善的爬虫资料,超值
- 回复【java】:即可获得java全套资料以及面试题
- 回复【软考】:即可获得软考资料
- 回复【脱单】: 即可获得脱单资料
-
手把手教你设计:拼团活动
2018-08-03 09:56:34刚好最近我又优化了一遍拼团的活动,所以再写多一篇关于具体如何设计拼团活动的文章(含原型图),跟大家探讨一下。 数据库表单 大家不要纳闷,为什么产品设计要说到数据库,对于拼团活动来说,数据库的设计关乎到... -
如何实现微信上制作活动链接
2021-01-07 11:26:31随着互联网的快速发展,无论是房产、装修检查、家居、家店还是商城、餐饮等行业,商家们都会用到活动预约报名,线上活动链接的制作不仅成本低,而且受众也广,可以达到快速宣传的效果。相信很多小伙伴们在微信朋友圈... -
PHP 获取网页标题(title)、描述(description)、关键字(keywords)等meta信息
2018-06-22 00:55:10米扑导航在收集网站、验证网站时,需要采集网页标题(title)、描述(description)、关键字(keywords)等meta信息本文将其整理出来,总结的经验分享给大家,欢迎交流、斧正、改进。本文原文转自米扑博客:PHP 获取网页... -
蓄力计划活动说明
2021-04-07 16:03:09活动时间 CSDN蓄力计划·蓄力能量榜 CSDN蓄力计划获奖者权益 参与条件 参与方式 上榜条件 专栏/视频要求 一、付费专栏 二、视频教程 推荐选题 在这个知识付费时代,如何让优质的付费内容展现在读者面前,... -
带上数据表,与大家分享拼团活动该如何设计
2020-04-09 18:12:37我们都知道,电商系统促销的手段基本会有这些:积分,优惠券,会员折扣,签到、预售、砍价、秒杀。除了这些,还有一种魔力式的手段:拼团,为什么这么说呢...从以下创建拼团活动来分析,主要还是要结合电商系统的业务需... -
CSDN博客频道“移动开发那点事”——主题征文活动(已结束)
2012-10-10 10:10:57借此,CSDN博客频道与国内第二大IT技术社区ITeye共同举办10月“移动开发那点事”——主题征文活动。发博文谈谈你与移动开发之间的故事或者参与移动大会后的感想,即可参与活动。你与移动开发何时结下情缘?你对2012... -
CSDN博客&论坛——“我的2013”年度征文活动火爆进行中!【已结束】
2013-12-17 15:35:562013年终总结 【奖品发放】 1、活动结束后将由CSDN博客频道运营与论坛运营在此次所有参赛文章中选20篇最佳的文章,分别发放特等奖、一等奖、二等奖、三等奖及阳光普照奖。 2、2014年1月9日在CSDN博客和论坛频道公布... -
3天(从策划到上线传播)获客10w+| 小程序拉新活动范例
2018-11-01 18:10:131 我们为什么要在1024这个活动1) 蹭1024程序员活动热点随着节日的到来,微信指数日环比增长了644.05%,要抓住这波增长红利 2) 蹭网上吐槽互联网穿衣指南的热点吓脑湿公众号的《互联网公司时尚穿搭指南》引爆朋友... -
CSDN博客频道“移动开发之我见”主题征文活动(已结束)
2012-05-29 11:40:00为继续活跃CSDN博客频道移动开发版块的技术氛围,CSDN博客频道携手图灵教育举办6月“移动开发之我见”主题征文活动。发博文谈谈你对移动开发的见解或畅想,即可参与活动,将有机会获赠最新IT类畅销图书!此次活动的... -
使用vue+elementUI编写运营活动生成工具
2017-06-26 14:40:35前端切图的对象,很大一部分是公司营销活动类和纯展示类的页面,这一类页面通常有以下特点: 1.页面:切片(cuts的添加和删除)、功能区域(map、area或absolute操作对象)、模块(include的固定代码)、组件... -
Android开发 Activity(活动)的启动顺序入出栈
2021-08-30 14:20:51实现,带有标题栏左边的箭头返回键,补说:返回到第一个活动按下返回键返回到主屏障 二、项目 三、理解 1.简单的说,如果有3个活动的入栈顺序为:活动A→活动B→活动C,则它们的出栈 顺序将变为:活动C→活动... -
“第一次亲密接触”——项目遇到的问题有奖征文活动(已结束)
2012-09-07 13:10:47为继续活跃CSDN博客频道广大博友的互动,CSDN博客频道特举办9月“第一次亲密接触”——项目遇到的问题有奖征文活动。发博文谈谈你第一次接触项目时遇到的问题,即可参与活动,将有机会获赠最新IT类畅销图书或程序员... -
第二十届全国中小学电脑制作活动通知
2019-02-11 18:37:05全国中小学电脑制作活动 指 南 全国中小学电脑制作活动组织委员会编 二○一八年十二月 目 录 一、人员范围 二、活动内容 三、“数字创作评比”项目设置、相关要求、评比指标及办法 四、“创客竞赛”项目设置... -
自定义日期选择控件实现单个DatePicker选择起始和结束日期
2017-04-06 12:01:54自定义日期选择控件实现单个DatePicker选择起始和结束日期 应应用需求,一个日期选择控件要完成开始日期和结束日期的选择,并且结束日期未选择时,开始日期时可以更改的效果图如下: -
有奖征集活动系列——【HTML5游戏编程之旅】已结束
2013-05-08 13:51:46为CSDN博主们搭建技术交流分享的平台,为活跃社区气氛,CSDN博客频道特携手HTML5开发专家、《HTML5 Canvas游戏开发实战》图书作者张路斌,共同举办有奖征集活动系列——【HTML5游戏编程之旅】。参加活动发表您的技术... -
Delphi根据进程PID等待进程结束或者结束进程
2017-10-25 14:57:09本文描述的是已知窗体标题,先获取某个程序的进程PID(即在任务管理器中的 进程ID),实现等待进程结束或者直接杀掉进程的方法。因为网络上直接结束进程的方法很多,本文不做深究,主要是等待进程结束。 使用以下... -
【无标题】科大星云诗社动态20201206
2022-01-21 23:45:58一二九长跑结束啦,云酱(星云诗社酱[em]e242[/em])看见各位在西区奔跑的英姿真的是感慨万千啊 大家也都进行快乐的游戏并得到纪念品了吧 这充满意义的活动 科大才子自然是诗兴大发啊 赋诗两首 1. 纪念一二... -
c# 获取当前活动窗口句柄,获取窗口大小及位置
2018-04-26 13:48:21lpszWindow:指向一个指定了窗口名(窗口标题)的空结束字符串。如果该参数为 NULL,则为所有窗口全匹配。返回值:如果函数成功,返回值为具有指定类名和窗口名的窗口句柄。如果函数失败,返回值为NULL。 C#中使用... -
js 使用前端导出excel,设置标题和页脚,实现特殊表格需求
2017-09-12 11:02:28// 结束excel进程,退出完成 // window.setInterval("Cleanup();",1); idTmr = window.setInterval("Cleanup();", 1); } }else{ tableToExcel(tableid); }; }; function Cleanup() { ... -
概念理解(一)关键路径、项目活动图、前导图、箭线图
2014-11-05 15:36:33关键路径,通常是决定项目工期的活动序列。它是项目中最长的路径, -
关于Android Service真正的完全详解,你需要知道的一切
2016-10-07 08:11:30ok~,关于Service在清单文件的声明我们先了解这些就行,接下来分别针对Service启动服务和绑定服务进行详细分析 3.Service启动服务 首先要创建服务,必须创建 Service 的子类(或使用它的一个现有... -
流程引擎动态任务实现(收发文流程案例)
2020-06-22 17:27:03移交归档 流程结束。 3. 收发文需求特色 上述的收发文流程,需要工作流引擎具有如下几个能力。 1、任务节点定义人、办理能力。 2、流程部分区间支持排列组合产生任务的能力。(领导阅、主办、协办、承办)可以随便... -
8000字干货:那些很厉害的人是怎么构建知识体系的
2019-09-29 11:18:27然后准备了清洗、消炎、包扎要用的各种物品,接下来消炎、拔箭、敷药、包扎,最后又叮嘱了饮食禁忌、日常护理、活动建议、复诊、常见并发症和应对策略等等事情,才结束治疗。结果这位士兵很快痊愈了。 D1缺乏诊治...