add order logic.

This commit is contained in:
Carl 2021-12-27 16:12:52 +08:00
parent 9e4088365a
commit 2a65781635
6 changed files with 124 additions and 16 deletions

View File

@ -1,16 +1,23 @@
package net.lab1024.smartadmin.module.system.royalcanin.good; package net.lab1024.smartadmin.module.system.royalcanin.good;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import net.lab1024.smartadmin.common.anno.OperateLog; 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.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.model.GoodsEntity;
import net.lab1024.smartadmin.module.system.royalcanin.good.service.GoodService; import net.lab1024.smartadmin.module.system.royalcanin.good.service.GoodService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.List; import java.util.List;
@Api(tags = {SwaggerTagConst.Admin.MANAGER_MALL_API}) @Api(tags = {SwaggerTagConst.Admin.MANAGER_MALL_API})
@ -18,6 +25,8 @@ import java.util.List;
@RestController @RestController
public class GoodController { public class GoodController {
@Autowired
private RoyalcaninOperateLogService royalcaninOperateLogService;
@Autowired @Autowired
private GoodService goodService; private GoodService goodService;
@ -36,13 +45,27 @@ public class GoodController {
@ApiOperation(value = "查询标品信息", notes = "查询标品信息") @ApiOperation(value = "查询标品信息", notes = "查询标品信息")
@PostMapping("royalcanin/h5/brand/query") @PostMapping("royalcanin/h5/brand/query")
public String transferBrand(GoodsEntity goodsEntity) throws Exception { 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 = "查询标品信息") @ApiOperation(value = "查询商品信息", notes = "查询标品信息")
@PostMapping("royalcanin/h5/product/query") @PostMapping("royalcanin/h5/product/query")
public String transferProducts(GoodsEntity goodsEntity) throws Exception { 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 = "查询筛选标签信息") @ApiOperation(value = "查询筛选标签信息", notes = "查询筛选标签信息")
@ -51,5 +74,18 @@ public class GoodController {
return goodService.productSearchQuery(); return goodService.productSearchQuery();
} }
public ResponseDTO<String> 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();
}
} }

View File

