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().eq("driverActivityId",activityId).eq("type",1)); DriverActivityRegistered driverActivityRegistered = driverActivityRegisterClient.query1(new QueryBean(1, activityId)); model.addAttribute("id1",driverActivityRegistered.getId()); // driverActivityRegistered = driverActivityRegisteredService.selectOne(new EntityWrapper().eq("driverActivityId",activityId).eq("type",2)); driverActivityRegistered = driverActivityRegisterClient.query1(new QueryBean(2, activityId)); model.addAttribute("id2",driverActivityRegistered.getId()); // DriverActivityOnline driverActivityOnline = driverActivityOnlineService.selectOne(new EntityWrapper().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().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 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 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 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().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 objects = new ArrayList<>(); List 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 = driverActivityClient.subsidyQueryById(driverActivityId); ArrayList 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> page = new PageFactory>().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 driverActivityOrders = driverActivityClient.orderQueryById(driverActivityId); List driverActivitySubsidy = driverActivityClient.subsidyQueryById(driverActivityId); ArrayList objects = new ArrayList<>(); ArrayList 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; } }