java 實現簽到功能及資料庫表設計

2021-08-27 18:30:13 字數 703 閱讀 1610

前言:公司積分**增加簽到功能,如下:

每次簽到+1分,連續簽到7天,第7天多+1分。第8天+1,連續簽到7天後,再多+1分。

若每個使用者每天簽到資料直接累計,資料庫資料將成倍增加,故每個使用者只維持一條簽到資料。判斷是否是連續簽到的話,根據continue_sign,連續簽到最大值為6,第七天重置為0

根據userid查詢,

select * from t_sign where user_id='1111';

若使用者第一次簽到,直接插入資料,

insert  into t_sign(id,user_id,mark,create_time,update_time,continue_sign,count) values ('1','111','生日快樂','2018-09-10 10:20:41','2018-09-10 10:20:41',1,1);

若非第一次簽到,更新簽到時間(update_time)                

update t_sign set update_time='2018-09-10 10:20:41' where id='111';

若不是第一次簽到,還需判斷簽到時間是否間隔大於一天

若是連續簽到,判斷是否為連續七天簽到,且將連續簽到置為0

若不是連續簽到,更新簽到時間,將連續簽到+1

public class sign implements serializable

Oracle資料庫關閉歸檔功能及刪除歸檔日誌方法

注意 資料庫歸檔功能的開啟和關閉需重啟例項。一 查詢資料 庫歸檔是否開啟 返回值是archivelog則開啟了歸檔模式 noarchivelog是未開啟。conn sys sys orcl as sysdba select log mode from v database 二 歸檔日誌日 空間使用 ...

搜尋功能實現資料庫like

like用來匹配一部分的,任何字元出現任何位置區分大小寫。select from table where col like a 檢索以a結尾的內容 select from table where col like a 檢索包含a的內容 select from table where col like...

MySQL資料庫表分割槽功能詳解

1 什麼是表分割槽?mysql資料庫中的資料是以檔案的形勢存在磁碟上的,預設放在 mysql data下面 可以通過my.cnf中的datadir來檢視 一張表主要對應著三個檔案,乙個是frm存放表結構的,乙個是myd存放表資料的,乙個是myi存表索引的。如果一張表的資料量太大的話,那麼myd,my...