package com.stylefeng.guns.modular.system.controller.general;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.stylefeng.guns.core.base.controller.BaseController;
|
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
|
import com.stylefeng.guns.core.shiro.ShiroKit;
|
import com.stylefeng.guns.core.shiro.ShiroUser;
|
import com.stylefeng.guns.core.util.DateUtil;
|
import com.stylefeng.guns.core.util.SinataUtil;
|
import com.stylefeng.guns.modular.system.model.*;
|
import com.stylefeng.guns.modular.system.service.*;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import com.stylefeng.guns.core.log.LogObjectHolder;
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import java.math.BigDecimal;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 控制器
|
*
|
* @author fengshuonan
|
* @Date 2020-06-17 20:51:18
|
*/
|
@Controller
|
@RequestMapping("/driverActivity")
|
public class DriverActivityController extends BaseController {
|
|
private String PREFIX = "/system/driverActivity/";
|
|
@Autowired
|
private IDriverActivityService driverActivityService;
|
|
@Autowired
|
private IDriverActivityOnlineService driverActivityOnlineService;
|
|
@Autowired
|
private IDriverActivityOrderService driverActivityOrderService;
|
|
@Autowired
|
private IDriverActivityRegisteredService driverActivityRegisteredService;
|
|
@Autowired
|
private IDriverActivityHistoryService driverActivityHistoryService;
|
|
/**
|
* 跳转到首页
|
*/
|
@RequestMapping("")
|
public String index() {
|
return PREFIX + "driverActivity.html";
|
}
|
|
/**
|
* 跳转到添加
|
*/
|
@RequestMapping("/driverActivity_add")
|
public String driverActivityAdd() {
|
return PREFIX + "driverActivity_add.html";
|
}
|
|
/**
|
* 跳转领取统计
|
* @return
|
*/
|
@RequestMapping("/receiveRecord")
|
public String receiveRecord(Model model,Integer activityId){
|
model.addAttribute("activityId",activityId);
|
DriverActivity driverActivity = driverActivityService.selectById(activityId);
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
model.addAttribute("startTime", sdf.format(driverActivity.getStartTime()));
|
model.addAttribute("endTime", sdf.format(driverActivity.getEndTime()));
|
DriverActivityRegistered driverActivityRegistered = driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",activityId).eq("type",1));
|
model.addAttribute("id1",driverActivityRegistered.getId());
|
driverActivityRegistered = driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",activityId).eq("type",2));
|
model.addAttribute("id2",driverActivityRegistered.getId());
|
DriverActivityOnline driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId).eq("type",1));
|
model.addAttribute("id3",driverActivityOnline.getId());
|
//统计专车在线
|
driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId).eq("type",2));
|
model.addAttribute("id4",driverActivityOnline.getId());
|
driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId).eq("type",3));
|
model.addAttribute("id5",driverActivityOnline.getId());
|
DriverActivityOrder driverActivityOrder = driverActivityOrderService.selectOne(new EntityWrapper<DriverActivityOrder>().eq("driverActivityId",activityId));
|
model.addAttribute("id6",driverActivityOrder.getId());
|
return PREFIX + "receiveRecord.html";
|
}
|
|
@RequestMapping(value = "/receiveRecordDetail")
|
@ResponseBody
|
public Object receiveRecordDetail(String createTime,Integer activityId) {
|
Date startTimes = null;
|
Date endTimes = null;
|
if (SinataUtil.isNotEmpty(createTime)){
|
String[] timeArray = createTime.split(" - ");
|
startTimes = DateUtil.getDate_str3(timeArray[0]+" 00:00:00");
|
endTimes = DateUtil.getDate_str3(timeArray[1]+" 23:59:59");
|
}else{
|
DriverActivity driverActivity = driverActivityService.selectById(activityId);
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
startTimes=driverActivity.getStartTime();
|
endTimes=driverActivity.getEndTime();
|
}
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
Map<String,Object> map = new HashMap<>();
|
DriverActivityRegistered driverActivityRegistered = driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",activityId)
|
.eq("type",1).where("startTime >= '" + sdf.format(startTimes) + "' and endTime < '" + sdf.format(endTimes) + "'").orderBy("insertTime desc limit 0, 1"));
|
//统计邀请司机注册
|
List<DriverActivityHistory> historyList = driverActivityHistoryService.selectList(new EntityWrapper<DriverActivityHistory>()
|
.between("insertTime",startTimes,endTimes).eq("type",1).eq("activityId",driverActivityRegistered.getId()).eq("carryOut",2));
|
Double totalMOney=0d;
|
Double money=0d;
|
Integer number=0;
|
for(DriverActivityHistory history:historyList){
|
totalMOney+=history.getMoney();
|
money+=history.getMoney();
|
number+=1;
|
}
|
map.put("money1",money);
|
map.put("number1",number);
|
driverActivityRegistered = driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",activityId)
|
.eq("type",2).where("startTime >= '" + sdf.format(startTimes) + "' and endTime < '" + sdf.format(endTimes) + "'").orderBy("insertTime desc limit 0, 1"));
|
//统计邀请用户注册
|
historyList = driverActivityHistoryService.selectList(new EntityWrapper<DriverActivityHistory>().between("insertTime",startTimes,endTimes).eq("type",2).eq("activityId",driverActivityRegistered.getId()).eq("carryOut",2));
|
money=0d;
|
number=0;
|
for(DriverActivityHistory history:historyList){
|
totalMOney+=history.getMoney();
|
money+=history.getMoney();
|
number+=1;
|
}
|
map.put("money2",money);
|
map.put("number2",number);
|
DriverActivityOnline driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId)
|
.eq("type",1).where("startTime >= '" + sdf.format(startTimes) + "' and endTime < '" + sdf.format(endTimes) + "'").orderBy("insertTime desc limit 0, 1"));
|
//统计专车在线
|
historyList = driverActivityHistoryService.selectList(new EntityWrapper<DriverActivityHistory>().between("insertTime",startTimes,endTimes).eq("type",3).eq("activityId",driverActivityOnline.getId()).eq("carryOut",2));
|
money=0d;
|
number=0;
|
for(DriverActivityHistory history:historyList){
|
totalMOney+=history.getMoney();
|
money+=history.getMoney();
|
number+=1;
|
}
|
map.put("money3",money);
|
map.put("number3",number);
|
driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId)
|
.eq("type",2).where("startTime >= '" + sdf.format(startTimes) + "' and endTime < '" + sdf.format(endTimes) + "'").orderBy("insertTime desc limit 0, 1"));
|
//统计出租车在线
|
historyList = driverActivityHistoryService.selectList(new EntityWrapper<DriverActivityHistory>().between("insertTime",startTimes,endTimes).eq("type",3).eq("activityId",driverActivityOnline.getId()).eq("carryOut",2));
|
money=0d;
|
number=0;
|
for(DriverActivityHistory history:historyList){
|
totalMOney+=history.getMoney();
|
money+=history.getMoney();
|
number+=1;
|
}
|
map.put("money4",money);
|
map.put("number4",number);
|
driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId)
|
.eq("type",3).where("startTime >= '" + sdf.format(startTimes) + "' and endTime < '" + sdf.format(endTimes) + "'").orderBy("insertTime desc limit 0, 1"));
|
//统计城际在线
|
historyList = driverActivityHistoryService.selectList(new EntityWrapper<DriverActivityHistory>().between("insertTime",startTimes,endTimes).eq("type",3).eq("activityId",driverActivityOnline.getId()).eq("carryOut",2));
|
money=0d;
|
number=0;
|
for(DriverActivityHistory history:historyList){
|
totalMOney+=history.getMoney();
|
money+=history.getMoney();
|
number+=1;
|
}
|
map.put("money5",money);
|
map.put("number5",number);
|
DriverActivityOrder driverActivityOrder = driverActivityOrderService.selectOne(new EntityWrapper<DriverActivityOrder>()
|
.eq("driverActivityId",activityId).where("startTime >= '" + sdf.format(startTimes) + "' and endTime < '" + sdf.format(endTimes) + "'").orderBy("insertTime desc limit 0, 1"));
|
//统计订单数
|
historyList = driverActivityHistoryService.selectList(new EntityWrapper<DriverActivityHistory>().between("insertTime",startTimes,endTimes).eq("type",4).eq("activityId",driverActivityOrder.getId()).eq("carryOut",2));
|
money=0d;
|
number=0;
|
for(DriverActivityHistory history:historyList){
|
totalMOney+=history.getMoney();
|
money+=history.getMoney();
|
number+=1;
|
}
|
map.put("money6",money);
|
map.put("number6",number);
|
map.put("totalMOney",totalMOney);
|
return map;
|
}
|
/**
|
* 跳转到修改
|
*/
|
@RequestMapping("/driverActivity_update/{driverActivityId}")
|
public String driverActivityUpdate(@PathVariable Integer driverActivityId, Model model) {
|
DriverActivity driverActivity = driverActivityService.selectById(driverActivityId);
|
model.addAttribute("item",driverActivity);
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
model.addAttribute("startTime", sdf.format(driverActivity.getStartTime()));
|
model.addAttribute("endTime", sdf.format(driverActivity.getEndTime()));
|
model.addAttribute("online1",driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",driverActivityId).eq("type",1)));
|
model.addAttribute("online2",driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",driverActivityId).eq("type",2)));
|
model.addAttribute("online3",driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",driverActivityId).eq("type",3)));
|
DriverActivityOrder driverActivityOrder = driverActivityOrderService.selectOne(new EntityWrapper<DriverActivityOrder>().eq("driverActivityId",driverActivityId));
|
if(driverActivityOrder!=null){
|
model.addAttribute("startTime1", driverActivityOrder.getStart()+" - "+driverActivityOrder.getEnd());
|
}else{
|
model.addAttribute("startTime1", "");
|
}
|
model.addAttribute("order",driverActivityOrder);
|
model.addAttribute("regist1",driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",driverActivityId).eq("type",1)));
|
model.addAttribute("regist2",driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",driverActivityId).eq("type",2)));
|
|
LogObjectHolder.me().set(driverActivity);
|
return PREFIX + "driverActivity_edit.html";
|
}
|
|
/**
|
* 获取列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String createTime,String name) {
|
ShiroUser user = ShiroKit.getUser();
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(createTime)){
|
String[] timeArray = createTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
page.setRecords(driverActivityService.getList(page,beginTime,endTime,name,user.getRoleType(),user.getObjectId()));
|
return super.packForBT(page);
|
}
|
|
/**
|
* 新增
|
*/
|
@RequestMapping(value = "/add")
|
@ResponseBody
|
public Object add(String staTime, String startTime, String num1, Double num2
|
, Double num3
|
, Integer num4
|
, Double num5
|
, Integer num6
|
, Double num7
|
, Integer num8
|
, Double num9
|
, Integer num10
|
, Double num11) {
|
|
driverActivityService.insertOrUpdate(null,staTime,startTime, num1, num2
|
, num3
|
, num4
|
, num5
|
, num6
|
, num7
|
, num8
|
, num9
|
, num10
|
, num11);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer driverActivityId) {
|
driverActivityService.deleteById(driverActivityId);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
public Object update(Integer id,String staTime, String startTime, String num1, Double num2
|
, Double num3
|
, Integer num4
|
, Double num5
|
, Integer num6
|
, Double num7
|
, Integer num8
|
, Double num9
|
, Integer num10
|
, Double num11) {
|
driverActivityService.insertOrUpdate(id,staTime,startTime, num1, num2
|
, num3
|
, num4
|
, num5
|
, num6
|
, num7
|
, num8
|
, num9
|
, num10
|
, num11);
|
return SUCCESS_TIP;
|
}
|
@RequestMapping(value = "/updateStatus")
|
@ResponseBody
|
public Object updateStatus(DriverActivity driverActivity) {
|
driverActivityService.updateById(driverActivity);
|
return SUCCESS_TIP;
|
}
|
|
@RequestMapping("/driverActivity_detail/{driverActivityId}")
|
public String driverActivityDetail(@PathVariable Integer driverActivityId, Model model) {
|
DriverActivity driverActivity = driverActivityService.selectById(driverActivityId);
|
model.addAttribute("item",driverActivity);
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
model.addAttribute("startTime", sdf.format(driverActivity.getStartTime()));
|
model.addAttribute("endTime", sdf.format(driverActivity.getEndTime()));
|
|
model.addAttribute("online1",driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",driverActivityId).eq("type",1)));
|
model.addAttribute("online2",driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",driverActivityId).eq("type",2)));
|
model.addAttribute("online3",driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",driverActivityId).eq("type",3)));
|
model.addAttribute("order",driverActivityOrderService.selectOne(new EntityWrapper<DriverActivityOrder>().eq("driverActivityId",driverActivityId)));
|
model.addAttribute("regist1",driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",driverActivityId).eq("type",1)));
|
model.addAttribute("regist2",driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",driverActivityId).eq("type",2)));
|
LogObjectHolder.me().set(driverActivity);
|
return PREFIX + "driverActivity_detail.html";
|
}
|
|
/**
|
* 跳转到立即处理页面
|
*/
|
@RequestMapping("/driverActivity_immediately/{id}")
|
public String driverActivityImmediately(@PathVariable Integer id, Model model) {
|
model.addAttribute("id",id);
|
return PREFIX + "driverActivity_immediately.html";
|
}
|
/**
|
* 立即处理操作
|
*/
|
@RequestMapping(value = "/immediately")
|
@ResponseBody
|
public Object immediately(@RequestParam Integer id,@RequestParam Integer state,@RequestParam String remark) {
|
DriverActivity driverActivity = driverActivityService.selectById(id);
|
if (SinataUtil.isNotEmpty(driverActivity)){
|
driverActivity.setStatus(state);
|
driverActivity.setRemark(remark);
|
driverActivityService.updateById(driverActivity);
|
}
|
return SUCCESS_TIP;
|
}
|
}
|