package com.nationalelectric.greenH5; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.UUID; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; 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.nationalelectirc.Constant.Constant; import com.nationalelectirc.utils.RestResult; import com.nationalelectric.greenH5.bizc.BaseServiceImpl; import com.nationalelectric.greenH5.bizc.IFeatureBizc; import com.nationalelectric.greenH5.po.GreenDrugsPush; import com.nationalelectric.greenH5.po.GreenFoodVote; import com.nationalelectric.greenH5.po.GreenUserInfo; import com.sgcc.uap.persistence.IHibernateDao; /** * 推荐菜 * @author Administrator * */ @Controller @RequestMapping("/greenDrugsPush") public class GreenDrugsPushController extends GreenBaseController { /** * HibernateDao逻辑构件 */ @Autowired IHibernateDao hibernateDao; @Resource private IFeatureBizc iFeatureBizc; @Autowired private BaseServiceImpl baseService; /** * 保存图片controller */ @Resource private GreenImageInfoController greenImageInfoController; /** * 推荐菜查询 * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/submitDrugsPushAdd", method = RequestMethod.POST) public @ResponseBody RestResult submitDrugsPushAdd(@RequestBody GreenDrugsPush greenDrugsPush) { try { greenDrugsPush.setGmtCreated(new Date());//创建时间 greenDrugsPush.setGmtModified(new Date());//创建时间 //单张图片 String picture64 = greenDrugsPush.getDrugsPicture() == null ? "" : greenDrugsPush.getDrugsPicture(); boolean flag=true; String picture = ""; String pictureData = ""; if(!"".equals(picture64)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String date = sdf.format(new Date()) + "/"; String uuid = date + UUID.randomUUID().toString().replaceAll("-",""); flag = baseService.saveImgToIO(uuid+Constant.IMG_SUFFIX, picture64); picture = uuid+Constant.IMG_SUFFIX; pictureData = uuid; } //清除图片地址信息 baseService.initImage(); greenDrugsPush.setDrugsPicture(picture); greenDrugsPush.setDrugsPictureData(pictureData); //成功则为1 否则为0靠定时重新保存 //时间 // SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm:dd"); // String uploadDate = sdf.format(new Date()); // feature.setUploadDate(uploadDate); hibernateDao.saveObject(greenDrugsPush); return new RestResult(Constant.SUCCESS,"提交成功"); } catch (Exception e) { return new RestResult(Constant.FAILED, "提交失败"); } } /** * 推荐菜查询 * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/getMySubmitDrugsPush", method = RequestMethod.POST) public @ResponseBody RestResult getMySubmitDrugsPush(@RequestBody GreenDrugsPush feature) { try { String creator = feature.getCreator(); int pageSize = feature.getPageSize(); int page = feature.getPageNum(); page = (page-1) * pageSize; String sql = "select * from green_drugs_push where is_deleted='N' and creator = '"+creator+"' " + "order by gmt_created desc limit ?,? "; List> list = hibernateDao.queryForListWithSql(sql,new Object[]{ page, pageSize}); for(Map m : list){ String picture=(String)m.get("drugs_picture"); m.put("drugs_picture", baseService.getImageBase64(picture)); } //清除图片地址信息 baseService.initImage(); return new RestResult(Constant.SUCCESS,"成功",list); } catch (Exception e) { System.out.print(e.getMessage()); return new RestResult(Constant.FAILED, "失败"); } } /** * 推荐菜查询 * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/getPublicDrugsPush", method = RequestMethod.POST) public @ResponseBody RestResult getPublicDrugsPush(@RequestBody GreenDrugsPush feature) { try { String creator = feature.getCreator(); int pageSize = feature.getPageSize(); int page = feature.getPageNum(); page = (page-1) * pageSize; String sql = "SELECT f.*, v.is_vote FROM green_drugs_push f " + " LEFT JOIN ( SELECT count(feature_id) AS is_vote, feature_id FROM green_food_vote " + " WHERE is_deleted = 'N' AND vote_user = '"+creator+"' GROUP BY feature_id ) " + " v ON f.id = v.feature_id WHERE f.is_deleted = 'N' AND f.is_release = 0 " + " order by f.gmt_created desc limit ?,? "; List> list = hibernateDao.queryForListWithSql(sql,new Object[]{ page, pageSize}); for(Map m : list){ String picture=(String)m.get("drugs_picture"); m.put("drugs_picture", baseService.getImageBase64(picture)); } //清除图片地址信息 baseService.initImage(); return new RestResult(Constant.SUCCESS,"成功",list); } catch (Exception e) { System.out.print(e.getMessage()); return new RestResult(Constant.FAILED, "失败"); } } /** * 推荐菜投票 * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/drugsPushVote", method = RequestMethod.POST) public @ResponseBody RestResult drugsPushVote(@RequestBody GreenFoodVote vote) { try { String userId = vote.getVoteUser(); GreenUserInfo info = getUserInfo(userId); if (info == null) { return new RestResult(Constant.FAILED, "非法用户"); } if(vote.getFeatureId() == null || "".equals(vote.getFeatureId())){ return new RestResult(Constant.FAILED, "投票失败"); } String sql = " select id from green_food_vote where vote_user = ? and activity_no = " + " (select max(activity_no) from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N' ) "; List list = hibernateDao.executeSqlQuery(sql, new String[]{userId}); if(list != null && list.size() > 0){ return new RestResult(Constant.FAILED, "您已经投票过,不能再投票"); } Timestamp ts = new Timestamp(new Date().getTime()); //主键 String voteId = UUID.randomUUID().toString().replaceAll("-",""); vote.setId(voteId); //时间 vote.setGmtCreated(ts);//创建时间 vote.setGmtModified(ts);//修改时间 //活动次数 //vote.setActivityNo(Integer.valueOf(timeList.get(0)[0].toString())); hibernateDao.saveObject(vote); String featureId = vote.getFeatureId(); String updateSql = "update green_drugs_push set vote_no=vote_no+1 where id=?"; hibernateDao.executeSqlUpdate(updateSql, new Object[]{featureId}); } catch (Exception e) { System.out.print(e.getMessage()); return new RestResult(Constant.FAILED, "点赞失败"); } return new RestResult(Constant.SUCCESS,"点赞成功"); } /** * 推荐菜投票 * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/submitDrugsRelease", method = RequestMethod.POST) public @ResponseBody RestResult submitDrugsRelease(@RequestBody Map map) { try { String id = (String) map.get("ids"); //String[] ids = id.split(","); String updateSql = "update green_drugs_push set is_release=1 where id in ("+id+")"; hibernateDao.executeSqlUpdate(updateSql); // String updateSql = ""; // for(String str:ids){ // // } return new RestResult(Constant.SUCCESS,"发布成功"); } catch (Exception e) { System.out.print(e.getMessage()); return new RestResult(Constant.FAILED, "发布失败"); } } /** * 推荐菜查询 * @return */ @SuppressWarnings("unchecked") @RequestMapping(value = "/getReleaseDrugsList", method = RequestMethod.POST) public @ResponseBody RestResult getReleaseDrugsList(@RequestBody GreenDrugsPush greenDrugsPush) { try { //String creator = feature.getCreator(); int pageSize = greenDrugsPush.getPageSize(); int page = greenDrugsPush.getPageNum(); page = (page-1) * pageSize; String sql = "select f.*,u.real_name from green_drugs_push f left join green_user_info u on f.creator = u.id where f.is_deleted='N' and f.is_release = 1 " + "order by f.gmt_created desc limit ?,? "; List> list = hibernateDao.queryForListWithSql(sql,new Object[]{ page, pageSize}); for(Map m : list){ String picture=(String)m.get("drugs_picture"); m.put("drugs_picture", baseService.getImageBase64(picture)); } //清除图片地址信息 baseService.initImage(); return new RestResult(Constant.SUCCESS,"成功",list); } catch (Exception e) { System.out.print(e.getMessage()); return new RestResult(Constant.FAILED, "失败"); } } }