package com.nationalelectric.greenH5;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.http.Consts;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
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.unipush.AliasManage;
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.DTO.GreenHaircutRemainDTO;
import com.nationalelectric.greenH5.bizc.IGreenApplyBizc;
import com.nationalelectric.greenH5.bizc.IGreenApplyListBizc;
import com.nationalelectric.greenH5.bizc.IGreenHaircutInfoBizc;
import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc;
import com.nationalelectric.greenH5.po.GreenApply;
import com.nationalelectric.greenH5.po.GreenApplyList;
import com.nationalelectric.greenH5.po.GreenHaircutBalance;
import com.nationalelectric.greenH5.po.GreenHaircutBalanceDetail;
import com.nationalelectric.greenH5.po.GreenHaircutInfo;
import com.nationalelectric.greenH5.po.GreenHaircutRemain;
import com.nationalelectric.greenH5.po.GreenHaircutTotal;
import com.nationalelectric.greenH5.po.GreenUserInfo;
import com.nationalelectric.greenH5.utils.DateUtil;
import com.sgcc.uap.persistence.IHibernateDao;
import com.sgcc.uap.service.validator.ServiceValidatorBaseException;
import com.sgcc.uap.service.validator.ServiceValidatorUtil;
import net.sf.json.JSONArray;
/**
* 概述:
*
* 功能:
*
* @author dell
*/
@Controller
@RequestMapping("/greenHaircutInfo")
public class GreenHaircutInfoController extends GreenBaseController {
/**
* 理发预约service
*/
@Resource
private IGreenHaircutInfoBizc greenhaircutinfoBizc;
/**
* 我的申请service
*/
@Resource
private IGreenApplyListBizc greenApplyListBizc;
@Resource
private IGreenApplyBizc greenApplyBizc;
/**
* HibernateDao逻辑构件
*/
@Autowired
IHibernateDao hibernateDao;
/**
* 字典表controller
*/
@Resource
private GreenDictionaryInfoController greenDictionaryInfoController;
@Resource
private IGreenOperateLogBizc greenOperateLogBizc;
@Resource
private WechatService wService;
@Resource
private AliasManageController aliasManageController;
/**
* 理发预约flag
*/
private static final String HAIRCUT_FLAG_1 = "1"; // 改约
private static final String HAIRCUT_FLAG_2 = "2"; // 新增
/**
* 获取当前用户在指定日期已经预约的预约的时间段
*
* @param userId
* @param applyDate
* @return
*/
@SuppressWarnings("unchecked")
public List