package com.dsh.guns.modular.system.controller.general;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.dsh.course.feignClient.activity.DriverActivityClient;
|
import com.dsh.course.feignClient.activity.DriverActivityHistoryClient;
|
import com.dsh.course.feignClient.activity.DriverActivityOnlineClient;
|
import com.dsh.course.feignClient.activity.DriverActivityRegisterClient;
|
import com.dsh.course.feignClient.activity.model.*;
|
import com.dsh.guns.config.UserExt;
|
import com.dsh.guns.core.base.controller.BaseController;
|
import com.dsh.guns.core.common.constant.factory.PageFactory;
|
import com.dsh.guns.core.log.LogObjectHolder;
|
import com.dsh.guns.core.util.SinataUtil;
|
import com.dsh.guns.core.util.ToolUtil;
|
import com.dsh.guns.modular.system.model.*;
|
import com.dsh.guns.modular.system.service.*;
|
import net.sf.json.JSONObject;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.annotation.Resource;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
/**
|
* 控制器
|
*
|
* @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;
|
|
@Resource
|
private DriverActivityClient driverActivityClient;
|
|
@Resource
|
private DriverActivityRegisterClient driverActivityRegisterClient;
|
|
@Resource
|
private DriverActivityHistoryClient driverActivityHistoryClient;
|
|
@Resource
|
private DriverActivityOnlineClient driverActivityOnlineClient;
|
|
|
/**
|
* 跳转到首页
|
*/
|
@RequestMapping("")
|
public String index(Model model) {
|
model.addAttribute("language",UserExt.getLanguage());
|
model.addAttribute("type",UserExt.getUser().getObjectId());
|
return PREFIX + "driverActivity.html";
|
}
|
|
/**
|
* 跳转到添加 Redirecting to "Add".
|
*/
|
@RequestMapping("/driverActivity_add")
|
public String driverActivityAdd(Model model) {
|
model.addAttribute("language",UserExt.getLanguage());
|
return PREFIX + "driverActivity_add.html";
|
}
|
|
|
|
@RequestMapping("/driver")
|
public String driver(Model model) {
|
model.addAttribute("language",UserExt.getLanguage());
|
return PREFIX + "driver.html";
|
}
|
|
|
/**
|
* 跳转领取统计
|
* Redirect for statistics collection
|
* @return
|
*/
|
@RequestMapping("/receiveRecord")
|
public String receiveRecord(Model model,Integer activityId){
|
model.addAttribute("activityId",activityId);
|
|
|
DriverActivity driverActivity = driverActivityClient.queryById(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));
|
DriverActivityRegistered driverActivityRegistered = driverActivityRegisterClient.query1(new QueryBean(1, activityId));
|
model.addAttribute("id1",driverActivityRegistered.getId());
|
// driverActivityRegistered = driverActivityRegisteredService.selectOne(new EntityWrapper<DriverActivityRegistered>().eq("driverActivityId",activityId).eq("type",2));
|
driverActivityRegistered = driverActivityRegisterClient.query1(new QueryBean(2, activityId));
|
model.addAttribute("id2",driverActivityRegistered.getId());
|
// DriverActivityOnline driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper<DriverActivityOnline>().eq("driverActivityId",activityId).eq("type",1));
|
DriverActivityOnline driverActivityOnline = driverActivityClient.onLineQueryById(new QueryBean(1, activityId));
|
model.addAttribute("id3",driverActivityOnline.getId());
|
|
//统计专车在线 Statistical special car online
|
driverActivityOnline = driverActivityClient.onLineQueryById(new QueryBean(4, activityId));
|
model.addAttribute("id4",driverActivityOnline.getId());
|
// driverActivityOnline = driverActivityClient.onLineQueryById(new QueryBean(4, activityId));
|
// model.addAttribute("id5",driverActivityOnline.getId());
|
// DriverActivityOrder driverActivityOrder = driverActivityOrderService.selectOne(new EntityWrapper<DriverActivityOrder>().eq("driverActivityId",activityId));
|
DriverActivityOrder driverActivityOrder = driverActivityClient.orderQueryById(activityId).get(0);
|
model.addAttribute("id5",driverActivityOrder.getId());
|
model.addAttribute("language",UserExt.getLanguage());
|
|
model.addAttribute("language",UserExt.getLanguage());
|
model.addAttribute("language",UserExt.getLanguage());
|
return PREFIX + "receiveRecord.html";
|
}
|
|
@RequestMapping(value = "/receiveRecordDetail")
|
@ResponseBody
|
public Object receiveRecordDetail(String createTime,Integer activityId) {
|
String startTimes = null;
|
String endTimes = null;
|
if (SinataUtil.isNotEmpty(createTime)){
|
String[] timeArray = createTime.split(" - ");
|
startTimes = timeArray[0];
|
endTimes = timeArray[1];
|
}else{
|
DriverActivity driverActivity = driverActivityClient.queryById(activityId);
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
startTimes=sdf.format(driverActivity.getStartTime());
|
endTimes=sdf.format(driverActivity.getEndTime());
|
}
|
Map<String,Object> map = new HashMap<>();
|
//统计邀请司机注册 Statistical invitation for driver registration.
|
DriverActivityHistoryReq driverActivityHistoryReq = new DriverActivityHistoryReq();
|
driverActivityHistoryReq.setDriverActivityId(activityId);
|
driverActivityHistoryReq.setType(1);
|
driverActivityHistoryReq.setEnd(endTimes);
|
driverActivityHistoryReq.setStart(startTimes);
|
DriverActivityHistoryRes driverActivityHistoryRes = driverActivityHistoryClient.queryList(driverActivityHistoryReq);
|
|
Double totalMOney=0d;
|
Double money=0d;
|
Integer number=0;
|
if(ToolUtil.isNotEmpty(driverActivityHistoryRes.getList())) {
|
for (DriverActivityHistory history : driverActivityHistoryRes.getList()) {
|
money += history.getMoney();
|
totalMOney += history.getMoney();
|
number++;
|
}
|
}
|
map.put("money1",money);
|
map.put("number1",number);
|
//统计邀请用户注册 Statistical invitation for user registration.
|
driverActivityHistoryReq.setType(2);
|
DriverActivityHistoryRes driverActivityHistoryRes1 = driverActivityHistoryClient.queryList(driverActivityHistoryReq);
|
money=0d;
|
|
number=0;
|
if(ToolUtil.isNotEmpty(driverActivityHistoryRes1.getList())) {
|
for (DriverActivityHistory history : driverActivityHistoryRes1.getList()) {
|
money += history.getMoney();
|
totalMOney += history.getMoney();
|
number++;
|
}
|
}
|
map.put("money2",money);
|
map.put("number2",number);
|
|
//摩托车在线奖励 Motorcycle Online Rewards
|
QueryDriverActivityOnlineReq req = new QueryDriverActivityOnlineReq();
|
req.setDriverActivityId(activityId);
|
req.setType(1);
|
List<DriverActivityOnline> driverActivityOnlines = driverActivityOnlineClient.queryDriverActivityOnline(req);
|
if(null != driverActivityOnlines){
|
DriverActivityOnline driverActivityOnline = driverActivityOnlines.get(0);
|
driverActivityHistoryReq.setActivityId(driverActivityOnline.getId());
|
}
|
driverActivityHistoryReq.setType(3);
|
DriverActivityHistoryRes driverActivityHistoryRes2 = driverActivityHistoryClient.queryList(driverActivityHistoryReq);
|
money=0d;
|
number=0;
|
if(ToolUtil.isNotEmpty(driverActivityHistoryRes2.getList())) {
|
for (DriverActivityHistory history : driverActivityHistoryRes2.getList()) {
|
money += history.getMoney();
|
totalMOney += history.getMoney();
|
number++;
|
}
|
}
|
map.put("money3",money);
|
map.put("number3",number);
|
|
//同城累计在线奖励 Accumulated In-City Online Reward
|
QueryDriverActivityOnlineReq req1 = new QueryDriverActivityOnlineReq();
|
req1.setDriverActivityId(activityId);
|
req1.setType(4);
|
List<DriverActivityOnline> driverActivityOnlines1 = driverActivityOnlineClient.queryDriverActivityOnline(req1);
|
if(null != driverActivityOnlines1){
|
DriverActivityOnline driverActivityOnline = driverActivityOnlines1.get(0);
|
driverActivityHistoryReq.setActivityId(driverActivityOnline.getId());
|
}
|
driverActivityHistoryReq.setType(3);
|
DriverActivityHistoryRes driverActivityHistoryRes3 = driverActivityHistoryClient.queryList(driverActivityHistoryReq);
|
money=0d;
|
number=0;
|
if(ToolUtil.isNotEmpty(driverActivityHistoryRes3.getList())) {
|
for (DriverActivityHistory history : driverActivityHistoryRes3.getList()) {
|
money += history.getMoney();
|
totalMOney += history.getMoney();
|
number++;
|
}
|
}
|
map.put("money4",money);
|
map.put("number4",number);
|
|
//订单量 order number
|
driverActivityHistoryReq.setActivityId(null);
|
driverActivityHistoryReq.setType(4);
|
DriverActivityHistoryRes driverActivityHistoryRes4 = driverActivityHistoryClient.queryList(driverActivityHistoryReq);
|
money=0d;
|
number=0;
|
if(ToolUtil.isNotEmpty(driverActivityHistoryRes4.getList())) {
|
for (DriverActivityHistory history : driverActivityHistoryRes4.getList()) {
|
money += history.getMoney();
|
totalMOney += history.getMoney();
|
number++;
|
}
|
}
|
map.put("money5",money);
|
map.put("number5",number);
|
|
//司机补贴 Driver's allowance
|
driverActivityHistoryReq.setType(5);
|
DriverActivityHistoryRes driverActivityHistoryRes5 = driverActivityHistoryClient.queryList(driverActivityHistoryReq);
|
money=0d;
|
number=0;
|
if(ToolUtil.isNotEmpty(driverActivityHistoryRes5.getList())) {
|
for (DriverActivityHistory history : driverActivityHistoryRes5.getList()) {
|
money += history.getMoney();
|
totalMOney += history.getMoney();
|
number++;
|
}
|
}
|
map.put("money6",money);
|
map.put("number6",number);
|
map.put("totalMOney",totalMOney);
|
return map;
|
}
|
/**
|
* 跳转到修改 Jump to modification.
|
*/
|
@RequestMapping("/driverActivity_update/{driverActivityId}")
|
public String driverActivityUpdate(@PathVariable Integer driverActivityId, Model model) {
|
// DriverActivity driverActivity = driverActivityService.selectById(driverActivityId);
|
DriverActivity driverActivity = driverActivityClient.queryById(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",JSONObject.fromObject(driverActivityClient.onLineQueryById(new QueryBean(1,driverActivityId)).getContent()));
|
model.addAttribute("online3",JSONObject.fromObject(driverActivityClient.onLineQueryById(new QueryBean(4,driverActivityId)).getContent()));
|
// DriverActivityOrder driverActivityOrder = driverActivityOrderService.selectOne(new EntityWrapper<DriverActivityOrder>().eq("driverActivityId",driverActivityId));
|
// DriverActivityOrder driverActivityOrder = driverActivityClient.orderQueryById(driverActivityId).get(0);
|
// if(driverActivityOrder!=null){
|
// model.addAttribute("startTime1", driverActivityOrder.getStart()+" - "+driverActivityOrder.getEnd());
|
// }else{
|
// model.addAttribute("startTime1", "");
|
// }
|
ArrayList<Object> objects = new ArrayList<>();
|
List<DriverActivityOrder> driverActivityOrders = driverActivityClient.orderQueryById(driverActivityId);
|
int a =1;
|
for (DriverActivityOrder driverActivityOrder : driverActivityOrders) {
|
String content = driverActivityOrder.getContent();
|
JSONObject jsonObject = JSONObject.fromObject(content);
|
jsonObject.put("frist",a);
|
a++;
|
objects.add(jsonObject);
|
}
|
model.addAttribute("order",objects);
|
List<DriverActivitySubsidy> driverActivitySubsidy = driverActivityClient.subsidyQueryById(driverActivityId);
|
ArrayList<Object> objects1 = new ArrayList<>();
|
int b = 1;
|
for (DriverActivitySubsidy activitySubsidy : driverActivitySubsidy) {
|
String content = activitySubsidy.getContent();
|
JSONObject jsonObject = JSONObject.fromObject(content);
|
jsonObject.put("frist",b);
|
b++;
|
objects1.add(jsonObject);
|
}
|
model.addAttribute("subsidy",objects1);
|
|
model.addAttribute("regist1", JSONObject.fromObject(driverActivityRegisterClient.query1(new QueryBean(1,driverActivityId)).getContent()));
|
model.addAttribute("regist2", JSONObject.fromObject(driverActivityRegisterClient.query1(new QueryBean(2,driverActivityId)).getContent()));
|
|
LogObjectHolder.me().set(driverActivity);
|
return PREFIX + "driverActivity_edit.html";
|
}
|
|
/**
|
* 获取列表 get list
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String createTime,String name) {
|
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(driverActivityClient.getList(new QueryDriverGetListReq(page,beginTime,endTime,name,UserExt.getUser().getRoleType(),UserExt.getUser().getObjectId())));
|
return super.packForBT(page);
|
}
|
|
/**
|
* 新增
|
*/
|
@RequestMapping(value = "/add")
|
@ResponseBody
|
public Object add(String name, String createTime, String json2, String json3,String json4,String json5,String json8,String driverId) {
|
User user = UserExt.getUser();
|
driverActivityClient.insertOrUpdate(new DriverActivityInsertReq(null,user.getObjectId(),user.getRoleType(),name,createTime,json2, json3, json4
|
, json5
|
, null,json8
|
,driverId));
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer driverActivityId) {
|
driverActivityClient.deleteById(driverActivityId);
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 修改
|
*/
|
@RequestMapping(value = "/update")
|
@ResponseBody
|
public Object update(Integer id,String name, String createTime, String json2, String json3,String json4,String json5,String json6,String driverId) {
|
User user = UserExt.getUser();
|
driverActivityClient.insertOrUpdate(new DriverActivityInsertReq(id,user.getObjectId() ,user.getRoleType(),name,createTime, json2, json3
|
, json4
|
, json5
|
, json6,null,driverId
|
));
|
return SUCCESS_TIP;
|
}
|
@RequestMapping(value = "/updateStatus")
|
@ResponseBody
|
public Object updateStatus(DriverActivity driverActivity) {
|
driverActivityClient.updateStatus(driverActivity);
|
return SUCCESS_TIP;
|
}
|
|
@RequestMapping("/driverActivity_detail/{driverActivityId}")
|
public String driverActivityDetail(@PathVariable Integer driverActivityId,Integer type, Model model) {
|
// DriverActivity driverActivity = driverActivityService.selectById(driverActivityId);
|
DriverActivity driverActivity = driverActivityClient.queryById(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()));
|
|
List<DriverActivityOrder> driverActivityOrders = driverActivityClient.orderQueryById(driverActivityId);
|
List<DriverActivitySubsidy> driverActivitySubsidy = driverActivityClient.subsidyQueryById(driverActivityId);
|
ArrayList<Object> objects = new ArrayList<>();
|
ArrayList<Object> objects1 = new ArrayList<>();
|
for (DriverActivitySubsidy activitySubsidy : driverActivitySubsidy) {
|
String content = activitySubsidy.getContent();
|
JSONObject jsonObject = JSONObject.fromObject(content);
|
objects1.add(jsonObject);
|
}
|
for (DriverActivityOrder driverActivityOrder : driverActivityOrders) {
|
String content = driverActivityOrder.getContent();
|
JSONObject jsonObject = JSONObject.fromObject(content);
|
net.sf.json.JSONArray num2 = jsonObject.getJSONArray("num2");
|
jsonObject.put("number",num2.size());
|
objects.add(jsonObject);
|
}
|
|
model.addAttribute("order",objects);
|
model.addAttribute("subsidy",objects1);
|
DriverActivityRegistered driverActivityRegistered = driverActivityRegisterClient.query1(new QueryBean(1, driverActivityId));
|
String content = driverActivityRegistered.getContent();
|
JSONObject jsonObject = JSONObject.fromObject(content);
|
model.addAttribute("regist1", jsonObject);
|
model.addAttribute("online1",JSONObject.fromObject(driverActivityClient.onLineQueryById(new QueryBean(1,driverActivityId)).getContent()));
|
model.addAttribute("regist2",JSONObject.fromObject(driverActivityRegisterClient.query1(new QueryBean(2,driverActivityId)).getContent()));
|
model.addAttribute("online3",JSONObject.fromObject(driverActivityClient.onLineQueryById(new QueryBean(4,driverActivityId)).getContent()));
|
model.addAttribute("type",type);
|
model.addAttribute("language",UserExt.getLanguage());
|
LogObjectHolder.me().set(driverActivity);
|
return PREFIX + "driverActivity_detail.html";
|
}
|
|
/**
|
* 跳转到立即处理页面 Redirect to the immediate processing page.
|
*/
|
@RequestMapping("/driverActivity_immediately/{id}")
|
public String driverActivityImmediately(@PathVariable Integer id, Model model) {
|
model.addAttribute("id",id);
|
return PREFIX + "driverActivity_immediately.html";
|
}
|
/**
|
* 立即处理操作 immediately hander
|
*/
|
@RequestMapping(value = "/immediately")
|
@ResponseBody
|
public Object immediately(@RequestParam Integer id,@RequestParam Integer state,@RequestParam String remark) {
|
// DriverActivity driverActivity = driverActivityService.selectById(id);
|
DriverActivity driverActivity = driverActivityClient.queryById(id);
|
if (SinataUtil.isNotEmpty(driverActivity)){
|
driverActivity.setStatus(state);
|
driverActivity.setRemark(remark);
|
driverActivityClient.updateStatus(driverActivity);
|
}
|
return SUCCESS_TIP;
|
}
|
@Autowired
|
private ITAuditRecordService auditRecordService;
|
|
@RequestMapping(value = "/submitInfo")
|
@ResponseBody
|
public Object submitInfo(@RequestParam Integer id,@RequestParam Integer check,@RequestParam String text) {
|
DriverActivity driverActivity = driverActivityClient.queryById(id);
|
if (SinataUtil.isNotEmpty(driverActivity)){
|
driverActivity.setStatus(check);
|
driverActivity.setRemark(text);
|
driverActivityClient.updateStatus(driverActivity);
|
}
|
TAuditRecord tAuditRecord = new TAuditRecord();
|
tAuditRecord.setRemark(text);
|
tAuditRecord.setAuditUserId(UserExt.getUser().getId());
|
tAuditRecord.setAuditTime(new Date());
|
tAuditRecord.setActivityType(1);
|
tAuditRecord.setActivityName(driverActivity.getName());
|
tAuditRecord.setActivityId(driverActivity.getId());
|
if(check==3){
|
tAuditRecord.setAuditStatus(2);
|
}else {
|
tAuditRecord.setAuditStatus(3);
|
}
|
auditRecordService.save(tAuditRecord);
|
return SUCCESS_TIP;
|
}
|
}
|