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, "失败");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|