diff --git a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java index 949f7b0..c4611b5 100644 --- a/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java +++ b/src/main/java/com/yxt/yyth/api/empcardgift/EmpCardGift.java @@ -46,5 +46,6 @@ public class EmpCardGift { private Date endDate; //结束日期 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date startDate; //开始日期 + private String isSenior;//是否是最高级的卡 1 是 2不是 } diff --git a/src/main/java/com/yxt/yyth/api/ordorder/OrdOrder.java b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrder.java new file mode 100644 index 0000000..5fbeb1c --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrder.java @@ -0,0 +1,34 @@ +package com.yxt.yyth.api.ordorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class OrdOrder { + private String id; + private String sid= UUID.randomUUID().toString();; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String mainSid; + private int payStatus; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private int cardNumber; + private int source; + private String totalTee; + private String openId; + private String userSid; + private String name; + private int timeRemarks; + private String returnUrl; + + +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderDto.java b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderDto.java new file mode 100644 index 0000000..bac5649 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderDto.java @@ -0,0 +1,36 @@ +package com.yxt.yyth.api.ordorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import com.yxt.yyth.api.ordorderdetails.OrdOrderDetailVo; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String mainSid; + private int payStatus; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private int cardNumber; + private int source; + private String totalTee; + private String openId; + private String userSid; + private String name; + private int timeRemarks; + private String returnUrl; + private String customerSid; + private List ordOrderDetailsVoList; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderQuery.java b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderQuery.java new file mode 100644 index 0000000..bbf971d --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderQuery.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.api.ordorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderVo.java b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderVo.java new file mode 100644 index 0000000..b9489e5 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/OrdOrderVo.java @@ -0,0 +1,33 @@ +package com.yxt.yyth.api.ordorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String mainSid; + private int payStatus; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private int cardNumber; + private int source; + private String totalTee; + private String openId; + private String userSid; + private String name; + private int timeRemarks; + private String returnUrl; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/OrderParams.java b/src/main/java/com/yxt/yyth/api/ordorder/OrderParams.java new file mode 100644 index 0000000..eb20177 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/OrderParams.java @@ -0,0 +1,12 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:12 + */ +@Data +public class OrderParams { + private String mainSid; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/OrderUrl.java b/src/main/java/com/yxt/yyth/api/ordorder/OrderUrl.java new file mode 100644 index 0000000..0a2b3b7 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/OrderUrl.java @@ -0,0 +1,14 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:09 + */ +@Data +public class OrderUrl { + private String page=null; + private OrderParams params; + +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/PayOrderVo.java b/src/main/java/com/yxt/yyth/api/ordorder/PayOrderVo.java new file mode 100644 index 0000000..1bb7702 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/PayOrderVo.java @@ -0,0 +1,23 @@ +package com.yxt.yyth.api.ordorder; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/8 + **/ +@Data +public class PayOrderVo { + @ApiModelProperty("主订单sid") + private String mainSid; + @ApiModelProperty("订单编号") + private String outTradeNo; + @ApiModelProperty("订单创建时间") + private String createTime; + @ApiModelProperty("商品总价格") + private String price; + @ApiModelProperty("商品名称") + private String goods; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/PayParams.java b/src/main/java/com/yxt/yyth/api/ordorder/PayParams.java new file mode 100644 index 0000000..dd81fc4 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/PayParams.java @@ -0,0 +1,12 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:15 + */ +@Data +public class PayParams { + private String mainSid; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/PayResult.java b/src/main/java/com/yxt/yyth/api/ordorder/PayResult.java new file mode 100644 index 0000000..b530391 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/PayResult.java @@ -0,0 +1,19 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:08 + */ +@Data +public class PayResult { + private String price; + private String goods; + private String remainder; + private String orderId; + private OrderUrl order_url; + private PayUrl pay_url; + private TradeNoUrl trade_no_url; + private String[] bus; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/PayUrl.java b/src/main/java/com/yxt/yyth/api/ordorder/PayUrl.java new file mode 100644 index 0000000..4a1b249 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/PayUrl.java @@ -0,0 +1,13 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:10 + */ +@Data +public class PayUrl { + private String url; + private PayParams params; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/TradeNoUrl.java b/src/main/java/com/yxt/yyth/api/ordorder/TradeNoUrl.java new file mode 100644 index 0000000..3785a44 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/TradeNoUrl.java @@ -0,0 +1,13 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:11 + */ +@Data +public class TradeNoUrl { + private String url; + private TradeParams params; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorder/TradeParams.java b/src/main/java/com/yxt/yyth/api/ordorder/TradeParams.java new file mode 100644 index 0000000..5c1d0ec --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorder/TradeParams.java @@ -0,0 +1,12 @@ +package com.yxt.yyth.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:17 + */ +@Data +public class TradeParams { + private String trade_no; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetail.java b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetail.java new file mode 100644 index 0000000..19dc504 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetail.java @@ -0,0 +1,29 @@ +package com.yxt.yyth.api.ordorderdetails; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class OrdOrderDetail { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid; + private String goodsSid; + private String goodsName; + private int partNumber; + private double numofPart; + private double priceUnit; + private double pricePart; + + +} diff --git a/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailDto.java b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailDto.java new file mode 100644 index 0000000..c57a0b1 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailDto.java @@ -0,0 +1,27 @@ +package com.yxt.yyth.api.ordorderdetails; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDetailDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid; + private String goodsSid; + private String goodsName; + private int partNumber; + private double numofPart; + private double priceUnit; + private double pricePart; +} diff --git a/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailQuery.java b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailQuery.java new file mode 100644 index 0000000..6efe2ae --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailQuery.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.api.ordorderdetails; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDetailQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailVo.java b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailVo.java new file mode 100644 index 0000000..1133467 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/ordorderdetails/OrdOrderDetailVo.java @@ -0,0 +1,27 @@ +package com.yxt.yyth.api.ordorderdetails; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDetailVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid; + private String goodsSid; + private String goodsName; + private int partNumber; + private double numofPart; + private double priceUnit; + private double pricePart; +} diff --git a/src/main/java/com/yxt/yyth/biz/appletgiftbag/AppletGiftBagService.java b/src/main/java/com/yxt/yyth/biz/appletgiftbag/AppletGiftBagService.java index 1d84b89..0bd9e31 100644 --- a/src/main/java/com/yxt/yyth/biz/appletgiftbag/AppletGiftBagService.java +++ b/src/main/java/com/yxt/yyth/biz/appletgiftbag/AppletGiftBagService.java @@ -220,7 +220,7 @@ public class AppletGiftBagService extends MybatisBaseService empCardGiftStatisticsList(@RequestBody PagerQuery query){ return EmpCardGiftService.empCardGiftStatisticsList(query); } + + @GetMapping("/generateTopEmpCard") + @ApiOperation(value = "云选菜购买生成顶级亲情卡") + public ResultBean generateTopEmpCard(@RequestParam("mainSid") String mainSid) { + return EmpCardGiftService.generateTopEmpCard(mainSid); + } + // @GetMapping("/getCardByBank") // @ApiOperation(value = "生成礼包卡信息") // public JSONObject getCardByBank(@RequestParam(value = "pageNo",defaultValue = "1")Integer pageNo, diff --git a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java index 1b9e258..eb73dca 100644 --- a/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java +++ b/src/main/java/com/yxt/yyth/biz/empcardgift/EmpCardGiftService.java @@ -15,34 +15,26 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.empcard.EmpAppletVo; import com.yxt.yyth.api.empcard.EmpCard; -import com.yxt.yyth.api.empcard.EmpCardQuery; -import com.yxt.yyth.api.empcard.EmpCardVo; import com.yxt.yyth.api.empcardgift.*; +import com.yxt.yyth.api.empcardgift.GoodsVo; import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoods; import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsDto; import com.yxt.yyth.api.empcardgiftgoods.EmpCardGiftGoodsVo; import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLog; import com.yxt.yyth.api.empcardgrantlog.EmpCardGrantLogVo; -import com.yxt.yyth.api.empreserveorder.EmpReserveOrderCardVo; -import com.yxt.yyth.api.empreserveorder.EmpReserveOrderVo; -import com.yxt.yyth.api.empreserveordergoods.EmpReserveOrderGoods; -import com.yxt.yyth.api.lpkcardbuildrecord.LpkCardBuildRecord; import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag; -import com.yxt.yyth.api.lpkgiftcard.AppletVo; -import com.yxt.yyth.api.lpkgiftcard.BindCardDto; -import com.yxt.yyth.api.lpkgiftcard.LpkGiftCard; +import com.yxt.yyth.api.lpkgiftcard.*; import com.yxt.yyth.api.lpkgoods.LpkGoods; import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderCardVo; import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderVo; import com.yxt.yyth.api.lpkreserveordergoods.LpkReserveOrderGoods; import com.yxt.yyth.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.yyth.api.ordorder.OrdOrder; +import com.yxt.yyth.api.ordorderdetails.OrdOrderDetail; import com.yxt.yyth.biz.empcard.EmpCardService; import com.yxt.yyth.biz.empcardgiftgoods.EmpCardGiftGoodsService; import com.yxt.yyth.biz.empcardgrantlog.EmpCardGrantLogService; -import com.yxt.yyth.biz.empreserveorder.EmpReserveOrderService; -import com.yxt.yyth.biz.empreserveordergoods.EmpReserveOrderGoodsService; import com.yxt.yyth.biz.lpkgiftbag.LpkGiftBagService; -import com.yxt.yyth.biz.lpkgiftcard.LpkGiftCardRest; import com.yxt.yyth.biz.lpkgiftcard.LpkGiftCardService; import com.yxt.yyth.biz.lpkgiftcard.generateRule.UniqueIdGenerator; import com.yxt.yyth.biz.lpkgoods.LpkGoodsService; @@ -50,22 +42,17 @@ import com.yxt.yyth.biz.lpkreserveorder.LpkReserveOrderService; import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsMapper; import com.yxt.yyth.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; import com.yxt.yyth.biz.lpkstore.LpkStoreService; +import com.yxt.yyth.biz.ordorder.OrdOrderService; +import com.yxt.yyth.biz.ordorderdetails.OrdOrderDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; import java.text.SimpleDateFormat; import java.time.*; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Random; +import java.util.*; /** * @author wangpengfei @@ -104,6 +91,10 @@ public class EmpCardGiftService extends MybatisBaseService().eq("mainSid",mainSid)); + count=order.getCardNumber(); + List list=ordOrderDetailsService.list(new QueryWrapper().eq("orderSid",order.getSid())); + for (int k = 0; k < count; k++) { + EmpCardGift card = new EmpCardGift(); + card.setCardType("3"); +// card.setRemarks(dto.getRemarks()); + card.setState("3"); + card.setCreateTime(new DateTime()); + card.setGrantDate(new Date()); + card.setEndDate(DateUtil.parse("2024-03-31")); + card.setStartDate(new Date()); + card.setIsSenior("1"); + card.setCustomerSid(order.getSid()); + String cardArea = "1"; + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode("99" + uuid.substring(2)); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "0000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 7 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + baseMapper.insert(card); + for (OrdOrderDetail vo : list) { + if(vo.getPartNumber()!=0){ + EmpCardGiftGoodsDto dto1 = new EmpCardGiftGoodsDto(); + dto1.setEmpCardGiftSid(card.getSid()); + dto1.setGoodsSid(vo.getGoodsSid()); + dto1.setGoodsNumber(vo.getPartNumber()/count); + empCardGiftGoodsService.save(dto1); + } + } + } + return rb.success(); + } + /// + + + } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java index f779cf2..c6d5f98 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java @@ -119,7 +119,7 @@ public class LpkCustomerService extends MybatisBaseService getCustomerInfo(String sid) { ResultBean rb = ResultBean.fireFail(); LpkCustomerVo lpkCustomer= baseMapper.getCustomerInfo(sid); return rb.success().setData(lpkCustomer); diff --git a/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderMapper.java b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderMapper.java new file mode 100644 index 0000000..e71aa4a --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderMapper.java @@ -0,0 +1,22 @@ +package com.yxt.yyth.biz.ordorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.yyth.api.empreserveorder.*; +import com.yxt.yyth.api.ordorder.OrdOrder; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface OrdOrderMapper extends BaseMapper { + +} diff --git a/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderMapper.xml b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderMapper.xml new file mode 100644 index 0000000..a67445c --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderRest.java b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderRest.java new file mode 100644 index 0000000..dd63b8c --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderRest.java @@ -0,0 +1,34 @@ +package com.yxt.yyth.biz.ordorder; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.yyth.api.empcardgift.EmpCardGiftDto; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderCardVo; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderQuery; +import com.yxt.yyth.api.empreserveorder.EmpReserveOrderVo; +import com.yxt.yyth.api.lpkreserveorder.LpkReserveOrderDto; +import com.yxt.yyth.api.ordorder.OrdOrderDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/empsreservoorder") +public class OrdOrderRest { + @Autowired + OrdOrderService ordOrderService; + + + @PostMapping("/createOrder") + @ApiOperation(value = "创建订单") + public ResultBean createOrder(@RequestBody OrdOrderDto dto) { + return ordOrderService.createOrder(dto); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderService.java b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderService.java new file mode 100644 index 0000000..8146d11 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorder/OrdOrderService.java @@ -0,0 +1,123 @@ +package com.yxt.yyth.biz.ordorder; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; +import com.yxt.yyth.api.ordorder.*; +import com.yxt.yyth.api.ordorderdetails.OrdOrderDetail; +import com.yxt.yyth.biz.lpkcustomer.LpkCustomerService; +import com.yxt.yyth.biz.ordorderdetails.OrdOrderDetailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; + +import java.util.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class OrdOrderService extends MybatisBaseService { + + + @Autowired + OrdOrderDetailService ordOrderDetailsService; + @Autowired + LpkCustomerService lpkCustomerService; + + + @Transactional(rollbackFor = Exception.class) + public ResultBean createOrder(OrdOrderDto dto) { + ResultBean rb = ResultBean.fireFail(); + PayResult result=new PayResult(); + Mapmap =new HashMap<>(); + LpkCustomerVo vo= lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData(); + Map sendBody=buildMessageBody( vo.getSid(), vo.getWxMpOpenid(),dto.getTotalTee(),dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品"); + ResponseEntity postForEntity=new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody,ResultBean.class); + + ResultBean rb1= postForEntity.getBody(); + LinkedHashMap rb2= (LinkedHashMap)postForEntity.getBody().getData(); + if(!rb1.getCode().equals("200")){ + return rb1; + } + OrdOrder order=new OrdOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + + order.setMainSid(rb2.get("mainSid").toString()); + order.setPayStatus(1); + order.setPayTime(new Date()); + order.setCardNumber(dto.getCardNumber()); + order.setSource(0); + order.setUserSid(vo.getSid()); + order.setOpenId(vo.getWxMpOpenid()); + order.setTotalTee(dto.getTotalTee()); + if(dto.getOrdOrderDetailsVoList().size()>1){ + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品"); + } +// order.setName("商品"); + order.setTimeRemarks(10); + order.setReturnUrl("https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="); + baseMapper.insert(order); + + + List ordOrders=new ArrayList<>(); + dto.getOrdOrderDetailsVoList().forEach(s->{ + OrdOrderDetail ordOrderDetails=new OrdOrderDetail(); + BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid"); + ordOrderDetails.setOrderSid(order.getSid()); + + ordOrders.add(ordOrderDetails); + + }); + ordOrderDetailsService.saveBatch(ordOrders); + if(dto.getOrdOrderDetailsVoList().size()>1){ + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"等"+(dto.getOrdOrderDetailsVoList().size()-1)+"件商品"); + }else{ + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString()+"商品"); + } + + result.setPrice(dto.getTotalTee()); +// result.setOrderId(rbData.getOutTradeNo()); + result.setOrderId(rb2.get("outTradeNo").toString()); + result.setRemainder(String.valueOf(10*60)); + + PayUrl payUrl=new PayUrl(); + payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); + PayParams aVoid=new PayParams(); + aVoid.setMainSid(rb2.get("mainSid").toString()); + payUrl.setParams(aVoid); + + OrderUrl orderUrl=new OrderUrl(); + orderUrl.setPage(""); + OrderParams orderParams=new OrderParams(); + orderParams.setMainSid(""); + orderUrl.setParams(orderParams); + + TradeNoUrl tradeNoUrl=new TradeNoUrl(); + tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); + TradeParams tradeParams=new TradeParams(); + tradeParams.setTrade_no(rb2.get("mainSid").toString()); + tradeNoUrl.setParams(tradeParams); + + result.setOrder_url(orderUrl); + result.setPay_url(payUrl); +// result + return rb.success().setData(result); + } + private static Map buildMessageBody(String userSid,String openId,String totalTee,String name){ + //拼接base参数 + Map mp_template_msg = new HashMap<>(); + mp_template_msg.put("source", "0"); + mp_template_msg.put("totalTee", totalTee); + mp_template_msg.put("openId", openId); + mp_template_msg.put("userSid", userSid); + mp_template_msg.put("name", name); + mp_template_msg.put("timeRemarks", "10"); + mp_template_msg.put("returnUrl", "https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="); + return mp_template_msg; + } +} diff --git a/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailMapper.java b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailMapper.java new file mode 100644 index 0000000..d83445f --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailMapper.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.biz.ordorderdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.yyth.api.ordorderdetails.OrdOrderDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface OrdOrderDetailMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailMapper.xml b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailMapper.xml new file mode 100644 index 0000000..6738037 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailRest.java b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailRest.java new file mode 100644 index 0000000..1d531a3 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailRest.java @@ -0,0 +1,15 @@ +package com.yxt.yyth.biz.ordorderdetails; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/empsreservoorder") +public class OrdOrderDetailRest { + +} diff --git a/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailService.java b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailService.java new file mode 100644 index 0000000..4cc5ff6 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/ordorderdetails/OrdOrderDetailService.java @@ -0,0 +1,14 @@ +package com.yxt.yyth.biz.ordorderdetails; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.yyth.api.ordorderdetails.OrdOrderDetail; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class OrdOrderDetailService extends MybatisBaseService { + +} diff --git a/src/main/java/com/yxt/yyth/config/SaTokenConfigure.java b/src/main/java/com/yxt/yyth/config/SaTokenConfigure.java index 05391fd..1d5f97b 100644 --- a/src/main/java/com/yxt/yyth/config/SaTokenConfigure.java +++ b/src/main/java/com/yxt/yyth/config/SaTokenConfigure.java @@ -53,6 +53,8 @@ public class SaTokenConfigure implements WebMvcConfigurer { .excludePathPatterns("/appletgiftbag/appletGiftBagList") .excludePathPatterns("/lpkgiftcard/cardShareDetail/**") .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**") + .excludePathPatterns("/empcardgift/generateTopEmpCard/**") + .excludePathPatterns("/empsreservoorder/createOrder") .excludePathPatterns("/lpkgiftcard/bindAllCard"); } }