package com.stylefeng.guns.modular.system.service.impl; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.ExcelUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.dao.DriverActivityHistoryMapper; import com.stylefeng.guns.modular.system.model.DriverActivityHistory; import com.stylefeng.guns.modular.system.service.IDriverActivityHistoryService; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 司机完成活动记录 服务实现类 *

* * @author stylefeng * @since 2020-06-17 */ @Service public class DriverActivityHistoryServiceImpl extends ServiceImpl implements IDriverActivityHistoryService { @Override public List> getList(Page> page, Integer activityId, Integer type) { return this.baseMapper.getList(page, activityId, type); } @Override public List> getListt(Integer activityId, Integer type) { return this.baseMapper.getListt(activityId, type); } @Override public Map rewardDetailsList(String driverName, String driverPhone, String createTime, Integer offset, Integer limit) throws Exception { String startTime = ""; String endTime = ""; if (ToolUtil.isNotEmpty(createTime)) { String[] split = createTime.split(" - "); startTime = split[0]; endTime = split[1]; } List> list = this.baseMapper.rewardDetailsList(ShiroKit.getUser().getObjectId(), driverName, driverPhone, startTime, endTime, offset, limit); int count = this.baseMapper.rewardDetailsListCount(ShiroKit.getUser().getObjectId(), driverName, driverPhone, startTime, endTime); Double aDouble = this.baseMapper.rewardDetailsListSum(ShiroKit.getUser().getObjectId(), driverName, driverPhone, startTime, endTime); Map map1 = new HashMap<>(); map1.put("insertTime", "合计"); map1.put("money", aDouble); list.add(map1); Map map = new HashMap<>(); map.put("rows", list); map.put("total", count); return map; } @Override public HSSFWorkbook exportRewardDetails(String driverName, String driverPhone, String createTime) throws Exception { String startTime = ""; String endTime = ""; if (ToolUtil.isNotEmpty(createTime)) { String[] split = createTime.split(" - "); startTime = split[0]; endTime = split[1]; } List> list = this.baseMapper.rewardDetailsList(ShiroKit.getUser().getObjectId(), driverName, driverPhone, startTime, endTime, null, null); String[] title = new String[]{"时间", "司机名称", "活动名称", "奖励支出"}; String[][] values = new String[list.size()][5]; for (int i = 0; i < list.size(); i++) { Map map = list.get(i); values[i][0] = null != map.get("insertTime") ? map.get("insertTime").toString() : ""; values[i][1] = null != map.get("name") ? map.get("name").toString() : ""; values[i][2] = null != map.get("activityName") ? map.get("activityName").toString() : ""; values[i][3] = null != map.get("money") ? map.get("money").toString() : ""; } return ExcelUtil.getHSSFWorkbook("奖励明细", title, values, null); } }