Package com.iteye.tianshi.web.controller.base

Source Code of com.iteye.tianshi.web.controller.base.TProductOrderController

package com.iteye.tianshi.web.controller.base;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.iteye.tianshi.core.page.Page;
import com.iteye.tianshi.core.page.PageRequest;
import com.iteye.tianshi.core.util.ResponseData;
import com.iteye.tianshi.core.web.controller.BaseController;
import com.iteye.tianshi.web.model.base.TDistributor;
import com.iteye.tianshi.web.model.base.TProductDetail;
import com.iteye.tianshi.web.model.base.TProductInfo;
import com.iteye.tianshi.web.model.base.TShopInfo;
import com.iteye.tianshi.web.service.base.TDistributorService;
import com.iteye.tianshi.web.service.base.TProductDetailService;
import com.iteye.tianshi.web.service.base.TProductInfoService;
import com.iteye.tianshi.web.service.base.TShopInfoService;

/**
* 订单录入 业务方法
*/
@Controller
@RequestMapping("/order")
public class TProductOrderController extends BaseController {
  @Autowired
  private TProductDetailService tDetailService;
 
  @Autowired
  private TDistributorService tDistributorService;
 
  @Autowired
  private TShopInfoService tShopInfoService;
 
  @Autowired
  private TProductInfoService tProductInfoService;
 
  @RequestMapping("/index")
  public String index(){
    return "admin/base/order";
  }
 
 
  /**
   * 订单录入
   */
  @RequestMapping(value = "/insertTProductOrder", method = RequestMethod.POST)
  @ResponseBody
  public ResponseData insertTProductOrder(TProductDetail tDetail){
    //总额
    tDetail.setSumPrice(tDetail.getProductPrice()*tDetail.getSaleNumber());
    TDistributor dist = tDistributorService.findByProperty("distributorCode", tDetail.getDistributorCode()).get(0);
    //经销商ID
    tDetail.setDistributorId(dist.getId());
    //层级
    tDetail.setFloors(dist.getFloors());
    tDetail.setCreateTime(new Date());
    tDetailService.insertEntity(tDetail);
    return ResponseData.SUCCESS_NO_DATA;
  }
 
  /**
   * 订单修改
   */
  @RequestMapping(value = "/updateTProductOrder", method = RequestMethod.POST)
  @ResponseBody
  public  ResponseData updateTProductOrder(TProductDetail tDetail){
    //总额
    tDetail.setSumPrice(tDetail.getProductPrice()*tDetail.getSaleNumber());
    TDistributor dist = tDistributorService.findByProperty("distributorCode", tDetail.getDistributorCode()).get(0);
    //经销商ID
    tDetail.setDistributorId(dist.getId());
    //层级
    tDetail.setFloors(dist.getFloors());
    tDetailService.updateEntity(tDetail);
    return ResponseData.SUCCESS_NO_DATA;
  }
 
  /**
   * 订单删除
   */
  @RequestMapping(value = "/deleteTProductOrder", method = RequestMethod.POST)
  @ResponseBody
  public ResponseData deleteTProductOrder(Long[] ids){
    for(Long id : ids){
      tDetailService.deleteEntity(id);
    }
    return ResponseData.SUCCESS_NO_DATA;
  }
 
  /**
   * 订单加载
   * 加载时通过经销商编号,查出经销商名称、专卖店编号、专卖店名称
   * 通过产品编号,查出产品名称、产品价格、PV值、BV值
   */
  @RequestMapping(value = "/loadTProductOrder", method = RequestMethod.POST)
  @ResponseBody
  public TProductDetail loadTProductOrder(Long id){
    TProductDetail order =  tDetailService.findEntity(id);
   
    TDistributor dist = tDistributorService.findByProperty("distributorCode", order.getDistributorCode()).get(0);
    order.setDistributorName(dist.getDistributorName());
    Long shopId = dist.getShopId();
    dist = null;
   
    TShopInfo shop = tShopInfoService.findEntity(shopId);
    order.setShopCode(shop.getShopCode());
    order.setShopName(shop.getShopName());
    shop = null;
   
    TProductInfo product = tProductInfoService.findByProperty("productCode", order.getProductCode()).get(0);
    order.setProductName(product.getProductName());
    return order;
  }
 
  /**
   * 订单分页查询
   */
  @RequestMapping("/pageQueryTProductOrder")
  @ResponseBody
  public Page<TProductDetail> pageQueryTProductOrder(
      @RequestParam("start") int startIndex,
      @RequestParam("limit") int pageSize, TProductDetail tDetail,
      @RequestParam(required = false)String startTime,
      @RequestParam(required = false)String  endTime,
      @RequestParam(required = false) String sort,
      @RequestParam(required = false) String dir) throws Exception {
    PageRequest<TProductDetail> pageRequest = new PageRequest<TProductDetail>(
        startIndex, pageSize);
    if (StringUtils.hasText(sort) && StringUtils.hasText(dir))
      pageRequest.setSortColumns(sort + " " + dir);
    Map<String, Object> filters = pageRequest.getFilters();
    SimpleDateFormat sdf  = new SimpleDateFormat("yyyy-MM-dd");
    boolean isTimeDefine = false;
    if(StringUtils.hasText(startTime)){
      isTimeDefine = true;
      pageRequest.setStartTime(sdf.parse(startTime));
    }
    if(StringUtils.hasText(endTime)){
      isTimeDefine = true;
      pageRequest.setEndTime(sdf.parse(endTime));
    }
    if(isTimeDefine){
      pageRequest.setTimeField("createTime")
    }
    //根据经销商编号查询
    if (StringUtils.hasText(tDetail.getDistributorCode())) {
      filters.put("distributorCode", tDetail.getDistributorCode());
    }
    //根据产品编号查询
    if (StringUtils.hasText(tDetail.getProductCode())) {
      filters.put("productCode", tDetail.getProductCode());
    }
    //根据book查询
    if (tDetail.getBook()!=null) {
      filters.put("book", tDetail.getBook());
    }
    Page<TProductDetail> page = tDetailService.findAllForPage(pageRequest);
    List<TDistributor> disList  = null;
    List<TProductInfo>  productList = null;
    for (TProductDetail tProductDetail: page.getResult()) {
      String productCode = tProductDetail.getProductCode();
      String distributorCode = tProductDetail.getDistributorCode();
      disList = tDistributorService.findByProperty("distributorCode", distributorCode);
      if (!disList.isEmpty()) {
        Long shopId = disList.get(0).getShopId();
        if(shopId!=null){
          TShopInfo tShopInfo = tShopInfoService.findEntity(shopId);
          tProductDetail.setShopCode(tShopInfo.getShopCode());
          tProductDetail.setShopName(tShopInfo.getShopName());
        }
        tProductDetail.setDistributorName(disList.get(0).getDistributorName());
      }
      productList = tProductInfoService.findByProperty("productCode", productCode);
      if (!productList.isEmpty()) {
        tProductDetail.setPV(productList.get(0).getProductPv());
        tProductDetail.setBV(productList.get(0).getProductBv());
        tProductDetail.setProductName(productList.get(0).getProductName());
      }
      tProductDetail.setProductPrice(tProductDetail.getProductPrice());
    }
    disList  = null;
    productList = null;
    return page;
  }

}
TOP

Related Classes of com.iteye.tianshi.web.controller.base.TProductOrderController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.