123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package com.iamberry.wechat.service.agentInfo;
- import com.iamberry.wechat.core.entity.OrderUtil;
- import com.iamberry.wechat.core.entity.agentInfo.AgentConfig;
- import com.iamberry.wechat.core.entity.agentInfo.AgentOrder;
- import com.iamberry.wechat.core.entity.agentInfo.AgentOrderItem;
- import com.iamberry.wechat.core.entity.product.Product;
- import com.iamberry.wechat.core.entity.product.ProductColor;
- import com.iamberry.wechat.face.agentInfo.AgentPurchaseOrderService;
- import com.iamberry.wechat.service.mapper.AgentInfoMapper;
- import com.iamberry.wechat.service.mapper.AgentPurchaseOrderMapper;
- import com.iamberry.wechat.service.mapper.ProductInfoMapper;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * Created by liuzhiwei on 2017/10/11.
- */
- @Service
- public class AgentPurchaseOrderServiceImpl implements AgentPurchaseOrderService {
- @Autowired
- private AgentPurchaseOrderMapper agentPurchaseOrderMapper;
- @Autowired
- private ProductInfoMapper productInfoMapper;
- @Autowired
- private AgentInfoMapper agentInfoMapper;
- @Override
- @Transactional
- public Map<String,Object> addAgentOrder(AgentOrder agentOrder, List<AgentOrderItem> agentOrderItemList) {
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("status",400);
- agentOrder.setAgentStatus(OrderUtil.ORDERSTAUTS_TOBEPAID); //设置状态为:未支付
- int amount = 0; //订单总金额
- for(AgentOrderItem agentOrderItem : agentOrderItemList){
- ProductColor productColor = new ProductColor();
- productColor.setColorId(agentOrderItem.getColorId());
- productColor.setColorProductId(agentOrderItem.getProductId());
- productColor = productInfoMapper.getProductColor(productColor);
- Product product = productInfoMapper.getProductByProductId(agentOrderItem.getProductId(),agentOrderItem.getColorId());
- if(productColor == null || product == null){
- map.put("msg","查询产品出错!");
- return map;
- }
- agentOrderItem.setAgentOrderid(agentOrder.getAgentOrderid()); //订单id
- agentOrderItem.setProductId(product.getProductId()); //产品id
- agentOrderItem.setItemProductName(product.getProductName()); //产品名称
- agentOrderItem.setColorId(productColor.getColorId()); //颜色id
- agentOrderItem.setItemColorName(productColor.getColorName()); //颜色名称
- agentOrderItem.setProductType(product.getProductType().getTypeId()); //产品类型id
- agentOrderItem.setProductRentType(product.getProductRentType()); //销售类型
- agentOrderItem.setItemProductPrice(productColor.getColorPrice()); //商品原价
- agentOrderItem.setItemProductPic(product.getProductIntroduceImg()); //介绍图
- // -------- 计算金额 ---------
- Integer discount = 0; //优惠价
- AgentConfig agentConfig = new AgentConfig();
- agentConfig.setColorId(productColor.getColorId());
- agentConfig.setAgentId(agentOrder.getAgentId());
- agentConfig = agentInfoMapper.getAgentConfig(agentConfig);
- if(agentConfig != null){
- discount = agentConfig.getConfigAmount();
- }else{
- discount = productColor.getColorDiscount();
- }
- agentOrderItem.setItemProductDiscount(discount); //商品优惠价
- Integer itemSummary = 0;
- if(agentOrderItem.getItemNum() == null || agentOrderItem.getItemNum() < 1){
- map.put("msg","产品数量不能小于1!");
- return map;
- }
- itemSummary = agentOrderItem.getItemNum() * discount; //计算订单项小结
- amount += itemSummary; //计算订单总金额
- }
- agentOrder.setAgentAmount(amount); //订单金额
- agentOrder.setAgentYetAmount(amount); //付款金额
- Integer flag = agentPurchaseOrderMapper.addAgentOrder(agentOrder);
- if(flag < 1){
- map.put("msg","生成订单失败!");
- return map;
- }
- flag = agentPurchaseOrderMapper.addAgentOrderItemList(agentOrderItemList);
- map.put("status",200);
- map.put("agentOrder",agentOrder);
- map.put("msg","订单生成成功!");
- return map;
- }
- @Override
- public List<AgentOrderItem> listAgentOrderItemByOrderId(String orderId) {
- AgentOrderItem agentOrderItem = new AgentOrderItem();
- agentOrderItem.setAgentOrderid(orderId);
- return agentPurchaseOrderMapper.listAgentOrderItem(agentOrderItem);
- }
- @Override
- public List<AgentOrder> listAgentOrder(AgentOrder agentOrder) {
- return agentPurchaseOrderMapper.listAgentOrder(agentOrder);
- }
- }
|