作者:IT跃迁谷毕设展



文章目录

  • 课堂考勤签到打卡小程序-系统简介
  • 课堂考勤签到打卡小程序-技术选型
  • 课堂考勤签到打卡小程序-图片展示
  • 课堂考勤签到打卡小程序-代码展示
  • 课堂考勤签到打卡小程序-Controller
  • 课堂考勤签到打卡小程序-Service
  • 课堂考勤签到打卡小程序-DAO
  • 课堂考勤签到打卡小程序-结语


课堂考勤签到打卡小程序-系统简介

尽管随着时代的迁移,计算机技术的发展越来越快,但其核心仍旧不变,其目的都是为了给人们提供更好的生产、生活服务,本文基于高校课堂签到场景,为解决课堂签到时间长,签到准确率不高等问题,设计了一个课堂考勤签到打卡小程序。
相较于传统的课堂考勤签到打卡小程序,小程序签到不仅方便快捷,而且准确率高。本次研究目的是为了做出一个课堂考勤签到打卡小程序,系统的开发主要使用用户为大学教师与学生,使用场景为大学课堂,面向当前大学课堂的日常考勤开发出一个完整的微信小程序,满足学生课堂签到打卡,以及老师查看及管理签到及未签到学生名单,以及课堂补签等基本功能。

课堂考勤签到打卡小程序-技术选型

开发语言:Java
数据库:MySQL
系统架构:B/S
后端框架:SpringBoot(Spring+SpringMVC+Mybatis) / SSM(Spring+SpringMVC+Mybatis)
前端:微信小程序+uniapp+Vue

课堂考勤签到打卡小程序-图片展示

spring boot 接口签名 随机数验证 springboot签到_小程序

spring boot 接口签名 随机数验证 springboot签到_后端_02


spring boot 接口签名 随机数验证 springboot签到_后端_03


spring boot 接口签名 随机数验证 springboot签到_后端_04


spring boot 接口签名 随机数验证 springboot签到_spring boot_05


spring boot 接口签名 随机数验证 springboot签到_微信小程序_06


spring boot 接口签名 随机数验证 springboot签到_后端_07


spring boot 接口签名 随机数验证 springboot签到_小程序_08


spring boot 接口签名 随机数验证 springboot签到_后端_09

spring boot 接口签名 随机数验证 springboot签到_vue_10


spring boot 接口签名 随机数验证 springboot签到_vue_11


spring boot 接口签名 随机数验证 springboot签到_小程序_12


spring boot 接口签名 随机数验证 springboot签到_spring boot_13

课堂考勤签到打卡小程序-代码展示

课堂考勤签到打卡小程序-Controller

/**
 * 课堂考勤签到打卡小程序-签到记录
 */
@RestController
@RequestMapping("/qiandaojilu")
public class QiandaojiluController {
    @Autowired
    private QiandaojiluService qiandaojiluService;

		/**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,QiandaojiluEntity qiandaojilu, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoshi")) {
			qiandaojilu.setJiaoshigonghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("xuesheng")) {
			qiandaojilu.setXuehao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<QiandaojiluEntity> ew = new EntityWrapper<QiandaojiluEntity>();
		PageUtils page = qiandaojiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qiandaojilu), params), params));
        return R.ok().put("data", page);
    }

		/**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody QiandaojiluEntity qiandaojilu, HttpServletRequest request){
    	qiandaojilu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qiandaojilu);
    	qiandaojilu.setUserid((Long)request.getSession().getAttribute("userId"));

        qiandaojiluService.insert(qiandaojilu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody QiandaojiluEntity qiandaojilu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(qiandaojilu);
        qiandaojiluService.updateById(qiandaojilu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        qiandaojiluService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

课堂考勤签到打卡小程序-Service

/**
 * 课堂考勤签到打卡小程序-签到记录
 */
@Service("qiandaojiluService")
public class QiandaojiluServiceImpl extends ServiceImpl<QiandaojiluDao, QiandaojiluEntity> implements QiandaojiluService {
	

    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<QiandaojiluEntity> page = this.selectPage(
                new Query<QiandaojiluEntity>(params).getPage(),
                new EntityWrapper<QiandaojiluEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<QiandaojiluEntity> wrapper) {
		  Page<QiandaojiluView> page =new Query<QiandaojiluView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<QiandaojiluVO> selectListVO(Wrapper<QiandaojiluEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public QiandaojiluVO selectVO(Wrapper<QiandaojiluEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<QiandaojiluView> selectListView(Wrapper<QiandaojiluEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public QiandaojiluView selectView(Wrapper<QiandaojiluEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}


}

课堂考勤签到打卡小程序-DAO

/**
 * 课堂考勤签到打卡小程序-签到记录
 */
public interface QiandaojiluDao extends BaseMapper<QiandaojiluEntity> {
	
	List<QiandaojiluVO> selectListVO(@Param("ew") Wrapper<QiandaojiluEntity> wrapper);
	
	QiandaojiluVO selectVO(@Param("ew") Wrapper<QiandaojiluEntity> wrapper);
	
	List<QiandaojiluView> selectListView(@Param("ew") Wrapper<QiandaojiluEntity> wrapper);

	List<QiandaojiluView> selectListView(Pagination page,@Param("ew") Wrapper<QiandaojiluEntity> wrapper);
	
	QiandaojiluView selectView(@Param("ew") Wrapper<QiandaojiluEntity> wrapper);
	
}

课堂考勤签到打卡小程序-结语

💕💕如果大家有任何疑虑,欢迎在下方位置详细交流。