729 lines
36 KiB
Plaintext
729 lines
36 KiB
Plaintext
|
|
package com.nationalelectric.greenH5;
|
|||
|
|
|
|||
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|||
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|||
|
|
import org.apache.commons.lang.StringUtils;
|
|||
|
|
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 com.sgcc.uap.service.validator.ServiceValidatorBaseException;
|
|||
|
|
import com.sgcc.uap.persistence.IHibernateDao;
|
|||
|
|
import com.jysoft.unipush.AliasManage;
|
|||
|
|
import com.nationalelectirc.Constant.Constant;
|
|||
|
|
import com.nationalelectirc.utils.RestResult;
|
|||
|
|
import com.nationalelectric.greenH5.DTO.GreenFoodOrderListDTO;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.BaseServiceImpl;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.IGreenFoodOrderDetailBizc;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.IGreenFoodOrderListBizc;
|
|||
|
|
import com.nationalelectric.greenH5.bizc.IGreenOperateLogBizc;
|
|||
|
|
import com.nationalelectric.greenH5.enums.OrderStatus;
|
|||
|
|
|
|||
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|||
|
|
|
|||
|
|
import java.math.BigDecimal;
|
|||
|
|
import java.util.*;
|
|||
|
|
import java.util.concurrent.locks.ReentrantLock;
|
|||
|
|
|
|||
|
|
import com.nationalelectric.greenH5.po.GreenFoodOrderDetail;
|
|||
|
|
import com.nationalelectric.greenH5.po.GreenFoodOrderList;
|
|||
|
|
import com.nationalelectric.greenH5.po.GreenUserInfo;
|
|||
|
|
import com.nationalelectric.greenH5.utils.DateUtil;
|
|||
|
|
|
|||
|
|
import javax.annotation.Resource;
|
|||
|
|
import org.springframework.stereotype.Controller;
|
|||
|
|
import org.springframework.transaction.annotation.Transactional;
|
|||
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|||
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* <b>概述</b>:<br>
|
|||
|
|
* <p>
|
|||
|
|
* <b>功能</b>:<br>
|
|||
|
|
*
|
|||
|
|
* @author bowei
|
|||
|
|
*/
|
|||
|
|
@Controller
|
|||
|
|
@RequestMapping("/greenFoodOrderDetail")
|
|||
|
|
public class GreenFoodOrderDetailController extends GreenBaseController{
|
|||
|
|
/**
|
|||
|
|
* greenfoodorderdetail GreenFoodOrderDetail逻辑构件
|
|||
|
|
*/
|
|||
|
|
@Resource
|
|||
|
|
private IGreenFoodOrderDetailBizc greenfoodorderdetailBizc;
|
|||
|
|
@Resource
|
|||
|
|
private IHibernateDao hibernateDao;
|
|||
|
|
@Resource
|
|||
|
|
private IGreenFoodOrderListBizc greenfoodorderlistBizc;
|
|||
|
|
@Resource
|
|||
|
|
private IGreenOperateLogBizc greenOperateLogBizc;
|
|||
|
|
@Autowired
|
|||
|
|
private BaseServiceImpl baseService;
|
|||
|
|
private ReentrantLock lock = new ReentrantLock();
|
|||
|
|
|
|||
|
|
@Resource
|
|||
|
|
private AliasManageController aliasManageController;
|
|||
|
|
|
|||
|
|
/**用户订单列表*/
|
|||
|
|
@RequestMapping(value="/list", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult list(@RequestBody Object requestBody){
|
|||
|
|
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
try {
|
|||
|
|
|
|||
|
|
StringBuffer sb = new StringBuffer();
|
|||
|
|
//分页信息
|
|||
|
|
Integer pageSize = greenfoodorderlists.getPageSize() == null ? 10 : Integer.parseInt(greenfoodorderlists.getPageSize());
|
|||
|
|
Integer pageNum = greenfoodorderlists.getPageNum() == null ? 1 : Integer.parseInt(greenfoodorderlists.getPageNum());
|
|||
|
|
// pageNum = (pageNum-1) * pageSize;
|
|||
|
|
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
|
|||
|
|
pageSize = pageSize*pageNum;
|
|||
|
|
//查询订单
|
|||
|
|
sb.append(" select * from (select rn.*,rownum rw from ("
|
|||
|
|
+ "Select gf.id as \"id\",gf.dining_room_id as \"dining_room_id\",gf.user_id as \"user_id\",gf.order_time as \"order_time\",gf.pay_price as \"pay_price\","
|
|||
|
|
+ "gf.pay_status as \"pay_status\",gf.order_status as \"order_status\",gf.take_status as \"take_status\",gf.buyer_name as \"buyer_name\",gf.buyer_phone as \"buyer_phone\","
|
|||
|
|
+ "gf.creator as \"creator\",gf.modifier as \"modifier\",gf.gmt_created as \"gmt_created\",gf.gmt_modified as \"gmt_modified\",gf.is_deleted as \"is_deleted\","
|
|||
|
|
+ " gf.take_food_time as \"take_food_time\",gf.take_food_place as \"take_food_place\",gf.remarks as \"remarks\""
|
|||
|
|
+ ", ");
|
|||
|
|
sb.append(" (select count(t.id) from t_order_evaluate t where t.type_id = gf.id and t.user_id = gf.user_id) as \"order_no\", ");
|
|||
|
|
sb.append(" (select count(t.id) from t_order_evaluate t where t.type_id = gf.dining_room_id and t.user_id = gf.user_id and t.bak1 = gf.id) as \"dining_no\" ");
|
|||
|
|
sb.append(" from GREEN_FOOD_ORDER_LIST gf where gf.user_id = ? and gf.is_deleted = 'N' order by gf.order_time desc) rn )where rw>? and rw<=? ");
|
|||
|
|
|
|||
|
|
List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql(sb.toString()
|
|||
|
|
,new Object[]{ greenfoodorderlists.getUserId(), limit, pageSize});
|
|||
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|||
|
|
|
|||
|
|
String stringId = null;
|
|||
|
|
|
|||
|
|
if (!orderList.isEmpty()) {
|
|||
|
|
stringBuilder.append("(");
|
|||
|
|
for (int i = 0;i<orderList.size();i++) {
|
|||
|
|
stringId = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
stringBuilder.append(stringId + ",");
|
|||
|
|
}
|
|||
|
|
String substring = null;
|
|||
|
|
if (stringBuilder != null) {
|
|||
|
|
substring = stringBuilder.substring(0, stringBuilder.length()-1) +")";
|
|||
|
|
}
|
|||
|
|
//查询订单详情
|
|||
|
|
String sql = "Select a.id as \"id\",a.order_id as \"order_id\",a.goods_id as \"goods_id\",b.food_name as \"goods_name\",b.price as \"price\","
|
|||
|
|
+ "b.unit as \"unit\",a.goods_num as \"goods_num\",b.picture as \"goods_icon\" from GREEN_FOOD_ORDER_DETAIL a left join GREEN_FOODS_KINDS b on a.goods_id = b.id where a.order_id in " + substring;
|
|||
|
|
List<Map<String,Object>> detailList =hibernateDao.queryForListWithSql( sql);
|
|||
|
|
for (Map<String, Object> map : detailList) {
|
|||
|
|
String picString=(String)map.get("goods_icon");
|
|||
|
|
map.put("goods_icon", baseService.getImageBase64(picString));
|
|||
|
|
}
|
|||
|
|
//初始化图片缓存
|
|||
|
|
baseService.initImage();
|
|||
|
|
|
|||
|
|
String stringId2 = null;
|
|||
|
|
String stringId3 = null;
|
|||
|
|
|
|||
|
|
for (int i = 0; i < orderList.size(); i++) {
|
|||
|
|
ArrayList<Object> arrayList = new ArrayList<Object>();
|
|||
|
|
orderList.get(i).put("orderDetails",null);
|
|||
|
|
stringId2 = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
for (int j = 0; j < detailList.size(); j++) {
|
|||
|
|
stringId3 = String.valueOf(detailList.get(j).get("order_id"));
|
|||
|
|
if (stringId2.equals(stringId3)) {
|
|||
|
|
|
|||
|
|
arrayList.add(detailList.get(j));
|
|||
|
|
orderList.get(i).put("orderDetails",arrayList);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
//orderList.get(i).put("orderDetails",detaiList);
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",orderList);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
// greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",null);
|
|||
|
|
}catch (ServiceValidatorBaseException e) {
|
|||
|
|
throw e;
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
// greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询我的订单列表", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**用户今日订单受理列表*/
|
|||
|
|
@RequestMapping(value="/toDaylist", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult toDaylist(@RequestBody Object requestBody){
|
|||
|
|
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
try {
|
|||
|
|
List<Object> params = new ArrayList<Object>();
|
|||
|
|
|
|||
|
|
//greenfoodorderdetailBizc.updateOrderStatus(userId);
|
|||
|
|
StringBuffer sb = new StringBuffer();
|
|||
|
|
Integer pageSize = greenfoodorderlists.getPageSize() == null ? 10 : Integer.parseInt(greenfoodorderlists.getPageSize());
|
|||
|
|
Integer pageNum = greenfoodorderlists.getPageNum() == null ? 1 : Integer.parseInt(greenfoodorderlists.getPageNum());
|
|||
|
|
String queryType = greenfoodorderlists.getQueryType() == null ? "0" :greenfoodorderlists.getQueryType() ;
|
|||
|
|
String takeFoodPlace = greenfoodorderlists.getTakeFoodPlace();
|
|||
|
|
|
|||
|
|
String startDate = greenfoodorderlists.getStartDate();
|
|||
|
|
String endDate = greenfoodorderlists.getEndDate();
|
|||
|
|
|
|||
|
|
String takeDay = "";
|
|||
|
|
int limit = ((pageNum > 0 ? pageNum : 1) - 1) * pageSize;
|
|||
|
|
pageSize = pageSize*pageNum;
|
|||
|
|
sb.append(" select * from (select rn.*,rownum rw from ("
|
|||
|
|
+ "Select id as \"id\",dining_room_id as \"dining_room_id\",user_id as \"user_id\",order_time as \"order_time\",pay_price as \"pay_price\",pay_status as \"pay_status\",order_status as \"order_status\","
|
|||
|
|
+ "take_status as \"take_status\",buyer_name as \"buyer_name\",buyer_phone as \"buyer_phone\",creator as \"creator\",modifier as \"modifier\",gmt_created as \"gmt_created\",gmt_modified as \"gmt_modified\",is_deleted as \"is_deleted\","
|
|||
|
|
+ "take_food_time as \"take_food_time\",take_food_place as \"take_food_place\",remarks as \"remarks\""
|
|||
|
|
+ " from GREEN_FOOD_ORDER_LIST where ")
|
|||
|
|
//.append(" SUBSTRING(order_time,1,10) = DATE_FORMAT(NOW(),'%Y-%m-%d') ")
|
|||
|
|
.append(" is_deleted = 'N' and order_status <> '0' ");
|
|||
|
|
if("0".equals(queryType)){
|
|||
|
|
int week = DateUtil.getWeek(new Date());
|
|||
|
|
if(week==1){
|
|||
|
|
takeDay = DateUtil.addDays(4, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==2){
|
|||
|
|
takeDay = DateUtil.addDays(3, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==3){
|
|||
|
|
takeDay = DateUtil.addDays(2, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==4){
|
|||
|
|
takeDay = DateUtil.addDays(1, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==5){
|
|||
|
|
takeDay = DateUtil.addDays(0, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==6){
|
|||
|
|
takeDay = DateUtil.addDays(6, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==7){
|
|||
|
|
takeDay = DateUtil.addDays(5, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}
|
|||
|
|
sb.append(" and take_food_time= ? ");
|
|||
|
|
params.add(takeDay);
|
|||
|
|
}
|
|||
|
|
if(!StringUtils.isEmpty(takeFoodPlace)){
|
|||
|
|
sb.append(" and take_food_place= ? ");
|
|||
|
|
params.add(takeFoodPlace);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(!StringUtils.isEmpty(startDate)){
|
|||
|
|
// startDate = startDate+" 00:00:00";
|
|||
|
|
// numSql+=" and DATE_FORMAT(order_time,'%Y-%m-%d %H:%i:%S')>=? ";
|
|||
|
|
// params2.add(startDate);
|
|||
|
|
sb.append(" and take_food_time>=? ");
|
|||
|
|
params.add(startDate);
|
|||
|
|
}
|
|||
|
|
if(!StringUtils.isEmpty(endDate)){
|
|||
|
|
// endDate = endDate+" 23:59:59";
|
|||
|
|
// numSql+=" and DATE_FORMAT(order_time,'%Y-%m-%d %H:%i:%S')<=? ";
|
|||
|
|
// params2.add(endDate);
|
|||
|
|
sb.append(" and take_food_time<=? ");
|
|||
|
|
params.add(endDate);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
sb.append(" order by order_time desc ) rn )where rw>? and rw<=?");
|
|||
|
|
params.add(limit);
|
|||
|
|
params.add(pageSize);
|
|||
|
|
List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql(sb.toString()
|
|||
|
|
,params.toArray());
|
|||
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|||
|
|
|
|||
|
|
String stringId = null;
|
|||
|
|
List<Map<String,Object>> numList =new ArrayList<Map<String,Object>>();
|
|||
|
|
if (!orderList.isEmpty()) {
|
|||
|
|
stringBuilder.append("(");
|
|||
|
|
for (int i = 0;i<orderList.size();i++) {
|
|||
|
|
stringId = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
stringBuilder.append(stringId + ",");
|
|||
|
|
}
|
|||
|
|
String substring = null;
|
|||
|
|
if (stringBuilder != null) {
|
|||
|
|
substring = stringBuilder.substring(0, stringBuilder.length()-1) +")";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String sql = "Select a.id as \"id\",a.order_id as \"order_id\",a.goods_id as \"goods_id\",b.food_name as \"goods_name\",b.price as \"price\","
|
|||
|
|
+ "a.goods_num as \"goods_num\",b.picture as \"goods_icon\",b.unit as \"unit\" from GREEN_FOOD_ORDER_DETAIL a left join GREEN_FOODS_KINDS b on a.goods_id = b.id where a.order_id in " + substring;
|
|||
|
|
List<Map<String,Object>> detailList =hibernateDao.queryForListWithSql( sql);
|
|||
|
|
for (Map<String, Object> map : detailList) {
|
|||
|
|
String picString=(String)map.get("goods_icon");
|
|||
|
|
map.put("goods_icon", baseService.getImageBase64(picString));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//初始化图片缓存
|
|||
|
|
baseService.initImage();
|
|||
|
|
|
|||
|
|
String stringId2 = null;
|
|||
|
|
String stringId3 = null;
|
|||
|
|
|
|||
|
|
Map<String, Object> map = new HashMap<String, Object>();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < orderList.size(); i++) {
|
|||
|
|
ArrayList<Object> arrayList = new ArrayList<Object>();
|
|||
|
|
orderList.get(i).put("orderDetails",null);
|
|||
|
|
stringId2 = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
for (int j = 0; j < detailList.size(); j++) {
|
|||
|
|
stringId3 = String.valueOf(detailList.get(j).get("order_id"));
|
|||
|
|
if (stringId2.equals(stringId3)) {
|
|||
|
|
|
|||
|
|
arrayList.add(detailList.get(j));
|
|||
|
|
orderList.get(i).put("orderDetails",arrayList);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
List<Object> params2 = new ArrayList<Object>();
|
|||
|
|
|
|||
|
|
String numSql = " Select count(id) as \"num\",sum(case when order_status = 0 then 0 else pay_price end) as \"price\" from GREEN_FOOD_ORDER_LIST where " +
|
|||
|
|
" is_deleted = 'N' and order_status <> '0' ";//SUBSTRING(order_time,1,10) = DATE_FORMAT(NOW(),'%Y-%m-%d') and
|
|||
|
|
if("0".equals(queryType)){
|
|||
|
|
numSql+=" and take_food_time= ? ";
|
|||
|
|
params2.add(takeDay);
|
|||
|
|
}
|
|||
|
|
if(!StringUtils.isEmpty(takeFoodPlace)){
|
|||
|
|
numSql+=" and take_food_place= ? ";
|
|||
|
|
params2.add(takeFoodPlace);
|
|||
|
|
}
|
|||
|
|
if(!StringUtils.isEmpty(startDate)){
|
|||
|
|
// startDate = startDate+" 00:00:00";
|
|||
|
|
// numSql+=" and DATE_FORMAT(order_time,'%Y-%m-%d %H:%i:%S')>=? ";
|
|||
|
|
// params2.add(startDate);
|
|||
|
|
numSql+=" and take_food_time>=? ";
|
|||
|
|
params2.add(startDate);
|
|||
|
|
}
|
|||
|
|
if(!StringUtils.isEmpty(endDate)){
|
|||
|
|
// endDate = endDate+" 23:59:59";
|
|||
|
|
// numSql+=" and DATE_FORMAT(order_time,'%Y-%m-%d %H:%i:%S')<=? ";
|
|||
|
|
// params2.add(endDate);
|
|||
|
|
numSql+=" and take_food_time<=? ";
|
|||
|
|
params2.add(endDate);
|
|||
|
|
}
|
|||
|
|
numList = hibernateDao.queryForListWithSql(numSql,params2.toArray());
|
|||
|
|
|
|||
|
|
map.put("orderList", orderList);
|
|||
|
|
map.put("numList", numList);
|
|||
|
|
map.put("takeDay",takeDay);
|
|||
|
|
//addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
//orderList.get(i).put("orderDetails",detaiList);
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",map);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
// greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
Map<String, Object> map = new HashMap<String, Object>();
|
|||
|
|
map.put("orderList", orderList);
|
|||
|
|
map.put("numList", numList);
|
|||
|
|
map.put("takeDay",takeDay);
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",map);
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
// greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询我的订单列表", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**用户今日订单受理列表*/
|
|||
|
|
@RequestMapping(value="/getAllFoodList", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult getAllFoodList(Map<String,Object> map){
|
|||
|
|
|
|||
|
|
String userId = map.get("userId").toString();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
try {
|
|||
|
|
List<Object> params = new ArrayList<Object>();
|
|||
|
|
|
|||
|
|
//greenfoodorderdetailBizc.updateOrderStatus(userId);
|
|||
|
|
StringBuffer sb = new StringBuffer();
|
|||
|
|
String queryType = map.get("queryType").toString();
|
|||
|
|
String takeFoodPlace = map.get("takeFoodPlace").toString();
|
|||
|
|
|
|||
|
|
String takeDay = "";
|
|||
|
|
sb.append(" Select id as \"id\" from GREEN_FOOD_ORDER_LIST where is_deleted = 'N' and order_status <> '0' ");
|
|||
|
|
if("0".equals(queryType)){
|
|||
|
|
int week = DateUtil.getWeek(new Date());
|
|||
|
|
if(week==1){
|
|||
|
|
takeDay = DateUtil.addDays(4, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==2){
|
|||
|
|
takeDay = DateUtil.addDays(3, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==3){
|
|||
|
|
takeDay = DateUtil.addDays(2, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==4){
|
|||
|
|
takeDay = DateUtil.addDays(1, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==5){
|
|||
|
|
takeDay = DateUtil.addDays(0, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==6){
|
|||
|
|
takeDay = DateUtil.addDays(6, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}else if(week==7){
|
|||
|
|
takeDay = DateUtil.addDays(5, new Date()).toString("yyyy-MM-dd");
|
|||
|
|
}
|
|||
|
|
sb.append(" and take_food_time= ? ");
|
|||
|
|
params.add(takeDay);
|
|||
|
|
}
|
|||
|
|
if(!StringUtils.isEmpty(takeFoodPlace)){
|
|||
|
|
sb.append(" and take_food_place= ? ");
|
|||
|
|
params.add(takeFoodPlace);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql(sb.toString()
|
|||
|
|
,params.toArray());
|
|||
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|||
|
|
|
|||
|
|
String stringId = null;
|
|||
|
|
if (!orderList.isEmpty()) {
|
|||
|
|
stringBuilder.append("(");
|
|||
|
|
for (int i = 0;i<orderList.size();i++) {
|
|||
|
|
stringId = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
stringBuilder.append(stringId + ",");
|
|||
|
|
}
|
|||
|
|
String substring = null;
|
|||
|
|
if (stringBuilder != null) {
|
|||
|
|
substring = stringBuilder.substring(0, stringBuilder.length()-1) +")";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String sql = "Select b.food_name as \"food_name\" ,sum( a.goods_num) as \"food_num\",b.unit as \"unit\" from GREEN_FOOD_ORDER_DETAIL a left join GREEN_FOODS_KINDS b on a.goods_id = b.id where a.order_id in "+substring+" group by b.food_name,b.unit,b.kinds"
|
|||
|
|
+ " ORDER BY CASE WHEN b.kinds = '面点' THEN 0 WHEN b.kinds = '猪/牛肉' THEN 1 WHEN b.kinds = '卤菜' THEN 2 END" ;
|
|||
|
|
List<Map<String,Object>> allFoodList =hibernateDao.queryForListWithSql( sql);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
//orderList.get(i).put("orderDetails",detaiList);
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",allFoodList);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
// greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",new ArrayList<Map<String,Object>>());
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
// greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询我的订单列表", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**用户订单详情*/
|
|||
|
|
@RequestMapping(value="/detail", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult detail(@RequestBody Object requestBody){
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
try {
|
|||
|
|
|
|||
|
|
// //对所有属性进行后端校验
|
|||
|
|
// validateService.validateWithException(GreenFoodOrderList.class, changedProperies);
|
|||
|
|
|
|||
|
|
List<Map<String,String>> list = hibernateDao.queryForListWithSql("Select l.pay_price,l.order_status,l.dining_room_id,l.order_time,l.buyer_name,l.buyer_phone from GREEN_FOOD_ORDER_LIST l left join GREEN_FOOD_ORDER_DETAIL a on l.id = a.order_id left join GREEN_FOODS_KINDS b on a.goods_id = b.id where a.order_id = ?" ,new Object[]{ greenfoodorderlists.getOrderId()});
|
|||
|
|
List detaiList = hibernateDao.queryForListWithSql("Select a.goods_id,a.order_id,b.price,b.food_name as 'goods_name',a.goods_num,b.picture as 'goods_icon' from GREEN_FOOD_ORDER_LIST l left join GREEN_FOOD_ORDER_DETAIL a on l.id = a.order_id left join GREEN_FOODS_KINDS b on a.goods_id = b.id where a.order_id = ?" ,new Object[]{ greenfoodorderlists.getOrderId()});
|
|||
|
|
for (Object map : detaiList) {
|
|||
|
|
Map maps= (Map)map;
|
|||
|
|
String picString=(String)maps.get("goods_icon");
|
|||
|
|
maps.put("goods_icon",baseService.getImageBase64(picString));
|
|||
|
|
}
|
|||
|
|
if (list.isEmpty()) {
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
String orderStatus = list.get(0).get("order_status");
|
|||
|
|
String payPrice = String.valueOf(list.get(0).get("pay_price"));
|
|||
|
|
String diningRoomId = String.valueOf(list.get(0).get("dining_room_id"));
|
|||
|
|
String orderTime = list.get(0).get("order_time");
|
|||
|
|
Map<String,Object> map = new HashMap<String, Object>();
|
|||
|
|
map.put("diningRoomId",diningRoomId );
|
|||
|
|
map.put("payPrice", payPrice);
|
|||
|
|
map.put("orderStatus", orderStatus);
|
|||
|
|
map.put("detaiList", detaiList);
|
|||
|
|
map.put("orderTime", orderTime);
|
|||
|
|
map.put("realName", list.get(0).get("buyer_name"));
|
|||
|
|
map.put("mobilePhone", list.get(0).get("buyer_phone"));
|
|||
|
|
if (detaiList == null) {
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询我的订单详情", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",map);
|
|||
|
|
}catch (ServiceValidatorBaseException e) {
|
|||
|
|
throw e;
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询我的订单详情", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**取消订单*/
|
|||
|
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
|||
|
|
@RequestMapping(value="/cancelOrder", method = RequestMethod.POST)
|
|||
|
|
@Transactional(rollbackFor=Exception.class)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult cancelOrder(@RequestBody Object requestBody){
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
try {
|
|||
|
|
//加锁 防止出错
|
|||
|
|
lock.lock();
|
|||
|
|
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
// //对所有属性进行后端校验
|
|||
|
|
// validateService.validateWithException(GreenFoodOrderList.class, changedProperies);
|
|||
|
|
|
|||
|
|
GreenFoodOrderList greenFoodOrderList = greenfoodorderlistBizc.get(greenfoodorderlists.getOrderId());
|
|||
|
|
// //对订餐时间做校验
|
|||
|
|
// List<GreenDiningRoom> queryForListWithSql = hibernateDao.queryForListWithSql("Select order_time from GREEN_DINING_ROOM where id = ? ",new Object[]{greenFoodOrderList.getDiningRoomId()},new BeanPropertyRowMapper(GreenDiningRoom.class));
|
|||
|
|
// String cancelOrder = queryForListWithSql.get(0).getOrderTime();
|
|||
|
|
// String[] split = cancelOrder.split("-");
|
|||
|
|
// String format = new SimpleDateFormat("HH:mm").format(new Date());
|
|||
|
|
// long startDate = Long.valueOf(split[0].replaceAll("[-\\s:]",""));
|
|||
|
|
// long endDate = Long.valueOf(split[1].replaceAll("[-\\s:]",""));
|
|||
|
|
// long formatDate1 = Long.valueOf(format.replaceAll("[-\\s:]",""));
|
|||
|
|
// if (formatDate1 < startDate || formatDate1 > endDate) {
|
|||
|
|
// return new RestResult(Constant.FAILED,"不在订餐时间内,不能取消订单!");
|
|||
|
|
// }
|
|||
|
|
if (greenFoodOrderList != null) {
|
|||
|
|
greenFoodOrderList.setOrderStatus(OrderStatus.ORDER_STATUS_CANCEL.getName());
|
|||
|
|
greenfoodorderlistBizc.update(greenFoodOrderList, greenFoodOrderList.getId());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//回库存
|
|||
|
|
List<GreenFoodOrderDetail> list = hibernateDao.queryForListWithSql("Select * from GREEN_FOOD_ORDER_DETAIL where order_id = ? ",new Object[]{greenfoodorderlists.getOrderId()},new BeanPropertyRowMapper(GreenFoodOrderDetail.class));
|
|||
|
|
Long diningRoomId = greenFoodOrderList.getDiningRoomId();
|
|||
|
|
List<Map<String,String>> menuList = null;
|
|||
|
|
if (!list.isEmpty()) {
|
|||
|
|
for (GreenFoodOrderDetail greenFoodOrderDetail : list) {
|
|||
|
|
String menuSql = "SELECT a.id as \"id\",a.location_id as \"location_id\",a.kinds_id as \"kinds_id\",a.menu_id as \"menu_id\",a.food_name as \"food_name\",a.no_buy_num as \"no_buy_num\","
|
|||
|
|
+ "a.sell_number as \"sell_number\",a.quota as \"quota\",a.upload_date as \"upload_date\",a.status as \"status\",a.creator as \"creator\",a.modifier as \"modifier\","
|
|||
|
|
+ "a.gmt_created as \"gmt_created\",a.gmt_modified as \"gmt_modified\",a.is_deleted as \"is_deleted\""
|
|||
|
|
+ " FROM GREEN_FOODS_VARIETY a left join GREEN_FOODS_KINDS b on a.kinds_id = b.id where a.is_deleted = 'N' and a.location_id = ? and kinds_id = ? and a.upload_date = to_char(sysdate,'yyyy-mm-dd')";
|
|||
|
|
menuList = hibernateDao.queryForListWithSql(menuSql,new Object[]{diningRoomId, Long.valueOf(greenFoodOrderDetail.getGoodsId())});
|
|||
|
|
String noBuyNum = String.valueOf(menuList.get(0).get("no_buy_num"));
|
|||
|
|
BigDecimal noBuyNumDecimal = new BigDecimal(noBuyNum);
|
|||
|
|
String goodsNum = greenFoodOrderDetail.getGoodsNum();
|
|||
|
|
BigDecimal goodsNumDecimal = new BigDecimal(goodsNum);
|
|||
|
|
noBuyNumDecimal = noBuyNumDecimal.add(goodsNumDecimal);
|
|||
|
|
hibernateDao.executeSqlUpdate("update GREEN_FOODS_VARIETY set no_buy_num = ? where is_deleted = 'N' and id = ?",
|
|||
|
|
new Object[]{ noBuyNumDecimal, menuList.get(0).get("id")});
|
|||
|
|
|
|||
|
|
// if (diningRoomId == 1) {
|
|||
|
|
// menuList = hibernateDao.queryForListWithSql("SELECT a.* FROM GREEN_FOODS_VARIETY a left join GREEN_FOODS_KINDS b on a.kinds_id = b.id where a.is_deleted = 'N' and a.location_id = 1 and kinds_id = ? and a.upload_date = (SELECT upload_date FROM GREEN_FOODS_VARIETY WHERE upload_date <= DATE_FORMAT(now(), '%Y-%m-%d') and location_id = 1 and is_deleted = 'N' ORDER BY upload_date DESC LIMIT 1 ) ",new Object[]{Long.valueOf(greenFoodOrderDetail.getGoodsId())});
|
|||
|
|
// String noBuyNum = String.valueOf(menuList.get(0).get("no_buy_num"));
|
|||
|
|
// BigDecimal noBuyNumDecimal = new BigDecimal(noBuyNum);
|
|||
|
|
// String goodsNum = greenFoodOrderDetail.getGoodsNum();
|
|||
|
|
// BigDecimal goodsNumDecimal = new BigDecimal(goodsNum);
|
|||
|
|
// noBuyNumDecimal = noBuyNumDecimal.add(goodsNumDecimal);
|
|||
|
|
// hibernateDao.updateWithSql("update GREEN_FOODS_VARIETY set no_buy_num = ? where is_deleted = 'N' and id = ?",new Object[]{ noBuyNumDecimal,menuList.get(0).get("id")});
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// if (diningRoomId == 2) {
|
|||
|
|
// menuList = hibernateDao.queryForListWithSql("SELECT a.* FROM GREEN_FOODS_VARIETY a left join GREEN_FOODS_KINDS b on a.kinds_id = b.id where a.is_deleted = 'N' and a.location_id = 2 and kinds_id = ? and a.upload_date = (SELECT upload_date FROM GREEN_FOODS_VARIETY WHERE upload_date <= DATE_FORMAT(now(), '%Y-%m-%d') and location_id = 2 and is_deleted = 'N' ORDER BY upload_date DESC LIMIT 1 ) ",new Object[]{Long.valueOf(greenFoodOrderDetail.getGoodsId())});
|
|||
|
|
// String noBuyNum = String.valueOf(menuList.get(0).get("no_buy_num"));
|
|||
|
|
// BigDecimal noBuyNumDecimal = new BigDecimal(noBuyNum);
|
|||
|
|
// String goodsNum = greenFoodOrderDetail.getGoodsNum();
|
|||
|
|
// BigDecimal goodsNumDecimal = new BigDecimal(goodsNum);
|
|||
|
|
// noBuyNumDecimal = noBuyNumDecimal.add(goodsNumDecimal);
|
|||
|
|
// hibernateDao.updateWithSql("update GREEN_FOODS_VARIETY set no_buy_num = ? where is_deleted = 'N' and id = ?",new Object[]{ noBuyNumDecimal,menuList.get(0).get("id")});
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
String title = "外卖预订";
|
|||
|
|
String text = "您好,您已成功取消订单。";
|
|||
|
|
String url = "/pages/take-out2/take-out3?currentTabIndex=1";
|
|||
|
|
aliasManageController.pushToSingle(greenFoodOrderList.getUserId(), title, text, url);
|
|||
|
|
|
|||
|
|
String role = "14002";//外卖受理权限
|
|||
|
|
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/today-order/today-order";
|
|||
|
|
aliasManageController.pushToSingleBatch(userList2, title, text, url);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.CANCEL, Constant.OPERATE_SUCCESS, "取消我的订单", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功");
|
|||
|
|
}catch (ServiceValidatorBaseException e) {
|
|||
|
|
throw e;
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.CANCEL, Constant.OPERATE_FAIL, "取消我的订单", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
//设置手动回滚
|
|||
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}finally {
|
|||
|
|
if (lock.isLocked()) {
|
|||
|
|
lock.unlock();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**食堂师傅-订单列表*/
|
|||
|
|
@RequestMapping(value="/listByLocation", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult listBylocation(@RequestBody Object requestBody){
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
try {
|
|||
|
|
|
|||
|
|
// //对所有属性进行后端校验
|
|||
|
|
// validateService.validateWithException(GreenFoodOrderList.class, changedProperies);
|
|||
|
|
GreenUserInfo userInfo = getUserInfo(String.valueOf(greenfoodorderlists.getUserId()));
|
|||
|
|
String ownerLocation = userInfo.getOwnerLocation();
|
|||
|
|
List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql("Select * from GREEN_FOOD_ORDER_LIST where dining_room_id = ? and order_status = '1' and STR_TO_DATE(order_time, '%Y-%m-%d') = date_format(now(),'%y-%m-%d') order by order_time desc" ,new Object[]{ ownerLocation});
|
|||
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|||
|
|
|
|||
|
|
String stringId = null;
|
|||
|
|
if (!orderList.isEmpty()) {
|
|||
|
|
stringBuilder.append("(");
|
|||
|
|
for (int i = 0;i<orderList.size();i++) {
|
|||
|
|
stringId = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
stringBuilder.append(stringId + ",");
|
|||
|
|
}
|
|||
|
|
String substring = null;
|
|||
|
|
if (stringBuilder != null) {
|
|||
|
|
substring = stringBuilder.substring(0, stringBuilder.length()-1) +")";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String sql = "Select a.id,a.order_id,a.goods_id,b.food_name as 'goods_name',b.price,a.goods_num,b.picture as 'goods_icon' from GREEN_FOOD_ORDER_DETAIL a left join GREEN_FOODS_KINDS b on a.goods_id = b.id where order_id in " + substring;
|
|||
|
|
List<Map<String,Object>> detailList =hibernateDao.queryForListWithSql(sql );
|
|||
|
|
for (Map<String, Object> map : detailList) {
|
|||
|
|
String pictureString=(String)map.get("goods_icon");
|
|||
|
|
map.put("goods_icon", baseService.getImageBase64(pictureString));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
String stringId2 = null;
|
|||
|
|
String stringId3 = null;
|
|||
|
|
for (int i = 0; i < orderList.size(); i++) {
|
|||
|
|
ArrayList<Object> arrayList = new ArrayList<Object>();
|
|||
|
|
stringId2 = String.valueOf(orderList.get(i).get("id"));
|
|||
|
|
for (int j = 0; j < detailList.size(); j++) {
|
|||
|
|
stringId3 = String.valueOf(detailList.get(j).get("order_id"));
|
|||
|
|
if (stringId2.equals(stringId3)) {
|
|||
|
|
|
|||
|
|
arrayList.add(detailList.get(j));
|
|||
|
|
orderList.get(i).put("orderDetails",arrayList);
|
|||
|
|
if ("1".equals(ownerLocation) ) {
|
|||
|
|
orderList.get(i).put("diningRoomName", Constant.DINING_HQ);
|
|||
|
|
}
|
|||
|
|
if ("2".equals(ownerLocation)) {
|
|||
|
|
orderList.get(i).put("diningRoomName", Constant.DINING_YZ);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询今日订单列表", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",orderList);
|
|||
|
|
|
|||
|
|
|
|||
|
|
}catch (ServiceValidatorBaseException e) {
|
|||
|
|
throw e;
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询今日订单列表", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**食堂师傅-订单概览*/
|
|||
|
|
@RequestMapping(value="/sellView", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult sellView(@RequestBody Object requestBody){
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
try {
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GreenUserInfo userInfo = getUserInfo(String.valueOf(greenfoodorderlists.getUserId()));
|
|||
|
|
String ownerLocation = userInfo.getOwnerLocation();
|
|||
|
|
List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql("Select COUNT(*) as 'orderCount',IF(sum(pay_price) is null,0,sum(pay_price)) AS 'sellPrice' from GREEN_FOOD_ORDER_LIST where dining_room_id = ? and order_status = '1' and STR_TO_DATE(order_time, '%Y-%m-%d') = date_format(now(),'%y-%m-%d') order by order_time desc" ,new Object[]{ ownerLocation});
|
|||
|
|
|
|||
|
|
Map<String,Object> map = new HashMap<String, Object>();
|
|||
|
|
map.put("orderCount", orderList.get(0).get("orderCount"));
|
|||
|
|
map.put("sellPrice", orderList.get(0).get("sellPrice"));
|
|||
|
|
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询今日订单概览", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",map);
|
|||
|
|
|
|||
|
|
|
|||
|
|
}catch (ServiceValidatorBaseException e) {
|
|||
|
|
throw e;
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询今日订单概览", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**食堂师傅-热卖菜品*/
|
|||
|
|
@RequestMapping(value="/sellHot", method = RequestMethod.POST)
|
|||
|
|
@ResponseBody
|
|||
|
|
public RestResult sellHot(@RequestBody Object requestBody){
|
|||
|
|
GreenFoodOrderListDTO greenfoodorderlists = new ObjectMapper().convertValue(requestBody, new TypeReference<GreenFoodOrderListDTO>() {});
|
|||
|
|
try {
|
|||
|
|
String userId = greenfoodorderlists.getUserId();
|
|||
|
|
GreenUserInfo info = getUserInfo(userId);
|
|||
|
|
if(info==null){
|
|||
|
|
return new RestResult(Constant.FAILED, "非法用户");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GreenUserInfo userInfo = getUserInfo(String.valueOf(greenfoodorderlists.getUserId()));
|
|||
|
|
String ownerLocation = userInfo.getOwnerLocation();
|
|||
|
|
// List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql("Select k.food_name,any_value(i.image_content) AS 'image_content',IF(sum(d.goods_num) is null,0,sum(d.goods_num)) AS 'sellNum' from GREEN_FOOD_ORDER_LIST l"
|
|||
|
|
// +" LEFT JOIN GREEN_FOOD_ORDER_DETAIL d ON l.id = d.order_id LEFT JOIN GREEN_FOODS_KINDS k ON k.id = d.goods_id LEFT JOIN GREEN_IMAGE_INFO i on i.id = k.picture where l.dining_room_id = ? and l.order_status = '1' and STR_TO_DATE(l.order_time, '%Y-%m-%d') = date_format(now(),'%y-%m-%d') AND l.is_deleted = 'N' GROUP BY k.food_name order by sellNum desc" ,new Object[]{ ownerLocation});
|
|||
|
|
|
|||
|
|
List<Map<String,Object>> orderList = hibernateDao.queryForListWithSql("Select k.food_name,k.picture AS 'image_content',IF(sum(d.goods_num) is null,0,sum(d.goods_num)) AS 'sellNum' from GREEN_FOOD_ORDER_LIST l"
|
|||
|
|
+" LEFT JOIN GREEN_FOOD_ORDER_DETAIL d ON l.id = d.order_id LEFT JOIN GREEN_FOODS_KINDS k ON k.id = d.goods_id where l.dining_room_id = ? and l.order_status = '1' and STR_TO_DATE(l.order_time, '%Y-%m-%d') = date_format(now(),'%y-%m-%d') AND l.is_deleted = 'N' GROUP BY k.food_name,k.picture order by sellNum desc" ,new Object[]{ ownerLocation});
|
|||
|
|
for (Map<String, Object> map : orderList) {
|
|||
|
|
String picString=String.valueOf(map.get("image_content"));
|
|||
|
|
map.put("image_content", baseService.getImageBase64(picString));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//greenOperateLogBizc.addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_SUCCESS, "查询今日订单热销菜品", Constant.LOG_OPERATE, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.SUCCESS,"成功",orderList);
|
|||
|
|
|
|||
|
|
|
|||
|
|
}catch (ServiceValidatorBaseException e) {
|
|||
|
|
throw e;
|
|||
|
|
}catch (Exception e) {
|
|||
|
|
e.printStackTrace();
|
|||
|
|
addLog(Constant.ORDER_LIST, Constant.QUERY, Constant.OPERATE_FAIL, "查询今日订单热销菜品", Constant.LOG_ERROR, greenfoodorderlists.getUserId());
|
|||
|
|
return new RestResult(Constant.FAILED,"返回异常");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|