package com.platform.yijia.controller;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.platform.yijia.param.request.StationRequest;
import com.platform.yijia.param.response.StationInfoVo;
import com.platform.yijia.pojo.AppUserInfo;
import com.platform.yijia.pojo.StationInfo;
import com.platform.yijia.pojo.StationNoticeManage;
import com.platform.yijia.pojo.StationOilGun;
import com.platform.yijia.service.AppUserInfoService;
import com.platform.yijia.service.StationNoticeManageService;
import com.platform.yijia.service.StationOilGunService;
import com.platform.yijia.service.StationService;
import com.platform.yijia.utils.CodeMsg;
import com.platform.yijia.utils.FeiEPrinterUtil;
import com.platform.yijia.utils.ResultData;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Controller
@RequestMapping("/api")
public class StationController {
@Resource
private StationService stationService;
@Resource
private StationNoticeManageService stationNoticeManageService;
@Resource
private StationOilGunService stationOilGunService;
@Resource
private AppUserInfoService appUserInfoService;
/*
* 新增打印机
* @param jsonObject
* @return
*/
@RequestMapping(value = "/addprinter", consumes = "application/json", method = RequestMethod.POST)
@ResponseBody
public String addprinter(@RequestBody JSONObject jsonObject){
String snlist = jsonObject.getString("sn")+"#"+jsonObject.getString("key");
return FeiEPrinterUtil.addprinter(snlist);
}
/*
* 班结打印
* @return
*/
@RequestMapping(value = "/printClassesSummary", consumes = "application/json", method = RequestMethod.POST)
@ResponseBody
public String printClassesSummary(@RequestBody JSONObject jsonObject){
//打印机编号
String sn="";
//打印内容
String content;
content = "班结小票
";
content += "--------------------------------
";
content += "油品 升数 金额 单数 优惠
";
content += "--------------------------------
";
content += "饭 1.0 1 1.0
";
content += "炒饭 10.0 10 10.0
";
content += "蛋炒饭 10.0 10 100.0
";
content += "鸡蛋炒饭 100.0 1 100.0
";
content += "番茄蛋炒饭 1000.0 1 100.0
";
content += "西红柿蛋炒饭 1000.0 1 100.0
";
content += "西红柿鸡蛋炒饭 100.0 10 100.0
";
content += "备注:加辣
";
content += "--------------------------------
";
content += "合计:xx.0元
";
content += "送货地点:广州市南沙区xx路xx号
";
content += "联系电话:13888888888888
";
content += "订餐时间:2016-08-08 08:08:08
";
content += "http://www.dzist.com";
return FeiEPrinterUtil.printReceipt(sn, content);
}
/**
* 根据坐标获取油站列表
*/
@RequestMapping(value = "/getStationInfoList", method = RequestMethod.GET)
@ResponseBody
public String getStationInfoList(@RequestParam String stationLongitude,String stationLatitude,Integer pageNum,Integer pageSize){
Gson gson =new Gson();
//返回结果集
ResultData resultData=null;
if(stationLongitude!=null && stationLatitude !=null){
if(StringUtils.isNotBlank(stationLongitude)&&StringUtils.isNotBlank(stationLatitude)){
StationRequest stationRequest=new StationRequest();
stationRequest.setStationLatitude(stationLatitude);
stationRequest.setStationLongitude(stationLongitude);
stationRequest.setPageNum(pageNum);
stationRequest.setPageSize(pageSize);
//调用接口 根据坐标筛选距离最近的加油站
StationInfoVo stationInfoVo = stationService.stationInfoList(stationRequest);
resultData=ResultData.success(stationInfoVo);
}else{
resultData=ResultData.error(CodeMsg.REQUEST_FAIL);
}
}else{
resultData=ResultData.error(CodeMsg.REQUEST_FAIL);
}
return gson.toJson(resultData);
}
/**
* 获取油站列表信息
*/
@RequestMapping(value = "/getStationList", method = RequestMethod.GET)
@ResponseBody
public String getStationList(@RequestParam StationRequest request){
Gson gson =new Gson();
StationInfo stationInfo =new StationInfo();
List stationInfoList = stationService.getStationList(stationInfo);
return gson.toJson(stationInfoList);
}
/**
* 获取油站列表信息
*/
@RequestMapping(value = "/addStationInfo", method = RequestMethod.POST)
@ResponseBody
public String addStationInfo(@RequestParam StationRequest request){
Gson gson =new Gson();
ResultData resultData=null;
StationInfo stationInfo =new StationInfo();
if(request.getStationId()!=null){
stationInfo.setStationId(request.getStationId());
}
if(StringUtils.isNotBlank(request.getStationName())){
stationInfo.setStationName(request.getStationName());
}
if(StringUtils.isNotBlank(request.getContacts())){
stationInfo.setContacts(request.getContacts());
}
if(StringUtils.isNotBlank(request.getPhone())){
stationInfo.setPhone(request.getPhone());
}
if(StringUtils.isNotBlank(request.getStationAddress())){
stationInfo.setStationAddress(request.getStationAddress());
}
if(request.getStationGroupId()!=null){
stationInfo.setStationGroupId(request.getStationGroupId());
}
if(request.getStationGroupName()!=null){
stationInfo.setStationGroupName(request.getStationGroupName());
}
if(request.getContacts()!=null){
stationInfo.setContacts(request.getContacts());
}
try{
stationService.AddStationInfo(stationInfo);
resultData=ResultData.success(CodeMsg.SUCCESS);
}catch (Exception e){
resultData=ResultData.error(CodeMsg.INSERT_FAIL);
e.printStackTrace();
}
return gson.toJson(resultData);
}
/**
* 修改油站信息
*/
@RequestMapping(value = "/updateStationInfo", method = RequestMethod.POST)
@ResponseBody
public String updateStationInfo(@RequestBody StationInfo stationInfo){
Gson gson=new Gson();
ResultData resultData=null;
try{
stationService.updateStationInfo(stationInfo);
resultData=ResultData.success(CodeMsg.SUCCESS);
}catch (Exception e){
resultData=ResultData.error(CodeMsg.UPDATE_FAIL);
e.printStackTrace();
}
return gson.toJson(resultData);
}
/**
* 删除油站信息
*/
@RequestMapping(value = "/deleteStationInfo", method = RequestMethod.POST)
@ResponseBody
public String deleteStationInfo(@RequestBody StationInfo stationInfo){
Gson gson=new Gson();
ResultData resultData=null;
try{
stationService.deleteStationInfo(stationInfo);
resultData=ResultData.success(CodeMsg.SUCCESS);
}catch (Exception e){
resultData=ResultData.error(CodeMsg.DELETE_FAIL);
e.printStackTrace();
}
return gson.toJson(resultData);
}
/**
* 油站设备管理查询
*/
@RequestMapping(value = "/getStationNoticeManageList", method = RequestMethod.GET)
@ResponseBody
public String getStationNoticeManageList(@RequestParam StationRequest request){
Gson gson=new Gson();
ResultData resultData=null;
try{
StationNoticeManage stationNoticeManage =new StationNoticeManage();
List stationNoticeManageList = stationNoticeManageService.getStationNoticeManageList(stationNoticeManage);
resultData=ResultData.success(stationNoticeManageList);
}catch (Exception e){
resultData=ResultData.error(CodeMsg.SEARCH_FAIL);
e.printStackTrace();
}
return gson.toJson(resultData);
}
/**
*修改油站设备管理
*/
@RequestMapping(value = "/updateStationNoticeManage", method = RequestMethod.POST)
@ResponseBody
public String updateStationNoticeManage(@RequestBody StationNoticeManage stationNoticeManage){
Gson gson=new Gson();
ResultData resultData=null;
try{
stationNoticeManageService.updateStationNoticeManage(stationNoticeManage);
resultData=ResultData.success(CodeMsg.SUCCESS);
}catch (Exception e){
resultData=ResultData.success(CodeMsg.UPDATE_FAIL);
e.printStackTrace();
}
return gson.toJson(resultData);
}
/**
* 删除油站设备信息
*/
@RequestMapping(value = "/deleteStationNoticeManage", method = RequestMethod.POST)
@ResponseBody
public String deleteStationNoticeManage(@RequestBody StationNoticeManage stationNoticeManage){
Gson gson=new Gson();
ResultData resultData=null;
try{
stationNoticeManageService.deleteStationNoticeManage(stationNoticeManage);
resultData=ResultData.success(CodeMsg.SUCCESS);
}catch (Exception e){
resultData=ResultData.success(CodeMsg.DELETE_FAIL);
e.printStackTrace();
}
return gson.toJson(resultData);
}
/**
* 油枪管理
*/
@RequestMapping(value = "/stationOilGunList", method = RequestMethod.GET)
@ResponseBody
// public void stationOilGunList(@RequestParam StationRequest request,HttpServletResponse response){
// public String stationOilGunList(@RequestParam String userType,String token,Integer stationId){
public String stationOilGunList(@RequestParam Integer stationId){
Gson gson =new Gson();
StationOilGun stationOilGun =new StationOilGun();
//查询登录人是否存在
// AppUserInfo appUserInfo =new AppUserInfo();
//订单类型 是小程序还是公众号
// appUserInfo.setUserType(userType);
// if(userType.equals("1")){
// //1 是公众号
// appUserInfo.setBlogToken(token);
// }else if(userType.equals("2")){
// //2是小程序
// appUserInfo.setMinaToken(token);
// }
// List appUserInfoList =appUserInfoService.Authentication(appUserInfo);
// if(appUserInfoList!=null&&appUserInfoList.size()>0){
//获取油站id根据油站号查询油站对应的所有油枪信息
stationOilGun.setStationId(stationId);
List stationOilGunList = stationOilGunService.stationOilGunList(stationOilGun);
ResultData resultData=ResultData.success(stationOilGunList);
return gson.toJson(resultData);
// }else {
// ResultData resultData=ResultData.error(CodeMsg.USER_NOT_EXSIST);
// return gson.toJson(resultData);
// }
}
}