@ -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.constant.OrderResponseCodeConst;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; 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.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.WxpayService;
import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity; import net.lab1024.smartadmin.module.system.wxpay.wxPayModel.WxPayEntity;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -48,8 +49,15 @@ public class OrderController {
int buyCount = 0; int buyCount = 0;
double total_fee = 0 ; double total_fee = 0 ;
WxPayEntity wxPayEntity = new WxPayEntity(); WxPayEntity wxPayEntity = new WxPayEntity();
List<OrderDatilListEntity> orderDatilListEntitiesList = new ArrayList<>();
OrdersEntity ordersEntity = new OrdersEntity(); OrdersEntity ordersEntity = new OrdersEntity();
for (OrdersEntity ordersEntitys:ordersEntityList) { 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()+","); productId.append(ordersEntitys.getProductId()+",");
productName.append(ordersEntitys.getProductName()+","); productName.append(ordersEntitys.getProductName()+",");
total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount(); total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount();
@ -63,7 +71,7 @@ public class OrderController {
ordersEntity.setMemberId(memberId); ordersEntity.setMemberId(memberId);
ordersEntity.setPhoneNumber(mobile); ordersEntity.setPhoneNumber(mobile);
ordersEntity.setBuyCount(buyCount); ordersEntity.setBuyCount(buyCount);
if(orderService.generateOrder(ordersEntity) == 1){ if(orderService.generateOrder(ordersEntity,orderDatilListEntitiesList) == 1){
wxPayEntity.setProduct_id(ordersEntity.getProductId()); wxPayEntity.setProduct_id(ordersEntity.getProductId());
wxPayEntity.setTotal_fee(StringUtil.toString(total_fee)); wxPayEntity.setTotal_fee(StringUtil.toString(total_fee));
wxPayEntity.setOut_trade_no(ordersEntity.getOrderNo()); wxPayEntity.setOut_trade_no(ordersEntity.getOrderNo());
@ -98,7 +106,16 @@ public class OrderController {
double total_fee = 0 ; double total_fee = 0 ;
AliPayEntity aliPayEntity = new AliPayEntity(); AliPayEntity aliPayEntity = new AliPayEntity();
OrdersEntity ordersEntity = new OrdersEntity(); OrdersEntity ordersEntity = new OrdersEntity();
List<OrderDatilListEntity> orderDatilListEntitiesList = new ArrayList<>();
for (OrdersEntity ordersEntitys:ordersEntityList) { 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()+","); productId.append(ordersEntitys.getProductId()+",");
productName.append(ordersEntitys.getProductName()+","); productName.append(ordersEntitys.getProductName()+",");
total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount(); total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount();
@ -113,7 +130,7 @@ public class OrderController {
ordersEntity.setPhoneNumber(mobile); ordersEntity.setPhoneNumber(mobile);
ordersEntity.setBuyCount(buyCount); ordersEntity.setBuyCount(buyCount);
ordersEntity.setPayType("2"); ordersEntity.setPayType("2");
if(orderService.generateOrder(ordersEntity) == 1){ if(orderService.generateOrder(ordersEntity,orderDatilListEntitiesList) == 1){
aliPayEntity.setProduct_code(ordersEntity.getProductId()); aliPayEntity.setProduct_code(ordersEntity.getProductId());
aliPayEntity.setTotal_amount(StringUtil.toString(total_fee)); aliPayEntity.setTotal_amount(StringUtil.toString(total_fee));
aliPayEntity.setOut_trade_no(ordersEntity.getOrderNo()); aliPayEntity.setOut_trade_no(ordersEntity.getOrderNo());

View File

@ -2,24 +2,26 @@ package net.lab1024.smartadmin.module.system.royalcanin.good.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import net.lab1024.smartadmin.common.domain.ResponseDTO; 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.CouponService;
import net.lab1024.smartadmin.module.system.royalcanin.coupon.CouponCosumeEntity; 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.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.dao.OrdersDao;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; 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.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.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.GenerateSequenceUtil;
import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.MapRemoveNullUtil;
import net.lab1024.smartadmin.util.SmartHttpUtil; import net.lab1024.smartadmin.util.SmartHttpUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
@ -28,13 +30,16 @@ public class OrderService {
@Autowired @Autowired
private CouponService couponService; private CouponService couponService;
@Autowired
private RoyalcaninOperateLogService royalcaninOperateLogService;
@Autowired @Autowired
private OrdersDao ordersDao; private OrdersDao ordersDao;
private String url = "http://miniapp-test.royalcanin.com.cn:7080/crm/h5/orderMaster/"; private String url = "http://miniapp-test.royalcanin.com.cn:7080/crm/h5/orderMaster/";
@Transactional @Transactional
public int generateOrder(OrdersEntity ordersEntity) throws Exception { public int generateOrder(OrdersEntity ordersEntity, List<OrderDatilListEntity> orderDatilListEntitiesList) throws Exception {
if (ordersEntity.getCouponCode() != ""&& null != ordersEntity.getCouponCode()) { if (ordersEntity.getCouponCode() != ""&& null != ordersEntity.getCouponCode()) {
CouponCosumeEntity couponCosumeEntity = new CouponCosumeEntity(); CouponCosumeEntity couponCosumeEntity = new CouponCosumeEntity();
couponCosumeEntity.setCouponCode(ordersEntity.getCouponCode()); couponCosumeEntity.setCouponCode(ordersEntity.getCouponCode());
@ -43,9 +48,28 @@ public class OrderService {
return 0; return 0;
} }
} }
if(ordersDao.insert(ordersEntity) == 1) {
ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo());
ordersEntity.setOrderStatus("0"); 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){ public Boolean afterPaySucceedUpdateOrderStatus(String outTradeNo,String totalFee){
@ -81,14 +105,43 @@ public class OrderService {
public String addOrSave(AddOrSaveEntity addOrSaveEntity)throws Exception{ public String addOrSave(AddOrSaveEntity addOrSaveEntity)throws Exception{
addOrSaveEntity.setChannelId("15");
addOrSaveEntity.setSecret("H5@2021");
Map<String, String> paramMap = MapRemoveNullUtil.setConditionMap(addOrSaveEntity); Map<String, String> paramMap = MapRemoveNullUtil.setConditionMap(addOrSaveEntity);
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(paramMap); 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{ public String query(QueryEntity queryEntity)throws Exception{
Map<String, String> paramMap = MapRemoveNullUtil.setConditionMap(queryEntity); Map<String, String> paramMap = MapRemoveNullUtil.setConditionMap(queryEntity);
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(paramMap); 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<String> 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();
} }
} }

View File

@ -2,6 +2,8 @@ package net.lab1024.smartadmin.module.system.royalcanin.orderMaster;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class AddOrSaveEntity { public class AddOrSaveEntity {
@ -27,7 +29,7 @@ public class AddOrSaveEntity {
private String deliveryType; private String deliveryType;
private OrderDatilListEntity orderDatilListEntity; private List<OrderDatilListEntity> orderDatilListEntity;
private OrderCouponEntity orderCouponEntity; private OrderCouponEntity orderCouponEntity;

View File

@ -11,7 +11,7 @@ public class OrderDatilListEntity {
private String productName; private String productName;
private String pcs; private int pcs;
private String ecPrice; private String ecPrice;

View File

@ -1658,7 +1658,7 @@ CREATE TABLE `t_good_goods` (
`brand_code` varchar(11) DEFAULT NULL COMMENT '品牌编码', `brand_code` varchar(11) DEFAULT NULL COMMENT '品牌编码',
`brand_name` varchar(11) DEFAULT NULL COMMENT '品牌名称', `brand_name` varchar(11) DEFAULT NULL COMMENT '品牌名称',
`category_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 '适用阶段', `tagUsedAge` varchar(11) DEFAULT NULL COMMENT '适用阶段',
`pic_file` varchar(200) DEFAULT NULL COMMENT '标品头图', `pic_file` varchar(200) DEFAULT NULL COMMENT '标品头图',
`show_img_file` varchar(200) DEFAULT NULL COMMENT '身体头图', `show_img_file` varchar(200) DEFAULT NULL COMMENT '身体头图',