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;
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<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.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<OrderDatilListEntity> 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<OrderDatilListEntity> 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());

View File

@ -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<OrderDatilListEntity> 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<String, String> 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<String, String> 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<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 java.util.List;
@Data
public class AddOrSaveEntity {
@ -27,7 +29,7 @@ public class AddOrSaveEntity {
private String deliveryType;
private OrderDatilListEntity orderDatilListEntity;
private List<OrderDatilListEntity> orderDatilListEntity;
private OrderCouponEntity orderCouponEntity;

View File

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

View File

@ -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 '身体头图',