602 lines
25 KiB
Plaintext
602 lines
25 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.jysoft.unipush.AliasManage;
|
||
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.GreenFoodFeature;
|
||
import com.nationalelectric.greenH5.po.GreenFoodVote;
|
||
import com.nationalelectric.greenH5.po.GreenUserInfo;
|
||
import com.sgcc.uap.persistence.IHibernateDao;
|
||
|
||
/**
|
||
* 推荐菜
|
||
* @author Administrator
|
||
*
|
||
*/
|
||
@Controller
|
||
@RequestMapping("/feature")
|
||
public class FeatureController extends GreenBaseController {
|
||
|
||
/**
|
||
* HibernateDao逻辑构件
|
||
*/
|
||
@Autowired
|
||
IHibernateDao hibernateDao;
|
||
|
||
@Resource
|
||
private IFeatureBizc iFeatureBizc;
|
||
|
||
@Autowired
|
||
private BaseServiceImpl baseService;
|
||
/**
|
||
* 保存图片controller
|
||
*/
|
||
@Resource
|
||
private GreenImageInfoController greenImageInfoController;
|
||
@Resource
|
||
private AliasManageController aliasManageController;
|
||
/**
|
||
* 添加推荐菜
|
||
* @return
|
||
*/
|
||
@SuppressWarnings("unchecked")
|
||
@RequestMapping(value = "/add", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult add(@RequestBody Object requestBody) {
|
||
try {
|
||
GreenFoodFeature feature = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodFeature>(){});
|
||
String userId = feature.getCreator();
|
||
GreenUserInfo info = getUserInfo(userId);
|
||
if (info == null) {
|
||
return new RestResult(Constant.FAILED, "非法用户");
|
||
}
|
||
//查询新品推荐时间
|
||
StringBuffer timeSql = new StringBuffer();
|
||
timeSql.append(" select max(activity_no) activity_no, ")
|
||
.append(" start_time1,end_time1 from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N' ");
|
||
|
||
List<Object[]> timeList = hibernateDao.executeSqlQuery(timeSql.toString());
|
||
//时间
|
||
Timestamp ts = new Timestamp(new Date().getTime());
|
||
|
||
if(timeList != null && timeList.get(0)[1] != null && timeList.get(0)[2] != null
|
||
&& (ts.getTime() <= Timestamp.valueOf(timeList.get(0)[1].toString()).getTime() ||
|
||
ts.getTime() >= Timestamp.valueOf(timeList.get(0)[2].toString()).getTime())){
|
||
return new RestResult(Constant.FAILED, "提交失败,不在推荐时间内");
|
||
}
|
||
//主键
|
||
String featureId = UUID.randomUUID().toString().replaceAll("-","");
|
||
feature.setId(featureId);
|
||
feature.setModifier(userId);
|
||
|
||
feature.setGmtCreated(ts);//创建时间
|
||
feature.setGmtModified(ts);//修改时间
|
||
//单张图片
|
||
String picture64 = feature.getPicture() == null ? "" : feature.getPicture();
|
||
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();
|
||
//多张图片
|
||
// String[] pictures = feature.getPicture() == null ? new String[]{} : feature.getPicture().split("~");
|
||
// if(pictures.length > 3){
|
||
// return new RestResult(Constant.FAILED, "图上只能上传3张");
|
||
// }
|
||
//
|
||
// boolean flag=true;
|
||
// String picture = "";
|
||
// String pictureData = "";
|
||
// for(int i = 0; i < pictures.length; i++){
|
||
// //存入数据 库
|
||
//// String uuid = greenImageInfoController.saveImage(pictures[i], userId);
|
||
// String uuid = UUID.randomUUID().toString().replaceAll("-","");
|
||
// flag = baseService.saveImgToIO(uuid+Constant.IMG_SUFFIX, pictures[i]);
|
||
// if(i != 0){
|
||
// picture += ",";
|
||
// pictureData += ",";
|
||
// }
|
||
// picture += uuid+Constant.IMG_SUFFIX;
|
||
// pictureData += uuid;
|
||
// }
|
||
feature.setPicture(picture);
|
||
feature.setPictureData(pictureData);
|
||
//成功则为1 否则为0靠定时重新保存
|
||
feature.setImgStatus(flag ? 1 : 0);
|
||
//时间
|
||
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm:dd");
|
||
String uploadDate = sdf.format(new Date());
|
||
feature.setUploadDate(uploadDate);
|
||
//查询活动次数
|
||
String sql = " select max(activity_no) from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N' ";
|
||
List<Object> list = hibernateDao.executeSqlQuery(sql);
|
||
|
||
int activityNo = list == null ? 1 : Integer.parseInt(list.get(0).toString());
|
||
feature.setActivityNo(activityNo);
|
||
|
||
hibernateDao.saveObject(feature);
|
||
} catch (Exception e) {
|
||
System.out.print(e.getMessage());
|
||
return new RestResult(Constant.FAILED, "提交失败");
|
||
}
|
||
|
||
return new RestResult(Constant.SUCCESS,"提交成功");
|
||
}
|
||
/**
|
||
* 推荐菜投票
|
||
* @return
|
||
*/
|
||
@SuppressWarnings("unchecked")
|
||
@RequestMapping(value = "/vote", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult vote(@RequestBody Object requestBody) {
|
||
try {
|
||
GreenFoodVote vote = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodVote>(){});
|
||
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, "投票失败");
|
||
}
|
||
//查询新品投票时间
|
||
StringBuffer timeSql = new StringBuffer();
|
||
timeSql.append(" select max(activity_no) activity_no, ")
|
||
.append(" start_time2,end_time2 from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N' ");
|
||
|
||
List<Object[]> timeList = hibernateDao.executeSqlQuery(timeSql.toString());
|
||
//时间
|
||
Timestamp ts = new Timestamp(new Date().getTime());
|
||
|
||
if(timeList != null && timeList.get(0)[1] != null && timeList.get(0)[2] != null
|
||
&& (ts.getTime() <= Timestamp.valueOf(timeList.get(0)[1].toString()).getTime() ||
|
||
ts.getTime() >= Timestamp.valueOf(timeList.get(0)[2].toString()).getTime())){
|
||
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, "您已经投票过,不能再投票");
|
||
}
|
||
//主键
|
||
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);
|
||
} catch (Exception e) {
|
||
System.out.print(e.getMessage());
|
||
return new RestResult(Constant.FAILED, "提交失败");
|
||
}
|
||
|
||
return new RestResult(Constant.SUCCESS,"提交成功");
|
||
}
|
||
/**
|
||
* 推荐菜查询-投票
|
||
* @return
|
||
*/
|
||
@SuppressWarnings("unchecked")
|
||
@RequestMapping(value = "/query", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult query(@RequestBody Object requestBody) {
|
||
try {
|
||
Map<String, Object> map = new ObjectMapper().convertValue(requestBody, new TypeReference<Map<String, Object>>(){});
|
||
String userId = map.get("userId") == null || "".equals(map.get("userId")) ? null : map.get("userId").toString();
|
||
GreenUserInfo info = getUserInfo(userId);
|
||
if (info == null) {
|
||
return new RestResult(Constant.FAILED, "非法用户");
|
||
}
|
||
//分页
|
||
Integer pageSize = map.get("pageSize") == null ? 10 : Integer.parseInt(map.get("pageSize").toString());
|
||
Integer pageNum = map.get("pageNum") == null ? 1 : Integer.parseInt(map.get("pageNum").toString());
|
||
pageNum = (pageNum-1) * pageSize;
|
||
//活动次数
|
||
Integer activityNo = map.get("activityNo") == null || "".equals(map.get("activityNo")) ? null : Integer.parseInt(map.get("activityNo").toString());
|
||
|
||
StringBuffer sql = new StringBuffer();
|
||
List<Object> params = new ArrayList<Object>();
|
||
sql.append(" select gf.id,gf.kinds,gf.food_name,gf.picture,gf.creator, ")
|
||
.append(" DATE_FORMAT(gf.gmt_created,'%Y-%m-%d %H:%i:%s') time, ")
|
||
.append(" gf.material,gf.reason,gf.activity_no, ");
|
||
//是否已经投票 0 可以投票 1,已经投票,2投过标,不能再投其他的票
|
||
sql.append(" case if((select count(gv.id) from green_food_vote gv where gv.feature_id = gf.id and gv.activity_no = gf.activity_no and gv.vote_user = ? ), 1, 0) ");
|
||
sql.append(" when 0 then if((select count(gv.id) from green_food_vote gv where gv.activity_no = gf.activity_no and gv.vote_user = ? ), 2, 0) ");
|
||
sql.append(" else if((select count(gv.id) from green_food_vote gv where gv.feature_id = gf.id and gv.activity_no = gf.activity_no and gv.vote_user = ? ), 1, 0) end is_vote, ");
|
||
params.add(userId);
|
||
params.add(userId);
|
||
params.add(userId);
|
||
//投票数量
|
||
sql.append(" ifnull((select count(gv.id) from green_food_vote gv where gv.feature_id = gf.id ), 0) vote_no ");
|
||
sql.append(" from green_food_feature gf where is_deleted = 'N' ");
|
||
if(activityNo != null){
|
||
sql.append(" and activity_no = ?");
|
||
params.add(activityNo);
|
||
}else {
|
||
sql.append(" and activity_no = (select max(activity_no) from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N')");
|
||
}
|
||
sql.append(" order by gf.gmt_created desc limit ?,? ");
|
||
|
||
params.add(pageNum);
|
||
params.add(pageSize);
|
||
|
||
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql.toString(), params.toArray());
|
||
//获取图片地址
|
||
for(Map<String,Object> m : list){
|
||
String picture=(String)m.get("picture");
|
||
m.put("picture", baseService.getImageBase64(picture));
|
||
// List<String> imageUrl = new ArrayList<String>();
|
||
// String[] arr = picture.split(",");
|
||
// for (int i = 0; i < arr.length; i++){
|
||
// imageUrl.add(baseService.getImageBase64(arr[i]));
|
||
// }
|
||
// m.put("picture", imageUrl);
|
||
}
|
||
//清除图片地址信息
|
||
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 = "/queryMyFood", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult queryMyFood(@RequestBody Object requestBody) {
|
||
try {
|
||
Map<String, Object> map = new ObjectMapper().convertValue(requestBody, new TypeReference<Map<String, Object>>(){});
|
||
String userId = map.get("userId") == null || "".equals(map.get("userId")) ? null : map.get("userId").toString();
|
||
GreenUserInfo info = getUserInfo(userId);
|
||
if (info == null) {
|
||
return new RestResult(Constant.FAILED, "非法用户");
|
||
}
|
||
|
||
Integer pageSize = map.get("pageSize") == null ? 10 : Integer.parseInt(map.get("pageSize").toString());
|
||
Integer pageNum = map.get("pageNum") == null ? 1 : Integer.parseInt(map.get("pageNum").toString());
|
||
pageNum = (pageNum-1) * pageSize;
|
||
|
||
StringBuffer sql = new StringBuffer();
|
||
List<Object> params = new ArrayList<Object>();
|
||
sql.append(" select DATE_FORMAT(activity.start_time3,'%Y-%m-%d %H:%i:%s') start_time3,DATE_FORMAT(activity.end_time3,'%Y-%m-%d %H:%i:%s') end_time3, "
|
||
+ " gf.* from green_food_lottery lo left JOIN green_food_feature gf on lo.feature_id=gf.id LEFT JOIN ")
|
||
.append(" (select activity_no,start_time3,end_time3 from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N' ) activity ")
|
||
.append(" on activity.activity_no = gf.activity_no where gf.vote_no is not null and gf.is_deleted = 'N' ")
|
||
.append(" order by activity.activity_no desc, gf.gmt_created desc limit ?,? ");
|
||
|
||
params.add(pageNum);
|
||
params.add(pageSize);
|
||
|
||
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql.toString(), params.toArray());
|
||
|
||
//获取图片地址
|
||
for(Map<String,Object> m : list){
|
||
String picture=(String)m.get("picture");
|
||
m.put("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 = "/submitRecommendFood", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult submitRecommendFood(@RequestBody GreenFoodFeature feature) {
|
||
try {
|
||
Timestamp ts = new Timestamp(new Date().getTime());
|
||
String featureId = UUID.randomUUID().toString().replaceAll("-","");
|
||
feature.setId(featureId);
|
||
feature.setModifier(feature.getCreator());
|
||
|
||
feature.setGmtCreated(ts);//创建时间
|
||
feature.setGmtModified(ts);//修改时间
|
||
//单张图片
|
||
String picture64 = feature.getPicture() == null ? "" : feature.getPicture();
|
||
// 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();
|
||
// feature.setPicture(picture);
|
||
feature.setPictureData(picture64);
|
||
//成功则为1 否则为0靠定时重新保存
|
||
feature.setImgStatus(1);
|
||
// feature.setImgStatus(flag ? 1 : 0);
|
||
//时间
|
||
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd hh:mm:dd");
|
||
String uploadDate = sdf.format(new Date());
|
||
feature.setUploadDate(uploadDate);
|
||
|
||
hibernateDao.saveObject(feature);
|
||
Integer isRelease = feature.getIsRelease();
|
||
String title = "";
|
||
String text = "";
|
||
String url = "";
|
||
if(isRelease==0){
|
||
title = "菜品推荐";
|
||
text = "您好,您的推荐菜品已提交,请点击查看。";
|
||
url = "/pages/feature/feature?type=2¤tTabIndex=2";
|
||
aliasManageController.pushToSingle(feature.getCreator(), title, text, url);
|
||
}else{
|
||
title = "菜品发布";
|
||
text = "您好,您已发布新菜品,请点击查看。";
|
||
url = "/pages/feature/feature?type=1";
|
||
aliasManageController.pushToSingle(feature.getCreator(), title, text, url);
|
||
|
||
String role = "15002";//咨询受理权限
|
||
String getUserSql = "SELECT u.id,u.ISC_ID FROM green_user_info u "
|
||
+ " LEFT JOIN green_user_role_rel r ON u.id = r.user_id "
|
||
+ " LEFT JOIN green_role_permission p ON p.role_id = r.role_id "
|
||
+ " WHERE p.permission_id = ? ";
|
||
List<Map<String,Object>> userList2 = hibernateDao.queryForListWithSql(getUserSql, new Object[]{role});
|
||
title = "菜品推荐";
|
||
text = "您好,餐厅有新品发布,请点击查看。";
|
||
url = "/pages/feature/feature?type=2";
|
||
aliasManageController.pushToSingleBatch(userList2, title, text, url);
|
||
}
|
||
|
||
return new RestResult(Constant.SUCCESS,"提交成功");
|
||
} catch (Exception e) {
|
||
System.out.print(e.getMessage());
|
||
return new RestResult(Constant.FAILED, "提交失败");
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 推荐菜查询
|
||
* @return
|
||
*/
|
||
@SuppressWarnings("unchecked")
|
||
@RequestMapping(value = "/getMySubmitFeatureFood", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult getMySubmitFeatureFood(@RequestBody GreenFoodFeature feature) {
|
||
try {
|
||
String creator = feature.getCreator();
|
||
int pageSize = feature.getPageSize();
|
||
int page = feature.getPageNum();
|
||
page = (page-1) * pageSize;
|
||
int limit = ((page > 0 ? page : 1) -1) * pageSize;
|
||
String sql = "SELECT * FROM(SELECT RN.*,ROWNUM rw FROM( "
|
||
+ "select f.id as \"id\",f.kinds as \"kinds\",f.food_name as \"food_name\",f.picture as \"picture\","
|
||
+ "f.picture_data as \"picture_data\",f.price as \"price\",f.unit as \"unit\",f.upload_date as \"upload_date\","
|
||
+ "f.img_status as \"img_status\",f.creator as \"creator\",f.modifier as \"modifier\",f.gmt_created as \"gmt_created\","
|
||
+ "f.gmt_modified as \"gmt_modified\",f.material as \"material\",f.reason as \"reason\",f.activity_no as \"activity_no\","
|
||
+ "f.is_deleted as \"is_deleted\",f.vote_no as \"vote_no\",f.is_release as \"is_release\" from green_food_feature f where f.is_deleted='N' and f.creator = '"+creator+"' "
|
||
+ "order by f.gmt_created desc "
|
||
+ " )rn ) WHERE rw > ? AND rw <= ? ";
|
||
|
||
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{ limit, pageSize});
|
||
for(Map<String,Object> m : list){
|
||
String picture=(String)m.get("picture");
|
||
m.put("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 = "/getPublicFeatureFood", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult getPublicFeatureFood(@RequestBody GreenFoodFeature feature) {
|
||
try {
|
||
String creator = feature.getCreator();
|
||
int pageSize = feature.getPageSize();
|
||
int page = feature.getPageNum();
|
||
page = (page-1) * pageSize;
|
||
int limit = ((page > 0 ? page : 1) -1) * pageSize;
|
||
String sql = "SELECT * FROM(SELECT RN.*,ROWNUM rw FROM( "
|
||
+ "SELECT f.id as \"id\",f.kinds as \"kinds\",f.food_name as \"food_name\",f.picture as \"picture\","
|
||
+ "f.picture_data as \"picture_data\",f.price as \"price\",f.unit as \"unit\",f.upload_date as \"upload_date\","
|
||
+ "f.img_status as \"img_status\",f.creator as \"creator\",f.modifier as \"modifier\",f.gmt_created as \"gmt_created\","
|
||
+ "f.gmt_modified as \"gmt_modified\",f.material as \"material\",f.reason as \"reason\",f.activity_no as \"activity_no\","
|
||
+ "f.is_deleted as \"is_deleted\",f.vote_no as \"vote_no\",f.is_release as \"is_release\", "
|
||
+ " v.is_vote AS \"is_vote\" FROM green_food_feature 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 "
|
||
+ " )rn ) WHERE rw > ? AND rw <= ? ";
|
||
|
||
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{ limit, pageSize});
|
||
for(Map<String,Object> m : list){
|
||
String picture=(String)m.get("picture");
|
||
m.put("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 = "/recommendFoodVoteNew", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult recommendFoodVoteNew(@RequestBody Object requestBody) {
|
||
try {
|
||
GreenFoodVote vote = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodVote>(){});
|
||
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 as \"id\" from green_food_vote where vote_user = ? and activity_no = 1 ";
|
||
/*+ " (select max(activity_no) from t_activity where activity_code = 'dining_new_products' and is_deleted = 'N' ) "*/
|
||
List<Object> list = hibernateDao.queryForListWithSql(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);
|
||
GreenFoodFeature feature = iFeatureBizc.get(vote.getFeatureId());
|
||
Integer voteNo = feature.getVoteNo()==null?0:feature.getVoteNo();
|
||
String updateSql = "update green_food_feature set vote_no=? where id=?";
|
||
|
||
hibernateDao.executeSqlUpdate(updateSql, new Object[]{voteNo+1,vote.getFeatureId()});
|
||
|
||
} catch (Exception e) {
|
||
System.out.print(e.getMessage());
|
||
return new RestResult(Constant.FAILED, "提交失败");
|
||
}
|
||
|
||
return new RestResult(Constant.SUCCESS,"提交成功");
|
||
}
|
||
|
||
/**
|
||
* 推荐菜投票
|
||
* @return
|
||
*/
|
||
@SuppressWarnings("unchecked")
|
||
@RequestMapping(value = "/submitRelease", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult submitRelease(@RequestBody GreenFoodFeature feature) {
|
||
try {
|
||
String id = feature.getId();
|
||
String[] ids = id.split(",");
|
||
String updateSql = "";
|
||
for(String str:ids){
|
||
updateSql = "update green_food_feature set is_release=1 where id='"+str+"'";
|
||
|
||
hibernateDao.executeSqlUpdate(updateSql);
|
||
}
|
||
String role = "15002";//咨询受理权限
|
||
String getUserSql = "SELECT u.id,u.ISC_ID FROM green_user_info u "
|
||
+ " LEFT JOIN green_user_role_rel r ON u.id = r.user_id "
|
||
+ " LEFT JOIN green_role_permission p ON p.role_id = r.role_id "
|
||
+ " WHERE p.permission_id = ? ";
|
||
List<Map<String,Object>> userList2 = hibernateDao.queryForListWithSql(getUserSql, new Object[]{role});
|
||
String title = "菜品推荐";
|
||
String text = "您好,餐厅有新品发布,请点击查看。";
|
||
String url = "/pages/feature/feature?type=2";
|
||
aliasManageController.pushToSingleBatch(userList2, title, text, url);
|
||
|
||
|
||
return new RestResult(Constant.SUCCESS,"发布成功");
|
||
|
||
} catch (Exception e) {
|
||
System.out.print(e.getMessage());
|
||
return new RestResult(Constant.FAILED, "发布失败");
|
||
}
|
||
}
|
||
/**
|
||
* 推荐菜查询
|
||
* @return
|
||
*/
|
||
@SuppressWarnings("unchecked")
|
||
@RequestMapping(value = "/getReleasefeatureList", method = RequestMethod.POST)
|
||
public @ResponseBody RestResult getReleasefeatureList(@RequestBody GreenFoodFeature feature) {
|
||
try {
|
||
//String creator = feature.getCreator();
|
||
int pageSize = feature.getPageSize();
|
||
int page = feature.getPageNum();
|
||
page = (page-1) * pageSize;
|
||
int limit = ((page > 0 ? page : 1) -1) * pageSize;
|
||
String sql = " SELECT * FROM(SELECT RN.*,ROWNUM rw FROM( "
|
||
+ "select f.id as \"id\",f.kinds as \"kinds\",f.food_name as \"food_name\",f.picture as \"picture\","
|
||
+ "f.picture_data as \"picture_data\",f.price as \"price\",f.unit as \"unit\",f.upload_date as \"upload_date\","
|
||
+ "f.img_status as \"img_status\",f.creator as \"creator\",f.modifier as \"modifier\",f.gmt_created as \"gmt_created\","
|
||
+ "f.gmt_modified as \"gmt_modified\",f.material as \"material\",f.reason as \"reason\",f.activity_no as \"activity_no\","
|
||
+ "f.is_deleted as \"is_deleted\",f.vote_no as \"vote_no\",f.is_release as \"is_release\", u .real_name as \"real_name\" "
|
||
+ "from green_food_feature 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"
|
||
+ " )rn ) WHERE rw > ? AND rw <= ? ";
|
||
|
||
List<Map<String,Object>> list = hibernateDao.queryForListWithSql(sql,new Object[]{ limit, pageSize});
|
||
for(Map<String,Object> m : list){
|
||
String picture=(String)m.get("picture");
|
||
m.put("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, "失败");
|
||
}
|
||
}
|
||
}
|