adding JiaMin coding

This commit is contained in:
Carl 2022-01-06 11:22:07 +08:00
parent 78736daf83
commit c0252fcb2d
6 changed files with 50 additions and 18 deletions

View File

@ -48,7 +48,7 @@ public class OrderController {
@ApiOperation(value = "微信支付订单", notes = "生成订单") @ApiOperation(value = "微信支付订单", notes = "生成订单")
@PostMapping("royalcanin/generateOrderWX") @PostMapping("royalcanin/generateOrderWX")
public ResponseDTO<String> generateOrderWX(@RequestBody List<OrdersEntity> ordersEntityList, OrderAddress orderAddress) throws Exception { public ResponseDTO<String> generateOrderWX(@RequestBody List<OrdersEntity> ordersEntityList) throws Exception {
StringBuffer productId = new StringBuffer(); StringBuffer productId = new StringBuffer();
StringBuffer productName = new StringBuffer(); StringBuffer productName = new StringBuffer();
String memberId = ""; String memberId = "";
@ -58,6 +58,7 @@ public class OrderController {
WxPayEntity wxPayEntity = new WxPayEntity(); WxPayEntity wxPayEntity = new WxPayEntity();
JSONArray orderDatilListJson = new JSONArray(); JSONArray orderDatilListJson = new JSONArray();
OrdersEntity ordersEntity = new OrdersEntity(); OrdersEntity ordersEntity = new OrdersEntity();
OrderAddress orderAddress = new OrderAddress();
for (OrdersEntity ordersEntitys:ordersEntityList) { for (OrdersEntity ordersEntitys:ordersEntityList) {
cartService.cancelProduct(ordersEntitys.getMemberId(),ordersEntity.getProductId()); cartService.cancelProduct(ordersEntitys.getMemberId(),ordersEntity.getProductId());
//存储orderDetailList //存储orderDetailList
@ -72,6 +73,12 @@ public class OrderController {
ordersEntity.setCouponCode(ordersEntitys.getCouponCode()); ordersEntity.setCouponCode(ordersEntitys.getCouponCode());
ordersEntity.setCouponName(ordersEntitys.getCouponName()); ordersEntity.setCouponName(ordersEntitys.getCouponName());
} }
orderAddress.setAddressCityName(ordersEntitys.getOrderAddress().getAddressCityName());
orderAddress.setAddressCountyName(ordersEntitys.getOrderAddress().getAddressCountyName());
orderAddress.setAddressDetailInfo(ordersEntitys.getOrderAddress().getAddressDetailInfo());
orderAddress.setAddressPhoneNumber(ordersEntitys.getOrderAddress().getAddressPhoneNumber());
orderAddress.setAddressUserName(ordersEntitys.getOrderAddress().getAddressUserName());
orderAddress.setAddressProvinceName(ordersEntitys.getOrderAddress().getAddressProvinceName());
productId.append(ordersEntitys.getProductId()+","); productId.append(ordersEntitys.getProductId()+",");
productName.append(ordersEntitys.getProductName()+","); productName.append(ordersEntitys.getProductName()+",");
if(ordersEntitys.getPayAmount() != "0"){ if(ordersEntitys.getPayAmount() != "0"){
@ -83,6 +90,7 @@ public class OrderController {
mobile = ordersEntitys.getPhoneNumber(); mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount(); buyCount = buyCount + ordersEntitys.getBuyCount();
} }
ordersEntity.setOrderAddress(orderAddress);
ordersEntity.setProductId(productId.substring(0,productId.length()-1)); ordersEntity.setProductId(productId.substring(0,productId.length()-1));
ordersEntity.setProductName(productName.substring(0,productName.length()-1)); ordersEntity.setProductName(productName.substring(0,productName.length()-1));
ordersEntity.setOrderAmount(StringUtil.toString(total_fee)); ordersEntity.setOrderAmount(StringUtil.toString(total_fee));
@ -92,7 +100,7 @@ public class OrderController {
ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo());
ordersEntity.setOrderStatus("0"); ordersEntity.setOrderStatus("0");
if(orderService.generateOrder(ordersEntity,orderDatilListJson,orderAddress) == 1){ if(orderService.generateOrder(ordersEntity,orderDatilListJson) == 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());
@ -119,7 +127,7 @@ public class OrderController {
@ApiOperation(value = "支付宝支付订单", notes = "生成订单") @ApiOperation(value = "支付宝支付订单", notes = "生成订单")
@PostMapping("royalcanin/generateOrderAlipay") @PostMapping("royalcanin/generateOrderAlipay")
public ResponseDTO<String> generateOrderAliPay(@RequestBody List<OrdersEntity> ordersEntityList,OrderAddress orderAddress) throws Exception { public ResponseDTO<String> generateOrderAliPay(@RequestBody List<OrdersEntity> ordersEntityList) throws Exception {
StringBuffer productId = new StringBuffer(); StringBuffer productId = new StringBuffer();
StringBuffer productName = new StringBuffer(); StringBuffer productName = new StringBuffer();
String memberId = ""; String memberId = "";
@ -141,7 +149,11 @@ public class OrderController {
productId.append(ordersEntitys.getProductId()+","); productId.append(ordersEntitys.getProductId()+",");
productName.append(ordersEntitys.getProductName()+","); productName.append(ordersEntitys.getProductName()+",");
if(ordersEntitys.getPayAmount() != "0"){
total_fee = total_fee + (Double.parseDouble(ordersEntitys.getPayAmount()) * ordersEntitys.getBuyCount()) - Double.parseDouble(ordersEntitys.getCouponAmount());
}else {
total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount(); total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount())*ordersEntitys.getBuyCount();
}
memberId = ordersEntitys.getMemberId(); memberId = ordersEntitys.getMemberId();
mobile = ordersEntitys.getPhoneNumber(); mobile = ordersEntitys.getPhoneNumber();
buyCount = buyCount + ordersEntitys.getBuyCount(); buyCount = buyCount + ordersEntitys.getBuyCount();
@ -155,7 +167,7 @@ public class OrderController {
ordersEntity.setPayType("2"); ordersEntity.setPayType("2");
ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo()); ordersEntity.setOrderNo(GenerateSequenceUtil.generateSequenceNo());
ordersEntity.setOrderStatus("0"); ordersEntity.setOrderStatus("0");
if(orderService.generateOrder(ordersEntity,orderDatilListJson,orderAddress) == 1){ if(orderService.generateOrder(ordersEntity,orderDatilListJson) == 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,7 +2,7 @@ package net.lab1024.smartadmin.module.system.royalcanin.good.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -13,10 +13,10 @@ import org.springframework.stereotype.Component;
*/ */
@Mapper @Mapper
@Component @Component
public interface OrdersDao extends BaseMapper<OrdersEntity> { public interface OrdersDao extends BaseMapper<OrderEntity> {
OrdersEntity findByOrderId(String id); OrderEntity findByOrderId(String id);
Integer updateOrderStatus(@Param("outTradeNo")String outTradeNo, @Param("totalAmount")String total_amount); Integer updateOrderStatus(@Param("outTradeNo")String outTradeNo, @Param("totalAmount")String total_amount);

View File

@ -1,8 +1,12 @@
package net.lab1024.smartadmin.module.system.royalcanin.good.model; package net.lab1024.smartadmin.module.system.royalcanin.good.model;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderAddress { public class OrderAddress {
private String addressPhoneNumber = "null"; private String addressPhoneNumber = "null";

View File

@ -1,12 +1,10 @@
package net.lab1024.smartadmin.module.system.royalcanin.good.model; package net.lab1024.smartadmin.module.system.royalcanin.good.model;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@Data @Data
@TableName("t_good_orders")
public class OrdersEntity { public class OrdersEntity {
private String orderNo; private String orderNo;
@ -39,4 +37,6 @@ public class OrdersEntity {
private String payType="1"; private String payType="1";
private OrderAddress orderAddress;
} }

View File

@ -1,22 +1,26 @@
package net.lab1024.smartadmin.module.system.royalcanin.good.service; package net.lab1024.smartadmin.module.system.royalcanin.good.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import net.lab1024.smartadmin.common.domain.ResponseDTO; import net.lab1024.smartadmin.common.domain.ResponseDTO;
import net.lab1024.smartadmin.common.heartbeat.StringUtil; 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.couponConfig.CouponConfigFindAllEntity;
import net.lab1024.smartadmin.module.system.royalcanin.domain.RoyalcaninOperateLogEntity; 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.domain.RoyalcaninOperateLogService;
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.dao.OrdersDao; import net.lab1024.smartadmin.module.system.royalcanin.good.dao.OrdersDao;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress;
import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity;
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.OrderCouponEntity;
import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity;
import net.lab1024.smartadmin.util.AESUtil; import net.lab1024.smartadmin.util.AESUtil;
import net.lab1024.smartadmin.util.MapRemoveNullUtil; import net.lab1024.smartadmin.util.MapRemoveNullUtil;
import net.lab1024.smartadmin.util.SmartBeanUtil;
import net.lab1024.smartadmin.util.SmartHttpUtil; import net.lab1024.smartadmin.util.SmartHttpUtil;
import net.sf.json.JSONArray; import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -42,18 +46,19 @@ public class OrderService {
private String url = "https://miniapp-test.royalcanin.com.cn/rcmini/h5/orderMaster/"; private String url = "https://miniapp-test.royalcanin.com.cn/rcmini/h5/orderMaster/";
@Transactional @Transactional
public int generateOrder(OrdersEntity ordersEntity, JSONArray listJson, OrderAddress orderAddress) throws Exception { public int generateOrder(OrdersEntity ordersEntity, JSONArray listJson) throws Exception {
AddOrSaveEntity addOrSaveEntity = new AddOrSaveEntity(); AddOrSaveEntity addOrSaveEntity = new AddOrSaveEntity();
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());
couponCosumeEntity.setOrderNo(ordersEntity.getOrderNo()); couponCosumeEntity.setOrderNo(ordersEntity.getOrderNo());
couponCosumeEntity.setProductCode(ordersEntity.getProductId());
BigDecimal realCouponAmount =new BigDecimal(ordersEntity.getOrderAmount()); BigDecimal realCouponAmount =new BigDecimal(ordersEntity.getOrderAmount());
couponCosumeEntity.setRealCouponAmount(realCouponAmount); couponCosumeEntity.setRealCouponAmount(realCouponAmount);
JSONObject jsonObject = JSONObject.parseObject(couponService.couponCosume(couponCosumeEntity)); JSONObject jsonObject = JSONObject.parseObject(couponService.couponCosume(couponCosumeEntity));
if(!jsonObject.getString("code").equals("0")) { // if(!jsonObject.getString("code").equals("0")) {
return 0; // return 0;
} // }
//coupon json化 //coupon json化
OrderCouponEntity orderCouponEntity = new OrderCouponEntity(); OrderCouponEntity orderCouponEntity = new OrderCouponEntity();
orderCouponEntity.setCouponCode(ordersEntity.getCouponCode()); orderCouponEntity.setCouponCode(ordersEntity.getCouponCode());
@ -64,13 +69,20 @@ public class OrderService {
net.sf.json.JSONObject orderCouponJson = net.sf.json.JSONObject.fromObject(orderCouponParamMap); net.sf.json.JSONObject orderCouponJson = net.sf.json.JSONObject.fromObject(orderCouponParamMap);
addOrSaveEntity.setOrderCoupon(orderCouponJson.toString()); addOrSaveEntity.setOrderCoupon(orderCouponJson.toString());
} }
if(ordersDao.insert(ordersEntity) == 1) {
Map<String, String> paramMap = MapRemoveNullUtil.setConditionMap(ordersEntity);
paramMap.remove("orderAddress");
ObjectMapper objectMapper = new ObjectMapper();
OrderEntity orderEntity = objectMapper.convertValue(paramMap, OrderEntity.class);
if(ordersDao.insert(orderEntity) == 1) {
ordersEntity.setOrderStatus("0"); ordersEntity.setOrderStatus("0");
addOrSaveEntity.setPhoneNumber(ordersEntity.getPhoneNumber()); addOrSaveEntity.setPhoneNumber(ordersEntity.getPhoneNumber());
addOrSaveEntity.setStatus("0"); addOrSaveEntity.setStatus("0");
addOrSaveEntity.setOrderNumber(ordersEntity.getOrderNo()); addOrSaveEntity.setOrderNumber(ordersEntity.getOrderNo());
addOrSaveEntity.setSalesAmount(ordersEntity.getOrderAmount()); addOrSaveEntity.setSalesAmount(ordersEntity.getOrderAmount());
addOrSaveEntity.setOrderDetailList(listJson.toString()); addOrSaveEntity.setOrderDetailList(listJson.toString());
OrderAddress orderAddress = ordersEntity.getOrderAddress();
addOrSaveEntity.setAddressCityName(orderAddress.getAddressCityName()); addOrSaveEntity.setAddressCityName(orderAddress.getAddressCityName());
addOrSaveEntity.setAddressCountyName(orderAddress.getAddressCountyName()); addOrSaveEntity.setAddressCountyName(orderAddress.getAddressCountyName());
addOrSaveEntity.setAddressDetailInfo(orderAddress.getAddressDetailInfo()); addOrSaveEntity.setAddressDetailInfo(orderAddress.getAddressDetailInfo());
@ -87,6 +99,7 @@ public class OrderService {
} }
} }
public Boolean afterPaySucceedUpdateOrderStatus(String outTradeNo,String totalFee){ public Boolean afterPaySucceedUpdateOrderStatus(String outTradeNo,String totalFee){
int result = ordersDao.updateOrderStatus(outTradeNo,totalFee); int result = ordersDao.updateOrderStatus(outTradeNo,totalFee);
if(result == 1) if(result == 1)
@ -100,7 +113,7 @@ public class OrderService {
com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(addOrSaveJson); com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(addOrSaveJson);
JSONObject jsonObject = (JSONObject)jsonArray.get(0); JSONObject jsonObject = (JSONObject)jsonArray.get(0);
String orderNo = jsonObject.getString("orderNumber"); String orderNo = jsonObject.getString("orderNumber");
OrdersEntity ordersEntity = ordersDao.findByOrderId(orderNo); OrderEntity ordersEntity = ordersDao.findByOrderId(orderNo);
if(ordersEntity != null) { if(ordersEntity != null) {
if (!ordersEntity.getCouponCode().equals("") && null != ordersEntity.getCouponCode()) { if (!ordersEntity.getCouponCode().equals("") && null != ordersEntity.getCouponCode()) {
CouponFetchEntity couponFetchEntity = new CouponFetchEntity(); CouponFetchEntity couponFetchEntity = new CouponFetchEntity();
@ -132,7 +145,7 @@ public class OrderService {
com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(addOrSaveJson); com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(addOrSaveJson);
JSONObject jsonObject = (JSONObject)jsonArray.get(0); JSONObject jsonObject = (JSONObject)jsonArray.get(0);
String orderNo = jsonObject.getString("orderNumber"); String orderNo = jsonObject.getString("orderNumber");
OrdersEntity ordersEntity = ordersDao.findByOrderId(orderNo); OrderEntity ordersEntity = ordersDao.findByOrderId(orderNo);
if(ordersEntity != null){ if(ordersEntity != null){
AddOrSaveEntity addOrSaveEntity = new AddOrSaveEntity(); AddOrSaveEntity addOrSaveEntity = new AddOrSaveEntity();
addOrSaveEntity.setOrderNumber(orderNo); addOrSaveEntity.setOrderNumber(orderNo);
@ -155,7 +168,10 @@ public class OrderService {
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);
jsonObject.remove("orderDetailList"); jsonObject.remove("orderDetailList");
jsonObject.remove("orderCoupon");
String detailList = addOrSaveEntity.getOrderDetailList(); String detailList = addOrSaveEntity.getOrderDetailList();
String orderCoupon = addOrSaveEntity.getOrderCoupon();
jsonObject.put("orderCoupon",orderCoupon);
jsonObject.put("orderDetailList",detailList); jsonObject.put("orderDetailList",detailList);
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
String result = SmartHttpUtil.httpPostRaw(url+"addOrSave?channelId=15&secret=H5@2021",jsonObject.toString(),null,"utf-8"); String result = SmartHttpUtil.httpPostRaw(url+"addOrSave?channelId=15&secret=H5@2021",jsonObject.toString(),null,"utf-8");

View File

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.lab1024.smartadmin.module.system.royalcanin.good.dao.OrdersDao"> <mapper namespace="net.lab1024.smartadmin.module.system.royalcanin.good.dao.OrdersDao">
<resultMap id="OrdersEntity" <resultMap id="OrdersEntity"
type="net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity"></resultMap> type="net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity"></resultMap>
<select id="findByOrderId" resultMap="OrdersEntity"> <select id="findByOrderId" resultMap="OrdersEntity">
select * from t_good_orders WHERE order_no = #{orderNo} select * from t_good_orders WHERE order_no = #{orderNo}