记得上下班打卡 | git大法好,push需谨慎

Commit 369602d2 authored by dongchun's avatar dongchun

Merge remote-tracking branch 'origin/dev_goblin' into dev_goblin

parents 97e9e40f f4c11120
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* <p>
* 商城订单表
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinAppOrderDetailsVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = " orderVo")
private GoblinStoreOrderVo storeOrderVo;
@ApiModelProperty(value = " orderSkuVo")
List<GoblinOrderSkuVo> orderSkuVos;
private static final GoblinAppOrderDetailsVo obj = new GoblinAppOrderDetailsVo();
public static GoblinAppOrderDetailsVo getNew() {
try {
return (GoblinAppOrderDetailsVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinAppOrderDetailsVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.liquidnet.service.goblin.entity.GoblinOrderSku;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>
* 商城订单表
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinAppOrderListVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = " 订单id")
private String orderId;
@ApiModelProperty(value = " 店铺id")
private String storeId;
@ApiModelProperty(value = " 店铺id")
private String storeName;
@ApiModelProperty(value = " 订单状态[0-待付款(用户刚下单)|2-代发货(用户付完款 等待商城发货)3-代收货(商城已经发货 等待用户确认收货)|4-已完成(用户已经确认收货 订单结束)|5-取消订单(用户未付款前取消订单)|6-退款通过(用户已经付款但是商城还未发货,用户发出退款申请,商城同意退款)|7-退货通过(用户已经确认收货后用户发出退货申请,商城同意所有退货申请 ,一个订单可能有多个单品)]")
private Integer status;
@ApiModelProperty(value = " sku")
List<GoblinOrderSkuVo> orderSkuVos;
private static final GoblinAppOrderListVo obj = new GoblinAppOrderListVo();
public static GoblinAppOrderListVo getNew() {
try {
return (GoblinAppOrderListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinAppOrderListVo();
}
}
}
......@@ -10,6 +10,9 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@ApiModel(value = "GoblinGoodsInfoVo", description = "商品SPU详情[不包含具体SKU,SKU详情参见'GoblinGoobsSkuInfoVo']")
......@@ -104,6 +107,8 @@ public class GoblinGoodsInfoVo implements Serializable, Cloneable {
private List<GoblinGoodsExtagVo> extagVoList;
@ApiModelProperty(position = 55, value = "活动Id")
private String marketId;
@ApiModelProperty(position = 56, value = "销量")
private Integer count;
@ApiModelProperty(position = 55, value = "SPU包含的SKU_ID列表")
private List<String> skuIdList;
......@@ -117,4 +122,29 @@ public class GoblinGoodsInfoVo implements Serializable, Cloneable {
return new GoblinGoodsInfoVo();
}
}
/* public int compareTo(GoblinGoodsInfoVo arg0) {
return this.getCount().compareTo(arg0.getCount());
}*/
public static void main(String[] args) {
GoblinGoodsInfoVo goblinGoodsInfoVo=new GoblinGoodsInfoVo();
goblinGoodsInfoVo.setCount(1);
GoblinGoodsInfoVo goblinGoodsInfoVo1=new GoblinGoodsInfoVo();
goblinGoodsInfoVo1.setCount(12);
GoblinGoodsInfoVo goblinGoodsInfoVo2=new GoblinGoodsInfoVo();
goblinGoodsInfoVo2.setCount(12);
List<GoblinGoodsInfoVo> list=new ArrayList<>();
list.add(goblinGoodsInfoVo1);
list.add(goblinGoodsInfoVo);
list.add(goblinGoodsInfoVo2);
Collections.sort(list, new Comparator<GoblinGoodsInfoVo>() {
public int compare(GoblinGoodsInfoVo arg0, GoblinGoodsInfoVo arg1) {
return -(arg0.getCount().compareTo(arg1.getCount()));
}});
for(GoblinGoodsInfoVo goblinGoodsInfoVo3:list){
System.out.println(goblinGoodsInfoVo3.getCount());
}
}
}
......@@ -26,6 +26,8 @@ public class GoblinStoreOrderVo implements Serializable, Cloneable {
private String orderId;
@ApiModelProperty(value = " 店铺id")
private String storeId;
@ApiModelProperty(value = " 店铺Name")
private String storeName;
@ApiModelProperty(value = " 主订单code 下单可能会同时下多个订单 ")
private String masterOrderCode;
@ApiModelProperty(value = " 订单号")
......@@ -105,20 +107,21 @@ public class GoblinStoreOrderVo implements Serializable, Cloneable {
private List<String> orderSkuVoIds;
public BigDecimal getPriceModify() {
if(priceModify==null){
if (priceModify == null) {
return BigDecimal.ZERO;
}
return priceModify;
}
public BigDecimal getPriceVoucher() {
if(priceVoucher==null){
if (priceVoucher == null) {
return BigDecimal.ZERO;
}
return priceVoucher;
}
private static final GoblinStoreOrderVo obj = new GoblinStoreOrderVo();
public static GoblinStoreOrderVo getNew() {
try {
return (GoblinStoreOrderVo) obj.clone();
......
package com.liquidnet.service.goblin.service;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderDetailsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderVo;
import java.util.List;
public interface IGoblinOrderAppService {
ResponseDto<List<GoblinStoreOrderVo>> orderList(int page);
ResponseDto<List<GoblinAppOrderListVo>> orderList(int page);
ResponseDto<GoblinStoreOrderVo> orderDetails(String orderId);
ResponseDto<GoblinAppOrderDetailsVo> orderDetails(String orderId);
}
......@@ -338,7 +338,7 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
}
public static void main(String[] args) {
Long a=IDGenerator.getDamaiCode("665200880499752964622815");
Long a=IDGenerator.getDamaiCode("625614651458519045936293");
System.out.println(a);
}
......
......@@ -105,6 +105,7 @@ liquidnet:
check: http://ttestdragon.zhengzai.tv/dragon/pay/checkOrder
localUrl: http://ttestorder.zhengzai.tv/order/order/syncOrder
goblinUrl: http://ttestorder.zhengzai.tv/order/goblin/syncOrder
goblinRefundUrl: http://ttestgoblin.zhengzai.tv/goblin/store/order/refundSyncOrder
dragon:
notifyUrl: https://ttestdragon.zhengzai.tv/dragon
urls:
......
......@@ -35,6 +35,11 @@ public class GoblinStoreOrder implements Serializable,Cloneable {
*/
private String storeId;
/**
* 店铺名称
*/
private String storeName;
/**
* 主订单code 下单可能会同时下多个订单
*/
......
......@@ -800,3 +800,4 @@ create table goblin_store_market_purchasing
) engine = InnoDB comment '营销秒杀表[活动]';
alter table goblin_order_sku add spu_name varchar(255) default '' comment 'spu名称';
alter table goblin_store_order add store_name varchar(255) default '' comment '商铺名称';
\ No newline at end of file
......@@ -86,6 +86,11 @@ public class GoblinFrontController {
public ResponseDto getCube() throws ParseException {
return ResponseDto.success( goblinFrontService.getCube());
}
@GetMapping("getCategory")
@ApiOperation("获取分类")
public ResponseDto getCategory(String type,String categoryId) throws ParseException {
return ResponseDto.success( goblinFrontService.getCube());
}
......
......@@ -3,6 +3,8 @@ package com.liquidnet.service.goblin.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.codec.vo.EncryptedReq;
import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderDetailsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinPayInnerResultVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderVo;
import com.liquidnet.service.goblin.param.PayAgainParam;
......@@ -31,7 +33,7 @@ public class GoblinOrderAppController {
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "page", value = "页数", example = "1"),
})
public ResponseDto<List<GoblinStoreOrderVo>> orderList(@RequestParam("page") @Valid int page) {
public ResponseDto<List<GoblinAppOrderListVo>> orderList(@RequestParam("page") @Valid int page) {
return goblinOrderAppService.orderList(page);
}
......@@ -40,7 +42,7 @@ public class GoblinOrderAppController {
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "orderId", value = "订单id", example = "1"),
})
public ResponseDto<GoblinStoreOrderVo> orderDetails(@RequestParam("orderId") @Valid String orderId) {
public ResponseDto<GoblinAppOrderDetailsVo> orderDetails(@RequestParam("orderId") @Valid String orderId) {
return goblinOrderAppService.orderDetails(orderId);
}
......
......@@ -17,6 +17,9 @@ import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
......@@ -259,6 +262,42 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return goblinFrontCubeVo;
}
/**
* 获取分类列表
* 1、销量优先、2、新品优先、3、价格降序、4、价格升序
*/
public void getCategoryList(String type,String categoryId,int page,int pageSize){
//
Query query = new Query();
//Criteria.where("cateSid").is(categoryId)
query.addCriteria(new Criteria().andOperator(
Criteria.where("cateSid").is(categoryId),
Criteria.where("cateTid").is(categoryId)
));
Pageable pageable=null;
//
boolean isRe=false;
if(type.equals("1")){
isRe=true;
}else if(type.equals("2")){
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "shelvesAt"));
}else if(type.equals("3")){
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "priceGe"));
}else if(type.equals("4")){
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.ASC, "priceGe"));
}
// 排序 分页
// Query query = Query.query(Criteria.where("status").ne(1).and("status").ne(0));
// 查询总数
long count = mongoTemplate.count(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
if(!isRe){
query.with(pageable);
}
List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
}
/**
* @author zhangfuxin
......
......@@ -2,10 +2,14 @@ package com.liquidnet.service.goblin.service.impl;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderDetailsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinAppOrderListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinOrderSkuVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderVo;
import com.liquidnet.service.goblin.service.IGoblinOrderAppService;
import com.liquidnet.service.goblin.util.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -26,9 +30,9 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
@Override
public ResponseDto<List<GoblinStoreOrderVo>> orderList(int page) {
public ResponseDto<List<GoblinAppOrderListVo>> orderList(int page) {
String uid = CurrentUtil.getCurrentUid();
List<GoblinStoreOrderVo> orderVoList = ObjectUtil.getGoblinStoreOrderVoArrayList();
List<GoblinAppOrderListVo> orderVoList = ObjectUtil.goblinAppOrderListVoArrayList();
List<String> orderIds = redisUtils.getOrderList(uid);
int size = 40;
int initCount = (page - 1) * size;
......@@ -38,19 +42,35 @@ public class GoblinOrderAppServiceImpl implements IGoblinOrderAppService {
}
for (int i = initCount; i < finalCount; i++) {
String orderId = orderIds.get(i);
GoblinStoreOrderVo vo = redisUtils.getGoblinOrder(orderId);
GoblinStoreOrderVo orderVo = redisUtils.getGoblinOrder(orderId);
GoblinAppOrderListVo vo = GoblinAppOrderListVo.getNew();
BeanUtils.copyProperties(orderVo,vo);
List<GoblinOrderSkuVo> skuVos = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (String orderSkuId : orderVo.getOrderSkuVoIds()) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
skuVos.add(orderSkuVo);
}
vo.setOrderSkuVos(skuVos);
orderVoList.add(vo);
}
return ResponseDto.success(orderVoList);
}
@Override
public ResponseDto<GoblinStoreOrderVo> orderDetails(String orderId) {
public ResponseDto<GoblinAppOrderDetailsVo> orderDetails(String orderId) {
String uid = CurrentUtil.getCurrentUid();
GoblinStoreOrderVo vo = redisUtils.getGoblinOrder(orderId);
if (!vo.getUserId().equals(uid)) {
GoblinStoreOrderVo orderVo = redisUtils.getGoblinOrder(orderId);
if (!orderVo.getUserId().equals(uid)) {
return ResponseDto.failure("无权查看");
}
GoblinAppOrderDetailsVo vo = GoblinAppOrderDetailsVo.getNew();
List<GoblinOrderSkuVo> skuVos = ObjectUtil.getGoblinOrderSkuVoArrayList();
for (String orderSkuId : orderVo.getOrderSkuVoIds()) {
GoblinOrderSkuVo orderSkuVo = redisUtils.getGoblinOrderSkuVo(orderSkuId);
skuVos.add(orderSkuVo);
}
vo.setStoreOrderVo(orderVo);
vo.setOrderSkuVos(skuVos);
return ResponseDto.success(vo);
}
}
......@@ -256,11 +256,13 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
throw new Exception("券不可用");
}
}
GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVo(storeId);
//生成订单
GoblinStoreOrder storeOrder = GoblinStoreOrder.getNew();
storeOrder.setMasterOrderCode(orderMasterCode);
storeOrder.setOrderId(orderId);
storeOrder.setStoreId(storeId);
storeOrder.setStoreName(storeInfoVo.getStoreName());
storeOrder.setOrderCode(orderCode);
storeOrder.setUserId(uid);
storeOrder.setUserName(StringUtils.defaultString(((String) token.get("nickname")), ""));
......@@ -298,7 +300,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
//返回值
GoblinOrderPreParam preParam = GoblinOrderPreParam.getNew();
preParam.setPriceActual(storeOrder.getPriceActual());
preParam.setStoreName(redisUtils.getStoreInfoVo(storeId).getStoreName());
preParam.setStoreName(storeInfoVo.getStoreName());
preParam.setSkuName(skuName);
preParam.setOrderIdList(storeOrder.getOrderId());
preParam.setStoreOrder(storeOrder);
......@@ -386,7 +388,7 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
}
GoblinStoreOrder storeOrder = item.getStoreOrder();
sqlDataOrder.add(new Object[]{
storeOrder.getMasterOrderCode(), storeOrder.getOrderId(), storeOrder.getStoreId(), storeOrder.getOrderCode(), storeOrder.getUserId(), storeOrder.getUserName(), storeOrder.getUserMobile(), storeOrder.getPriceTotal(),
storeOrder.getMasterOrderCode(), storeOrder.getOrderId(), storeOrder.getStoreId(),storeOrder.getStoreName(), storeOrder.getOrderCode(), storeOrder.getUserId(), storeOrder.getUserName(), storeOrder.getUserMobile(), storeOrder.getPriceTotal(),
storeOrder.getPriceActual(), storeOrder.getPriceRefund(), storeOrder.getPriceExpress(), storeOrder.getPriceCoupon(), storeOrder.getPriceVoucher(), storeOrder.getStatus(), storeOrder.getUcouponId(), storeOrder.getPayType(), storeOrder.getDeviceFrom(),
storeOrder.getSource(), storeOrder.getVersion(), storeOrder.getIsMember(), storeOrder.getOrderType(), storeOrder.getWriteOffCode(), storeOrder.getPayCountdownMinute(), storeOrder.getIpAddress(), storeOrder.getPayCode(), storeOrder.getCreatedAt()
});
......
......@@ -50,6 +50,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinShoppingCartVo> goblinShoppingCartVoArrayList=new ArrayList<>();
private static final ArrayList<GoblinShoppingCartVoDetail> goblinShoppingCartVoDetailArrayList=new ArrayList<>();
private static final ArrayList<GoblinStoreBackOrderListVo> goblinStoreBackOrderListVoArrayList=new ArrayList<>();
private static final ArrayList<GoblinAppOrderListVo> goblinAppOrderListVoArrayList=new ArrayList<>();
private static final BasicDBObject basicDBObject = new BasicDBObject();
......@@ -59,6 +60,9 @@ public class ObjectUtil {
public static ArrayList<GoblinShoppingCartVo> goblinShoppingCartVoArrayList() {
return (ArrayList<GoblinShoppingCartVo>) goblinShoppingCartVoArrayList.clone();
}
public static ArrayList<GoblinAppOrderListVo> goblinAppOrderListVoArrayList() {
return (ArrayList<GoblinAppOrderListVo>) goblinAppOrderListVoArrayList.clone();
}
public static ArrayList<GoblinStoreBackOrderListVo> goblinStoreBackOrderListVoArrayList() {
return (ArrayList<GoblinStoreBackOrderListVo>) goblinStoreBackOrderListVoArrayList.clone();
}
......
......@@ -42,7 +42,7 @@ goblin.self.market.insertRelation=INSERT INTO goblin_marketing_zhengzai (`zhengz
goblin.self.market.updateRelation=UPDATE goblin_marketing_zhengzai SET price_marketing=? ,stock_marketing=? , buy_factor=?,buy_roster=?,buy_limit=?,updated_at=? WHERE self_market_id =? and store_id =?
goblin.self.market.delSpuRelation=UPDATE goblin_marketing_zhengzai SET del_flag = ?,updated_at = ? WHERE self_market_id =? and store_id =? and spu_id=?
#---- 订单创建&支付
goblin.order.create.order_insert=INSERT INTO goblin_store_order (`master_order_code`,`order_id`,`store_id`,`order_code`,`user_id`,`user_name`,`user_mobile`,`price_total`,`price_actual`,`price_refund`,`price_express`,`price_coupon`,`price_voucher`,`status`,`ucoupon_id`,`pay_type`,`device_from`,`source`,`version`,`is_member`,`order_type`,`write_off_code`,`pay_countdown_minute`,`ip_address`,`pay_code`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin.order.create.order_insert=INSERT INTO goblin_store_order (`master_order_code`,`order_id`,`store_id`,`store_name`,`order_code`,`user_id`,`user_name`,`user_mobile`,`price_total`,`price_actual`,`price_refund`,`price_express`,`price_coupon`,`price_voucher`,`status`,`ucoupon_id`,`pay_type`,`device_from`,`source`,`version`,`is_member`,`order_type`,`write_off_code`,`pay_countdown_minute`,`ip_address`,`pay_code`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin.order.create.attr_insert=INSERT INTO goblin_order_attr (`order_attr_id`,`order_id`,`express_contacts`,`express_address`,`express_address_detail`,`express_phone`,`express_type`,`created_at`) VALUES (?,?,?,?,?,?,?,?)
goblin.order.create.sku_insert=INSERT INTO goblin_order_sku (`order_sku_id`,`order_id`,`spu_id`,`spu_name`,`sku_id`,`num`,`sku_price`,`sku_price_actual`,`sku_name`,`sku_no`,`sku_image`,`sku_specs`,`price_voucher`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)
goblin_order.pay.order=UPDATE goblin_store_order SET payment_type = ? ,payment_id=?,pay_code = ? ,pay_time = ?,write_off_code = ? ,status = ? ,updated_at = ? WHERE order_id = ? and (updated_at <= ? or created_at = ? or updated_at is null)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment