package com.cdf.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.cdf.common.ResultData; import com.cdf.entity.PageData; import com.cdf.service.IPageDataService; import com.cdf.util.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.naming.ldap.PagedResultsControl; import javax.servlet.http.HttpServletRequest; import java.sql.Time; import java.util.Date; import java.util.List; @RestController @RequestMapping("/api") public class PageDataApiController { @Autowired IPageDataService pageDataService; @GetMapping("/Point") public ResultData inOrOutPage(@RequestParam(required = false) String userId, @RequestParam(required = false) String accessToken, @RequestParam(required = false) String cookieId, @RequestParam(required = false) String isMiniApp, @RequestParam(required = false) String whereUrl, @RequestParam(required = false) Integer type, HttpServletRequest request) throws Exception { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PageData::getCdfCookieId,cookieId); wrapper.eq(PageData::getDay,DateUtil.getDay(new Date())); List list = pageDataService.list(wrapper); PageData pageData; if(list.size() <=0){ pageData = new PageData(); pageData.setCdfUserId(userId); pageData.setCdfToken(accessToken); pageData.setCdfCookieId(cookieId); pageData.setIsMiniApp(isMiniApp); pageData.setDay(DateUtil.getDay(new Date())); pageData.setUrl(whereUrl); }else { pageData = list.get(0); } pageData.setUrl(whereUrl); switch (type){ case 0: pageData.setInPageTime(DateUtil.getDateTime(new Date())); break; case 1: if(pageData.getInPageTime() == null){ pageData.setInPageTime(DateUtil.getDay(new Date())); } pageData.setOutPageTime(DateUtil.getDateTime(new Date())); long time = DateUtil.getDateTime(pageData.getInPageTime()); pageData.setStopTime(new Date().getTime() - time ); break; case 2: pageData.setIsClickGame(1); break; case 3: pageData.setIsClickShop(1); break; case 4: pageData.setStepNum( pageData.getStepNum() + 1); break; case 5: pageData.setVideoNum( pageData.getVideoNum() + 1); break; } pageData.setUpdateTime(null); pageDataService.saveOrUpdate(pageData); return ResultData.ok(); } }