|
|
@@ -6,21 +6,26 @@ import com.fs.common.core.domain.AjaxResult;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.core.page.TableDataInfo;
|
|
|
import com.fs.common.enums.BusinessType;
|
|
|
+import com.fs.common.utils.ServletUtils;
|
|
|
import com.fs.common.utils.poi.ExcelUtil;
|
|
|
+import com.fs.company.domain.CompanyUser;
|
|
|
import com.fs.course.domain.FsCourseTrafficLog;
|
|
|
import com.fs.course.param.FsCourseTrafficLogParam;
|
|
|
import com.fs.course.service.IFsCourseTrafficLogService;
|
|
|
import com.fs.course.service.IFsUserCourseService;
|
|
|
import com.fs.course.vo.FsCourseTrafficLogListVO;
|
|
|
+import com.fs.framework.security.LoginUser;
|
|
|
import com.fs.framework.service.TokenService;
|
|
|
import com.fs.his.vo.OptionsVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.YearMonth;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@@ -50,6 +55,14 @@ public class FsCourseTrafficLogController extends BaseController
|
|
|
public TableDataInfo list(FsCourseTrafficLogParam param)
|
|
|
{
|
|
|
startPage();
|
|
|
+ LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
+ if(loginUser.getUser().isAdmin()){
|
|
|
+ //管理员本公司下的数据
|
|
|
+ param.setCompanyId(loginUser.getCompany().getCompanyId());
|
|
|
+ }else{
|
|
|
+ //普通销售只能看自己的数据
|
|
|
+ param.setCompanyUserId(loginUser.getUser().getUserId());
|
|
|
+ }
|
|
|
List<FsCourseTrafficLogListVO> list = fsCourseTrafficLogService.selectTrafficNew(param);
|
|
|
return getDataTable(list);
|
|
|
}
|
|
|
@@ -62,20 +75,38 @@ public class FsCourseTrafficLogController extends BaseController
|
|
|
@GetMapping("/export")
|
|
|
public AjaxResult export(FsCourseTrafficLogParam param)
|
|
|
{
|
|
|
+ LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
|
|
+ if(loginUser.getUser().isAdmin()){
|
|
|
+ //管理员本公司下的数据
|
|
|
+ param.setCompanyId(loginUser.getCompany().getCompanyId());
|
|
|
+ }else{
|
|
|
+ //普通销售只能看自己的数据
|
|
|
+ param.setCompanyUserId(loginUser.getUser().getUserId());
|
|
|
+ }
|
|
|
if (param.getTime() != null) {
|
|
|
- YearMonth yearMonth = param.getTime();
|
|
|
- LocalDateTime startOfMonth = yearMonth.atDay(1).atStartOfDay();
|
|
|
-
|
|
|
- LocalDateTime startOfNextMonth = yearMonth.plusMonths(1).atDay(1).atStartOfDay()
|
|
|
- .minusDays(1).withHour(23).withMinute(59).withSecond(59);
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
-
|
|
|
- param.setStartDate(startOfMonth.format(formatter));
|
|
|
- param.setEndDate(startOfNextMonth.format(formatter));
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
|
|
+ String formattedDate = sdf.format(param.getTime());
|
|
|
+ String[] parts = formattedDate.split("-");
|
|
|
+ param.setYear(Integer.parseInt(parts[0]));
|
|
|
+ param.setMonth(Integer.parseInt(parts[1]));
|
|
|
+ }
|
|
|
+ List<FsCourseTrafficLogListVO> list = fsCourseTrafficLogService.selectTrafficNew(param);
|
|
|
+ //格式化每个记录的流量为 GB 字符串
|
|
|
+ for (FsCourseTrafficLogListVO vo : list) {
|
|
|
+ vo.formatTraffic();
|
|
|
}
|
|
|
- List<FsCourseTrafficLogListVO> list = fsCourseTrafficLogService.selectTrafficByCompany(param);
|
|
|
ExcelUtil<FsCourseTrafficLogListVO> util = new ExcelUtil<FsCourseTrafficLogListVO>(FsCourseTrafficLogListVO.class);
|
|
|
- return util.exportExcel(list, "短链课程流量记录数据");
|
|
|
+ List<String> selectedFields = Arrays.asList(
|
|
|
+ "companyId",
|
|
|
+ "projectName",
|
|
|
+ "courseName",
|
|
|
+ "courseId",
|
|
|
+ "project",
|
|
|
+ "totalInternetTraffic",
|
|
|
+ "formattedTotalTraffic",
|
|
|
+ "month"
|
|
|
+ );
|
|
|
+ return util.exportExcelSelectedColumns(list, "短链课程流量记录数据",selectedFields);
|
|
|
}
|
|
|
|
|
|
/**
|