一次简单的代码封装经历
最近公司項目做了一個功能模塊里面有個需求,是要求做一個時間篩選的操作,包括今天,昨天,本周,近七天,半月,上月,自定義這個選項,剛剛開始寫的代碼比較low逼,都是寫在控制器controller里面,具體代碼如下:
if("0".equals(searchDate)){//今天
bookingManageList =bookingManageService.getBoookingManageList(status,todayStart,todayEnd, null, keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,todayStart,todayEnd,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status,todayStart,todayEnd, null, keyWord, pageNum, pageSize,storeId,drawer);
}
if("1".equals(searchDate)){//昨天
bookingManageList =bookingManageService.getBoookingManageList(status, yesterdayStart,yesterdayEnd,null,keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,yesterdayStart,yesterdayEnd,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status, yesterdayStart,yesterdayEnd,null,keyWord, pageNum, pageSize,storeId,drawer);
}
if("2".equals(searchDate)){//本周
bookingManageList =bookingManageService.getBoookingManageList(status, startTimeWeek, endTimeWeek, null, keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,startTimeWeek,endTimeWeek,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status, startTimeWeek, endTimeWeek, null, keyWord, pageNum, pageSize,storeId,drawer);
}
if("3".equals(searchDate)){//近7天
bookingManageList =bookingManageService.getBoookingManageList(status, DateUtil.formatDate(recentSevenDay,"yyyy-MM-dd")+" 00:00:00",yesterdayEnd, null, keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,DateUtil.formatDate(recentSevenDay,"yyyy-MM-dd")+" 00:00:00",yesterdayEnd,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status, DateUtil.formatDate(recentSevenDay,"yyyy-MM-dd")+" 00:00:00",yesterdayEnd, null, keyWord, pageNum, pageSize,storeId,drawer);
}
if("4".equals(searchDate)){//本月
bookingManageList =bookingManageService.getBoookingManageList(status, startTimeMonth, endTimeMonth, null,keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,startTimeMonth,endTimeMonth,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status, startTimeMonth, endTimeMonth, null,keyWord, pageNum, pageSize,storeId,drawer);
}
if("5".equals(searchDate)){//上月
bookingManageList =bookingManageService.getBoookingManageList(status,lastMonthStartTime,lastMonthEndTime, null, keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,lastMonthStartTime,lastMonthEndTime,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status,lastMonthStartTime,lastMonthEndTime, null, keyWord, pageNum, pageSize,storeId,drawer);
}
if("6".equals(searchDate)){//自定義
bookingManageList =bookingManageService.getBoookingManageList(status,startDate,endDate, null, keyWord, pageNum, pageSize,storeId,drawer);
totalAmount = bookingManageService.getTotalAmount(status,storeId,startDate,endDate,null,keyWord,drawer);//獲取總計金額
count =bookingManageService.getCount(status,startDate,endDate, null, keyWord, pageNum, pageSize,storeId,drawer);
}
后來優化封裝了一下,立刻代碼就變簡潔了不少:
public Map<String,String> getDateByStr(String str,String startDate,String endDate){
Map<String,String> map = new Map<String,String>
if("3".equals(str)){
map.put("beginTime", DateUtil.getAnyDate(-7));
map.put("endTime", DateUtil.getAnyDate(0));
}else if("0".equals(str)){
map.put("beginTime", DateUtil.getAnyDate(0));
map.put("endTime", DateUtil.getAnyDate(0));
}else if("1".equals(str)){
map.put("beginTime", DateUtil.getAnyDate(-1));
map.put("endTime", DateUtil.getAnyDate(-1));
}else if("2".equals(str)){
map.put("beginTime", DateUtil.getThisWeekStartAndEnd().get("startTime"));
map.put("endTime", DateUtil.getAnyDate(0));
}else if("4".equals(str)){
map.put("beginTime", DateUtil.getThisMonthStartAndEndDay().get("startTime"));
map.put("endTime", DateUtil.getThisMonthStartAndEndDay().get("endTime"));
}else if("5".equals(str)){
map.put("beginTime", DateUtil.getLastWeekStartAndEnd().get("startTime"));
map.put("endTime", DateUtil.getLastWeekStartAndEnd().get("endTime"));
}else{
map.put("beginTime", startDate);
map.put("endTime", endTime);
}
return map;
}
}
總結:在真正開發過程之中,可能寫的比較趕就沒有仔細思考怎么寫比較好,做事情還是不能急,要先構思好再寫,沒有想清楚堅決不要動手開始做,做也是白做,做開發,不是在工地上面搬磚,瞎搞就行,一個好的思路,往往就成功了一半,每個做開發的都要有這個覺悟
轉載于:https://www.cnblogs.com/dzcWeb/p/7509267.html
總結
以上是生活随笔為你收集整理的一次简单的代码封装经历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycryptodom的源码安装
- 下一篇: 百度地图手绘线坐标获取