package com.nationalelectric.greenH5;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.locks.ReentrantLock;
import javax.annotation.Resource;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.jysoft.weChat.service.WechatService;
import com.jysoft.weChat.vo.ContentVo;
import com.nationalelectirc.Constant.Constant;
import com.nationalelectirc.utils.RestResult;
import com.nationalelectric.greenH5.bizc.BaseServiceImpl;
import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc;
import com.nationalelectric.greenH5.enums.OrderStatus;
import com.nationalelectric.greenH5.enums.TakeStatus;
import com.nationalelectric.greenH5.po.GreenActiveInfo;
import com.nationalelectric.greenH5.po.GreenActiveSign;
import com.nationalelectric.greenH5.po.GreenUserInfo;
import com.nationalelectric.greenH5.utils.DateTime;
import com.nationalelectric.greenH5.utils.DateUtil;
import com.sgcc.uap.persistence.IHibernateDao;
import com.sgcc.uap.service.validator.ServiceValidatorBaseException;
import net.sf.json.JSONObject;
import net.sf.json.JSONArray;
/**
* 概述:
*
* 功能:
*
* @author chenweikang
*/
@Controller
@RequestMapping("/greenActiveInfo")
public class GreenActiveInfoController extends GreenBaseController {
@Resource
private IHibernateDao hibernateDao;
@Autowired
private BaseServiceImpl baseService;
@Resource
private WechatService wService;
/**
* greenfoodorderdetail GreenFoodOrderDetail逻辑构件
*/
@Resource
private IGreenOperateLogBizc greenOperateLogBizc;
private ReentrantLock lock = new ReentrantLock();
/**用户订单列表*/
@RequestMapping(value="/getActiveInfoList", method = RequestMethod.POST)
@ResponseBody
public RestResult getActiveInfoList(@RequestBody Map map){
String userId = (String) map.get("userId");
GreenUserInfo info = getUserInfo(userId);
if(info==null){
return new RestResult(Constant.FAILED, "非法用户");
}
try {
Integer signUp = (Integer) map.get("signUp");
//分页信息
Integer pageSize = (Integer) map.get("pageSize");
Integer page = (Integer) map.get("pageNum");
page = (page-1) * pageSize;
int limit = ((page > 0 ? page : 1) -1) * pageSize;
String sql = "SELECT ID AS \"id\",title AS \"title\", des_info AS \"des_info\",author AS \"author\", "
+ " start_time AS \"start_time\",end_time AS \"end_time\",signup_endtime AS \"signup_endtime\", "
+ " create_time AS \"create_time\" FROM( SELECT rn.*, ROWNUM AS rw FROM ("
+ " select a.id,a.title,a.des_info,a.author,a.start_time,a.end_time,a.signup_endtime,a.create_time from green_active_info a "
+ " where ";
if(signUp==0){
sql+= " not ";
}
sql+= " EXISTS(select 1 from green_active_sign s where s.user_id = ? and s.active_id=a.id) and a.is_del='1' and a.status = '1' order by a.create_time desc "
+ " ) rn ) WHERE rw > ? and rw <= ? ";
List