From 2a657816357fa151ceca1b7e9f5dbfa768295fcf Mon Sep 17 00:00:00 2001 From: Carl <376654749@qq.com> Date: Mon, 27 Dec 2021 16:12:52 +0800 Subject: [PATCH] add order logic. --- .../royalcanin/good/GoodController.java | 40 ++++++++++- .../royalcanin/good/OrderController.java | 21 +++++- .../royalcanin/good/service/OrderService.java | 71 ++++++++++++++++--- .../orderMaster/AddOrSaveEntity.java | 4 +- .../orderMaster/OrderDatilListEntity.java | 2 +- .../src/main/resources/sql/smart-admin.sql | 2 +- 6 files changed, 124 insertions(+), 16 deletions(-) diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java index f78ce6d5..e64bf6dc 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java @@ -1,16 +1,23 @@ package net.lab1024.smartadmin.module.system.royalcanin.good; +import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.lab1024.smartadmin.common.anno.OperateLog; +import net.lab1024.smartadmin.common.domain.ResponseDTO; +import net.lab1024.smartadmin.common.heartbeat.StringUtil; import net.lab1024.smartadmin.constant.SwaggerTagConst; +import net.lab1024.smartadmin.module.system.royalcanin.domain.RoyalcaninOperateLogEntity; +import net.lab1024.smartadmin.module.system.royalcanin.domain.RoyalcaninOperateLogService; import net.lab1024.smartadmin.module.system.royalcanin.good.model.GoodsEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.service.GoodService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import java.text.SimpleDateFormat; import java.util.List; @Api(tags = {SwaggerTagConst.Admin.MANAGER_MALL_API}) @@ -18,6 +25,8 @@ import java.util.List; @RestController public class GoodController { + @Autowired + private RoyalcaninOperateLogService royalcaninOperateLogService; @Autowired private GoodService goodService; @@ -36,13 +45,27 @@ public class GoodController { @ApiOperation(value = "查询标品信息", notes = "查询标品信息") @PostMapping("royalcanin/h5/brand/query") public String transferBrand(GoodsEntity goodsEntity) throws Exception { - return goodService.brandQuery(goodsEntity); + String result = "null"; + long startTime = System.currentTimeMillis(); + result = goodService.brandQuery(goodsEntity); + long acceptTime = System.currentTimeMillis() ; + long elapsedTime = acceptTime - startTime; + //记录服务响应时间 + addOperatreFullData("royalcanin/h5/brand/query",result.length()+"", startTime,elapsedTime,acceptTime,result.length() >0 ?"1":"0",result.length() >0 ?"SUCCESS":"FAIL"); + return result; } @ApiOperation(value = "查询商品信息", notes = "查询标品信息") @PostMapping("royalcanin/h5/product/query") public String transferProducts(GoodsEntity goodsEntity) throws Exception { - return goodService.productQuery(goodsEntity); + + long startTime = System.currentTimeMillis(); + String result = goodService.productQuery(goodsEntity); + long acceptTime = System.currentTimeMillis() ; + long elapsedTime = acceptTime - startTime; + //记录服务响应时间 + addOperatreFullData("royalcanin/h5/product/query",result.length()+"", startTime,elapsedTime,acceptTime,result.length() >0 ?"1":"0",result.length() >0 ?"SUCCESS":"FAIL"); + return result; } @ApiOperation(value = "查询筛选标签信息", notes = "查询筛选标签信息") @@ -51,5 +74,18 @@ public class GoodController { return goodService.productSearchQuery(); } + public ResponseDTO addOperatreFullData(String type, String params, Long startTime, Long elapsedTime, Long acceptTime,String code,String msg)throws Exception{ + SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + RoyalcaninOperateLogEntity royalcaninOperateLogEntity = new RoyalcaninOperateLogEntity(); + royalcaninOperateLogEntity.setElapsedTime(StringUtil.toString(elapsedTime)); + royalcaninOperateLogEntity.setStartTime(dateformat.format(startTime)); + royalcaninOperateLogEntity.setMethod(type); + royalcaninOperateLogEntity.setCode(code); + royalcaninOperateLogEntity.setMsg(msg); + royalcaninOperateLogEntity.setParams(params); + royalcaninOperateLogEntity.setAcceptTime(dateformat.format(acceptTime)); + royalcaninOperateLogService.add(royalcaninOperateLogEntity); + return ResponseDTO.succ(); + } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java index 33a0c0df..a734e170 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java @@ -15,6 +15,7 @@ import net.lab1024.smartadmin.module.system.qrcode.QRCodeUtil; import net.lab1024.smartadmin.module.system.royalcanin.good.constant.OrderResponseCodeConst; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.service.OrderService; +import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.OrderDatilListEntity; import net.lab1024.smartadmin.module.system.wxpay.WxpayService; import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity; import org.springframework.beans.factory.annotation.Autowired; @@ -48,8 +49,15 @@ public class OrderController { int buyCount = 0; double total_fee = 0 ; WxPayEntity wxPayEntity = new WxPayEntity(); + List orderDatilListEntitiesList = new ArrayList<>(); OrdersEntity ordersEntity = new OrdersEntity(); for (OrdersEntity ordersEntitys:ordersEntityList) { + //存储orderDetailList + OrderDatilListEntity orderDatilListEntity= new OrderDatilListEntity(); + orderDatilListEntity.setProductName(ordersEntitys.getProductName()); + orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); + orderDatilListEntity.setProductId(ordersEntitys.getProductId()); + orderDatilListEntitiesList.add(orderDatilListEntity); productId.append(ordersEntitys.getProductId()+","); productName.append(ordersEntitys.getProductName()+","); total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount(); @@ -63,7 +71,7 @@ public class OrderController { ordersEntity.setMemberId(memberId); ordersEntity.setPhoneNumber(mobile); ordersEntity.setBuyCount(buyCount); - if(orderService.generateOrder(ordersEntity) == 1){ + if(orderService.generateOrder(ordersEntity,orderDatilListEntitiesList) == 1){ wxPayEntity.setProduct_id(ordersEntity.getProductId()); wxPayEntity.setTotal_fee(StringUtil.toString(total_fee)); wxPayEntity.setOut_trade_no(ordersEntity.getOrderNo()); @@ -98,7 +106,16 @@ public class OrderController { double total_fee = 0 ; AliPayEntity aliPayEntity = new AliPayEntity(); OrdersEntity ordersEntity = new OrdersEntity(); + + List orderDatilListEntitiesList = new ArrayList<>(); + for (OrdersEntity ordersEntitys:ordersEntityList) { + //存储orderDetailList + OrderDatilListEntity orderDatilListEntity= new OrderDatilListEntity(); + orderDatilListEntity.setProductName(ordersEntitys.getProductName()); + orderDatilListEntity.setPcs(ordersEntitys.getBuyCount()); + orderDatilListEntity.setProductId(ordersEntitys.getProductId()); + orderDatilListEntitiesList.add(orderDatilListEntity); productId.append(ordersEntitys.getProductId()+","); productName.append(ordersEntitys.getProductName()+","); total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount(); @@ -113,7 +130,7 @@ public class OrderController { ordersEntity.setPhoneNumber(mobile); ordersEntity.setBuyCount(buyCount); ordersEntity.setPayType("2"); - if(orderService.generateOrder(ordersEntity) == 1){ + if(orderService.generateOrder(ordersEntity,orderDatilListEntitiesList) == 1){ aliPayEntity.setProduct_code(ordersEntity.getProductId()); aliPayEntity.setTotal_amount(StringUtil.toString(total_fee)); aliPayEntity.setOut_trade_no(ordersEntity.getOrderNo()); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java index a161919c..99e94b88 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java @@ -2,24 +2,26 @@ package net.lab1024.smartadmin.module.system.royalcanin.good.service; import com.alibaba.fastjson.JSONObject; import net.lab1024.smartadmin.common.domain.ResponseDTO; -import net.lab1024.smartadmin.module.system.employee.constant.EmployeeResponseCodeConst; +import net.lab1024.smartadmin.common.heartbeat.StringUtil; import net.lab1024.smartadmin.module.system.royalcanin.CouponService; import net.lab1024.smartadmin.module.system.royalcanin.coupon.CouponCosumeEntity; import net.lab1024.smartadmin.module.system.royalcanin.coupon.CouponFetchEntity; -import net.lab1024.smartadmin.module.system.royalcanin.good.constant.OrderResponseCodeConst; +import net.lab1024.smartadmin.module.system.royalcanin.domain.RoyalcaninOperateLogEntity; +import net.lab1024.smartadmin.module.system.royalcanin.domain.RoyalcaninOperateLogService; import net.lab1024.smartadmin.module.system.royalcanin.good.dao.OrdersDao; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.AddOrSaveEntity; +import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.OrderCouponEntity; +import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.OrderDatilListEntity; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity; -import net.lab1024.smartadmin.module.system.wxpay.WxpayService; -import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity; import net.lab1024.smartadmin.util.GenerateSequenceUtil; import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.SmartHttpUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - +import java.text.SimpleDateFormat; +import java.util.List; import java.util.Map; @Service @@ -28,13 +30,16 @@ public class OrderService { @Autowired private CouponService couponService; + @Autowired + private RoyalcaninOperateLogService royalcaninOperateLogService; + @Autowired private OrdersDao ordersDao; private String url = "http://miniapp-test.royalcanin.com.cn:7080/crm/h5/orderMaster/"; @Transactional - public int generateOrder(OrdersEntity ordersEntity) throws Exception { + public int generateOrder(OrdersEntity ordersEntity, List orderDatilListEntitiesList) throws Exception { if (ordersEntity.getCouponCode() != ""&& null != ordersEntity.getCouponCode()) { CouponCosumeEntity couponCosumeEntity = new CouponCosumeEntity(); couponCosumeEntity.setCouponCode(ordersEntity.getCouponCode()); @@ -43,9 +48,28 @@ public class OrderService { return 0; } } + if(ordersDao.insert(ordersEntity) == 1) { ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); ordersEntity.setOrderStatus("0"); - return ordersDao.insert(ordersEntity); + AddOrSaveEntity addOrSaveEntity = new AddOrSaveEntity(); + addOrSaveEntity.setPhoneNumber(ordersEntity.getPhoneNumber()); + addOrSaveEntity.setStatus("0"); + addOrSaveEntity.setOrderNumber(ordersEntity.getOrderNo()); + addOrSaveEntity.setSalesAmount(ordersEntity.getOrderAmount()); + OrderCouponEntity orderCouponEntity = new OrderCouponEntity(); + orderCouponEntity.setCouponCode(ordersEntity.getCouponCode()); + orderCouponEntity.setCouponName(ordersEntity.getCouponName()); + orderCouponEntity.setCouponId(ordersEntity.getCouponId()); + addOrSaveEntity.setOrderDatilListEntity(orderDatilListEntitiesList); + addOrSaveEntity.setOrderCouponEntity(orderCouponEntity); + JSONObject jsonObject = JSONObject.parseObject(addOrSave(addOrSaveEntity)); + if(jsonObject.getString("code").equals("1")) + return 1; + else + return 0; + }else { + return 0; + } } public Boolean afterPaySucceedUpdateOrderStatus(String outTradeNo,String totalFee){ @@ -81,14 +105,43 @@ public class OrderService { public String addOrSave(AddOrSaveEntity addOrSaveEntity)throws Exception{ + addOrSaveEntity.setChannelId("15"); + addOrSaveEntity.setSecret("H5@2021"); Map paramMap = MapRemoveNullUtil.setConditionMap(addOrSaveEntity); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(paramMap); - return SmartHttpUtil.httpPostRaw(url+"addOrSave",jsonObject.toString(),null,"utf-8"); + long startTime = System.currentTimeMillis(); + String result = SmartHttpUtil.httpPostRaw(url+"addOrSave",jsonObject.toString(),null,"utf-8"); + long acceptTime = System.currentTimeMillis() ; + long elapsedTime = acceptTime - startTime; + //记录服务响应时间 + addOperatreFullData(url+"addOrSave",addOrSaveEntity.toString(),result, startTime,elapsedTime,acceptTime); + return result; } public String query(QueryEntity queryEntity)throws Exception{ Map paramMap = MapRemoveNullUtil.setConditionMap(queryEntity); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(paramMap); - return SmartHttpUtil.httpPostRaw(url+"query",jsonObject.toString(),null,"utf-8"); + long startTime = System.currentTimeMillis(); + String result =SmartHttpUtil.httpPostRaw(url+"query",jsonObject.toString(),null,"utf-8"); + long acceptTime = System.currentTimeMillis() ; + long elapsedTime = acceptTime - startTime; + //记录服务响应时间 + addOperatreFullData(url+"query",queryEntity.toString(),result, startTime,elapsedTime,acceptTime); + return result; + } + + public ResponseDTO addOperatreFullData(String type, String params, String result, Long startTime, Long elapsedTime, Long acceptTime){ + SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + JSONObject jsonObject = JSONObject.parseObject(result); + RoyalcaninOperateLogEntity royalcaninOperateLogEntity = new RoyalcaninOperateLogEntity(); + royalcaninOperateLogEntity.setElapsedTime(StringUtil.toString(elapsedTime)); + royalcaninOperateLogEntity.setStartTime(dateformat.format(startTime)); + royalcaninOperateLogEntity.setMethod(type); + royalcaninOperateLogEntity.setCode(jsonObject.getString("code")); + royalcaninOperateLogEntity.setMsg(jsonObject.getString("msg")); + royalcaninOperateLogEntity.setParams(params); + royalcaninOperateLogEntity.setAcceptTime(dateformat.format(acceptTime)); + royalcaninOperateLogService.add(royalcaninOperateLogEntity); + return ResponseDTO.succ(); } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/AddOrSaveEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/AddOrSaveEntity.java index c597c1f6..b627ff8c 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/AddOrSaveEntity.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/AddOrSaveEntity.java @@ -2,6 +2,8 @@ package net.lab1024.smartadmin.module.system.royalcanin.orderMaster; import lombok.Data; +import java.util.List; + @Data public class AddOrSaveEntity { @@ -27,7 +29,7 @@ public class AddOrSaveEntity { private String deliveryType; - private OrderDatilListEntity orderDatilListEntity; + private List orderDatilListEntity; private OrderCouponEntity orderCouponEntity; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/OrderDatilListEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/OrderDatilListEntity.java index 5e105c97..90c4d42b 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/OrderDatilListEntity.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/orderMaster/OrderDatilListEntity.java @@ -11,7 +11,7 @@ public class OrderDatilListEntity { private String productName; - private String pcs; + private int pcs; private String ecPrice; diff --git a/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql b/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql index 547924ba..01d9d03d 100644 --- a/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql +++ b/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql @@ -1658,7 +1658,7 @@ CREATE TABLE `t_good_goods` ( `brand_code` varchar(11) DEFAULT NULL COMMENT '品牌编码', `brand_name` varchar(11) DEFAULT NULL COMMENT '品牌名称', `category_name` varchar(11) DEFAULT NULL COMMENT '品类', -`pet_type` int(11) DEFAULT NULL COMMENT '宠物类型', +`pet_type` int(11) DEFAULT NULL COMMENT '宠物类型1:狗0:猫', `tagUsedAge` varchar(11) DEFAULT NULL COMMENT '适用阶段', `pic_file` varchar(200) DEFAULT NULL COMMENT '标品头图', `show_img_file` varchar(200) DEFAULT NULL COMMENT '身体头图',