hz-zhhq-app-service/greenH5modul/.svn/pristine/d2/d24fd88bdc8d32d5bf33e181c57...

263 lines
8.9 KiB
Plaintext

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<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{ page, pageSize});
for(Map<String,Object> 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<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{ page, pageSize});
for(Map<String,Object> 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<Object> 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<String,Object> 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<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{ page, pageSize});
for(Map<String,Object> 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, "失败");
}
}
}