|
@@ -7,24 +7,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.gexin.fastjson.JSON;
|
|
import com.gexin.fastjson.JSON;
|
|
-import com.szwl.constant.ResponseCodesEnum;
|
|
|
|
-import com.szwl.feign.EsFeign;
|
|
|
|
import com.szwl.feign.SzwlFeign;
|
|
import com.szwl.feign.SzwlFeign;
|
|
import com.szwl.feign.bean.TAdminParam;
|
|
import com.szwl.feign.bean.TAdminParam;
|
|
import com.szwl.model.bean.CoinOrderVO;
|
|
import com.szwl.model.bean.CoinOrderVO;
|
|
import com.szwl.model.bo.JsonMessage;
|
|
import com.szwl.model.bo.JsonMessage;
|
|
import com.szwl.model.bo.R;
|
|
import com.szwl.model.bo.R;
|
|
import com.szwl.model.bo.ResponseModel;
|
|
import com.szwl.model.bo.ResponseModel;
|
|
-import com.szwl.model.entity.TAdmin;
|
|
|
|
-import com.szwl.model.entity.TCoinOrder;
|
|
|
|
-import com.szwl.model.entity.TEquipment;
|
|
|
|
|
|
+import com.szwl.model.entity.*;
|
|
import com.szwl.model.query.OrderStatisticsDTO;
|
|
import com.szwl.model.query.OrderStatisticsDTO;
|
|
import com.szwl.model.query.Pageable;
|
|
import com.szwl.model.query.Pageable;
|
|
import com.szwl.model.utils.JsonUtils;
|
|
import com.szwl.model.utils.JsonUtils;
|
|
-import com.szwl.service.TAdminService;
|
|
|
|
-import com.szwl.service.TCoinOrderService;
|
|
|
|
-import com.szwl.service.TEquipmentService;
|
|
|
|
|
|
+import com.szwl.service.*;
|
|
import com.szwl.service.es.EsTCoinOrderService;
|
|
import com.szwl.service.es.EsTCoinOrderService;
|
|
|
|
+import com.szwl.util.HuifuUtils;
|
|
import com.szwl.util.IDGenerator;
|
|
import com.szwl.util.IDGenerator;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
@@ -36,6 +31,7 @@ import java.math.BigDecimal;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -55,6 +51,10 @@ public class TCoinOrderController {
|
|
EsTCoinOrderService esTCoinOrderService;
|
|
EsTCoinOrderService esTCoinOrderService;
|
|
@Autowired
|
|
@Autowired
|
|
TCoinOrderService coinOrderService;
|
|
TCoinOrderService coinOrderService;
|
|
|
|
+ @Autowired
|
|
|
|
+ TOrderDetailsService orderDetailsService;
|
|
|
|
+ @Autowired
|
|
|
|
+ TNameDictionaryService nameDictionaryService;
|
|
// @Resource
|
|
// @Resource
|
|
// EsFeign esFeign;
|
|
// EsFeign esFeign;
|
|
|
|
|
|
@@ -96,7 +96,6 @@ public class TCoinOrderController {
|
|
BigDecimal price = coinOrderVO.getPrice();
|
|
BigDecimal price = coinOrderVO.getPrice();
|
|
String sn = coinOrderVO.getSn();
|
|
String sn = coinOrderVO.getSn();
|
|
TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(clientId));
|
|
TEquipment equipment = R.getDataIfSuccess(szwlFeign.findEquipmentByClientId(clientId));
|
|
-// System.out.println("设备信息》》》" + equipment);
|
|
|
|
String machineType = equipment.getMachineType(); // 设备类型
|
|
String machineType = equipment.getMachineType(); // 设备类型
|
|
|
|
|
|
Long adminId = equipment.getAdminId();
|
|
Long adminId = equipment.getAdminId();
|
|
@@ -117,22 +116,37 @@ public class TCoinOrderController {
|
|
coinOrder.setProductName(name);
|
|
coinOrder.setProductName(name);
|
|
coinOrder.setPayType(payType);
|
|
coinOrder.setPayType(payType);
|
|
coinOrder.setPrice(price);
|
|
coinOrder.setPrice(price);
|
|
- coinOrder.setProductNo(coinOrderVO.getNo());
|
|
|
|
coinOrder.setSn(sn);
|
|
coinOrder.setSn(sn);
|
|
- coinOrder.setStatus(1); // 线下纸币器订单都是已付款
|
|
|
|
- coinOrder.setIsAir("0"); // 0或null 非空中云汇
|
|
|
|
|
|
+ // 线下纸币器订单都是已付款
|
|
|
|
+ coinOrder.setStatus(1);
|
|
|
|
+ // 0或null 非空中云汇
|
|
|
|
+ coinOrder.setIsAir("0");
|
|
coinOrder.setEquipmentId(equipment.getId());
|
|
coinOrder.setEquipmentId(equipment.getId());
|
|
-// // 设备类型0或null是棉花糖,1是爆米花
|
|
|
|
-// if ("1".equals(machineType)) {
|
|
|
|
-// coinOrder.setMachineType("1");
|
|
|
|
-// }
|
|
|
|
-// // 如果是七云
|
|
|
|
-// if ("1".equals(companyType)) {
|
|
|
|
-// coinOrder.setCompanyType("1");
|
|
|
|
-// }
|
|
|
|
- coinOrder.setMachineType(machineType);
|
|
|
|
- coinOrder.setCompanyType(companyType);
|
|
|
|
|
|
|
|
|
|
+ // 保存订单明细
|
|
|
|
+ TOrderDetails tOrderDetails = new TOrderDetails();
|
|
|
|
+ tOrderDetails.setOrderSn(sn);
|
|
|
|
+ tOrderDetails.setEquipmentId(equipment.getId());
|
|
|
|
+ tOrderDetails.setRefundStatus("1");
|
|
|
|
+ tOrderDetails.setAdminId(adminId);
|
|
|
|
+
|
|
|
|
+ // 设备类型
|
|
|
|
+ if (StringUtils.isNotEmpty(machineType) && machineType.equals("1")) {
|
|
|
|
+ coinOrder.setMachineType(machineType);
|
|
|
|
+ tOrderDetails.setMachineType(machineType);
|
|
|
|
+ } else {
|
|
|
|
+ coinOrder.setMachineType("0");
|
|
|
|
+ tOrderDetails.setMachineType("0");
|
|
|
|
+ }
|
|
|
|
+ // 公司平台
|
|
|
|
+ if (StringUtils.isNotEmpty(companyType) && companyType.equals("1")) {
|
|
|
|
+ coinOrder.setCompanyType(companyType);
|
|
|
|
+ tOrderDetails.setCompanyType(companyType);
|
|
|
|
+ } else {
|
|
|
|
+ coinOrder.setCompanyType("0");
|
|
|
|
+ tOrderDetails.setCompanyType("0");
|
|
|
|
+ }
|
|
|
|
+ // 商品数量
|
|
if (coinOrderVO.getProductNumber() == null || coinOrderVO.getProductNumber() == 0) {
|
|
if (coinOrderVO.getProductNumber() == null || coinOrderVO.getProductNumber() == 0) {
|
|
coinOrderVO.setProductNumber(1);
|
|
coinOrderVO.setProductNumber(1);
|
|
} else {
|
|
} else {
|
|
@@ -149,12 +163,68 @@ public class TCoinOrderController {
|
|
coinOrder.setCreateDate(date1);
|
|
coinOrder.setCreateDate(date1);
|
|
coinOrder.setModifyDate(date1);
|
|
coinOrder.setModifyDate(date1);
|
|
coinOrder.setPayDate(date1);
|
|
coinOrder.setPayDate(date1);
|
|
|
|
+ tOrderDetails.setCreateDate(date1);
|
|
} else {
|
|
} else {
|
|
coinOrder.setCreateDate(new Date());
|
|
coinOrder.setCreateDate(new Date());
|
|
coinOrder.setModifyDate(new Date());
|
|
coinOrder.setModifyDate(new Date());
|
|
coinOrder.setPayDate(new Date());
|
|
coinOrder.setPayDate(new Date());
|
|
|
|
+ tOrderDetails.setCreateDate(new Date());
|
|
}
|
|
}
|
|
coinOrderService.save(coinOrder);
|
|
coinOrderService.save(coinOrder);
|
|
|
|
+ if (name.contains("-")) {
|
|
|
|
+ HashMap<String, Integer> map = new HashMap<>();
|
|
|
|
+ String[] split = name.split(",");
|
|
|
|
+ for (String s : split) {
|
|
|
|
+ String[] strings = s.split("-");
|
|
|
|
+ map.put(strings[0],Integer.valueOf(strings[1]));
|
|
|
|
+ }
|
|
|
|
+ for (String key : map.keySet()) {
|
|
|
|
+ // key:"A01",value:"1"
|
|
|
|
+ // 找到商品名称对应设备的商品信息
|
|
|
|
+ Integer productNumber = map.get(key);
|
|
|
|
+ tOrderDetails.setId(HuifuUtils.initDetailsId());
|
|
|
|
+ tOrderDetails.setProductNumber(productNumber);
|
|
|
|
+ tOrderDetails.setProductName(key);
|
|
|
|
+ TProduct product = R.getDataIfSuccess(szwlFeign.getProduct(String.valueOf(equipment.getId()), key));
|
|
|
|
+ if (product == null) {
|
|
|
|
+ // 找到对应的商品名称的字典
|
|
|
|
+ LambdaQueryWrapper<TNameDictionary> wrapper = Wrappers.lambdaQuery();
|
|
|
|
+ wrapper.eq(TNameDictionary::getName, key);
|
|
|
|
+ List<TNameDictionary> list = nameDictionaryService.list(wrapper);
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ tOrderDetails.setProductNo(list.get(0).getNo());
|
|
|
|
+ } else {
|
|
|
|
+ tOrderDetails.setProductNo("A01");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ tOrderDetails.setProductNo(product.getNo());
|
|
|
|
+ }
|
|
|
|
+ orderDetailsService.save(tOrderDetails);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ tOrderDetails.setId(HuifuUtils.initDetailsId());
|
|
|
|
+ tOrderDetails.setProductName(name);
|
|
|
|
+ tOrderDetails.setProductNumber(1);
|
|
|
|
+ if (name.contains("DIY")) {
|
|
|
|
+ tOrderDetails.setProductNo("A99");
|
|
|
|
+ } else {
|
|
|
|
+ TProduct product = R.getDataIfSuccess(szwlFeign.getProduct(String.valueOf(equipment.getId()), name));
|
|
|
|
+ if (product == null) {
|
|
|
|
+ // 找到对应的商品名称的字典
|
|
|
|
+ LambdaQueryWrapper<TNameDictionary> wrapper = Wrappers.lambdaQuery();
|
|
|
|
+ wrapper.eq(TNameDictionary::getName, name);
|
|
|
|
+ List<TNameDictionary> list = nameDictionaryService.list(wrapper);
|
|
|
|
+ if (list.size() > 0) {
|
|
|
|
+ tOrderDetails.setProductNo(list.get(0).getNo());
|
|
|
|
+ } else {
|
|
|
|
+ tOrderDetails.setProductNo("A01");
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ tOrderDetails.setProductNo(product.getNo());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ orderDetailsService.save(tOrderDetails);
|
|
|
|
+ }
|
|
try {
|
|
try {
|
|
esTCoinOrderService.insertData(coinOrder);
|
|
esTCoinOrderService.insertData(coinOrder);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|