SSM框架下打卡签到增加积分功能的实现
生活随笔
收集整理的這篇文章主要介紹了
SSM框架下打卡签到增加积分功能的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SSM框架下打卡簽到增加積分功能的實現
- jsp頁面
- Controller層
- Service層
- 目錄結構
- UserService代碼
- UserServiceImpl代碼
- Dao層
- registeredDao 代碼
- registeredDaoImpl 代碼
- Mapper代碼
- 目錄結構
- 代碼
jsp頁面
ssm框架在之前的文章里已經介紹過了這里說一下打卡功能的實現
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <!-- 首頁,用戶已登陸 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html lang="en"> <head><meta charset="UTF-8"><title>簽到打卡</title> </head> <body><div ><style type="text/css">*{margin:0;padding:0;list-style-type:none;}a,img{border:0;text-decoration:none;}/*今日簽到*/.singer{border:1px solid #DCDBDB;padding:10px;height:45px;line-height:45px;width:290px;margin:20px auto;}.singer_l_cont, .singer_r_img{float:left;}.singer_l_cont{width:145px;background:url(../../images/sing_per.gif) no-repeat left 12px;text-indent:23px;font-size:12px;}.singer_r_img{display:block;width:114px;height:52px;background:url(../../images/sing_week.gif) right 2px no-repeat;vertical-align:middle;float:right;*margin-bottom:-10px;}.singer_r_img:hover{background-position:right -53px;text-decoration:none;}.singer_r_img span{margin-left:14px;font-size:16px;font-family:'Hiragino Sans GB','Microsoft YaHei',sans-serif !important;font-weight:700;color:#165379;}.singer_r_img.current{background:url(../../images/sing_sing.gif) no-repeat 0 2px;}</style> <table ><tr><td> <div class="singer"><div class="singer_l_cont"><span>每天簽到贏取PK幣</span></div><div class="singer_r_r"><a class="singer_r_img" href="#"><span id="sing_for_number"></span></a></div></div><!--singer end--></td><td><div class="tcoin"><span ><font color="#ffd700" id="jingbi">金幣:${money}</font></span></div></td></tr> </table><script type="text/javascript" src="../../js/jquery-1.4.2.min.js"></script><script type="text/javascript">/*簽到模塊日期捕捉:*/function week(){var objDate= new Date();var week = objDate.getDay();switch(week){case 0:week="周日";break;case 1:week="周一";break;case 2:week="周二";break;case 3:week="周三";break;case 4:week="周四";break;case 5:week="周五";break;case 6:week="周六";break;}$("#sing_for_number").html( week );}$(document).ready(function(){week();$(".singer_r_img").click(function(){$(this).addClass("current");//這里使用了Ajax使得簽到后還保持登錄狀態var url="<%=request.getContextPath()%>/daka.html"; // 請求的url$.post(url,{'name':${name}},function (data){if(data=="true"){alert("已簽到,請不要重復簽到")}else {location.reload();//刷新頁面,因為簽到后金幣數量改變需要刷新頁面才能正確顯示alert("簽到成功")}});})})</script></div></body> </html>Controller層
package com.mooke.controller;import com.mooke.entity.User; import com.mooke.service.Impl.UserServiceImpl; import com.mooke.service.UserService; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile;import javax.servlet.ServletContext; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.io.File; import java.util.UUID;@Controller public class IndexController {@Autowiredprivate UserServiceImpl userService;//簽到驗證@RequestMapping("daka.html")@ResponseBodypublic String daka (HttpServletRequest request, HttpServletResponse response, Model model) {// 接收前端輸入的用戶名String name = request.getParameter("name");User userEntiy = new User();userEntiy.setName(name);//這里將今天的日期和數據庫存在的上次簽到日期進行比對如果今天日期等于上次簽到日期返回ture,使得無法再次簽到,如果不等于則可以簽到Boolean userName=userService.daka("UsrMapper.daka",userEntiy);if(userName){return "true";}//在比對時間后返回false,此處更新打卡日期及金幣數量,此時實體類中金幣數量已經更改userService.updatedaka("UsrMapper.updatedaka",userEntiy);return "false";} }Service層
目錄結構
UserService代碼
package com.mooke.service;import com.mooke.entity.User; import java.util.Map; import java.util.List;public interface UserService {boolean updatedaka(String id, User userEntity); boolean daka(String id, User userEntity); }UserServiceImpl代碼
package com.mooke.service.Impl;import com.mooke.dao.Impl.registeredDaoImpl; import com.mooke.entity.User; import com.mooke.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;import java.util.List; import java.util.Map;@Service @Transactional public class UserServiceImpl implements UserService {@Autowiredprivate registeredDaoImpl registeredDao;@Overridepublic boolean daka(String id, User userEntity){return registeredDao.daka(id,userEntity);};@Overridepublic boolean updatedaka(String id, User userEntity){return registeredDao.updatedaka(id,userEntity);};}Dao層
registeredDao 代碼
package com.mooke.dao;import com.mooke.entity.User;import java.util.List; import java.util.Map;public interface registeredDao {boolean daka(String id, User userEntity);boolean updatedaka(String id, User userEntity);}registeredDaoImpl 代碼
package com.mooke.dao.Impl;import com.mooke.dao.registeredDao; import com.mooke.entity.User; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.support.SqlSessionDaoSupport; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository;import java.util.List; import java.util.Map;@Repository public class registeredDaoImpl extends SqlSessionDaoSupport implements registeredDao {@Autowiredpublic void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory){super.setSqlSessionFactory(sqlSessionFactory);}@Overridepublic boolean daka(String id,User userEntity){if( getSqlSession().selectOne(id, userEntity)!=null) return true;return false;};@Overridepublic boolean updatedaka(String id, User userEntity){if( getSqlSession().update(id, userEntity)>0)return true;return false;};}Mapper代碼
目錄結構
代碼
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="UsrMapper"><select id="daka" parameterType="com.mooke.entity.User" resultType="com.mooke.entity.User">select*from userwherename =#{name}ANDqiandao = CURDATE()</select><update id="updatedaka" parameterType="com.mooke.entity.User" >update usersetqiandao = CURDATE(),money = money+5wherename = #{name}</update></mapper>仍有疑問可以加QQ275375496討論
總結
以上是生活随笔為你收集整理的SSM框架下打卡签到增加积分功能的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PCB拼板
- 下一篇: 普通Kriging算法笔记