代码
public Map<String, Object> getMyRolls(JSONObject head,JSONObject body) throws Exception {
// 业务信息
Map<String, Object> attributes=new HashMap<String, Object>();
//cityCode
// String cityCode=head.optString("cityCode");
// cityCode=GetCItyCode.getCityCode(cityCode);
String page=body.optString("page");
String rows=body.optString("rows");
int type=body.optInt("type");
String token=head.optString("token");
Object object=UserCacheManage.getAppUser(token);
UserCache user=(UserCache)object;
String userId="4028668150c6aedb0150c6ddde750005";
HhUserEntity hhUserEntity=super.getEntity(HhUserEntity.class, userId);
if(hhUserEntity!=null){
String nowTime=DateUtils.formatTime();
String queryString = "SELECT COUNT(c.couponname), c.couponname,c.couponfee/100,c.pic1_path,date_format(c.endtime,'%Y-%c-%d') as endTime FROM couponpublish c,couponpool s WHERE s.pubid=c.pubid AND s.owner='"+userId+"'";
String whereString="";
//优惠卷类别 1.可用;2.历史
if(type==1){
whereString=whereString+" and ( '"+nowTime+"' between c.starttime and c.endtime ) and s.status=3 ";
}else{
whereString=whereString+" and (( '"+nowTime+"' > c.endtime ) or s.status>3 )";
}
String orderString=" order by c.updatetime ";
int offset=PagerUtil.getOffset(Integer.valueOf(page),Integer.valueOf(rows));
List<Map> list=super.findListbySqlReturnMapByPage(queryString+whereString, offset, Integer.valueOf(rows));
String flag = "";
Map e = new HashMap<String, Object>();
String endTime = (String) list.get(0).get("endTime");
long now= Long.parseLong(nowTime);
long end = Long.parseLong(endTime);
long f = now-end;
if(f>3){
e.put("flag",new String("过期"));
list.add(e);
}
System.out.println(list);
attributes.put("coupons", list);
}else{
throw new InterfaceException(new ErrorBean(ErrorCode.USER_NO_LOGIN));
}
return attributes;
}
报错:
[org.jeecgframework.core.common.exception.GlobalExceptionResolver]全局处理异常捕获:
java.lang.NumberFormatException: For input string: "2016-03-15 10:18"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Long.parseLong(Unknown Source)
at java.lang.Long.parseLong(Unknown Source)
at com.sendiy.hh.client.service.impl.ClientMyCouponsServiceImpl.getMyRolls(ClientMyCouponsServiceImpl.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy71.getMyRolls(Unknown Source)
at com.sendiy.hh.client.controller.GetMyRollsController.getMyRolls(GetMyRollsController.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我加上
String endTime = (String) list.get(0).get("endTime");
long now= Long.parseLong(nowTime);
long end = Long.parseLong(endTime);
long f = now-end;
if(f>3){
e.put("flag",new String("过期"));
list.add(e);
}
这几行代码之后报错,我要endtime和现在时间是不是差3天。
字符串 "2016-03-15 10:18" 直接转时间戳吗?
传统:先转成date,然后getTime,时间戳层面上进行比较
新: