yshop2.1代码优化,switch全部枚举化方便维护

This commit is contained in:
hupeng
2020-04-08 17:45:17 +08:00
parent e499285532
commit 0300342deb
14 changed files with 238 additions and 55 deletions

View File

@ -18,10 +18,7 @@ import co.yixiang.common.web.vo.Paging;
import co.yixiang.constant.ShopConstants;
import co.yixiang.domain.AlipayConfig;
import co.yixiang.domain.vo.TradeVo;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.BillDetailEnum;
import co.yixiang.enums.BillEnum;
import co.yixiang.enums.OrderInfoEnum;
import co.yixiang.enums.*;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.activity.service.*;
import co.yixiang.modules.manage.service.YxExpressService;
@ -637,29 +634,29 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
if(uid > 0) wrapper.eq("uid",uid);
wrapper.eq("is_del",0).orderByDesc("add_time");
switch (type){
case 0://未支付
switch (OrderStatusEnum.toType(type)){
case STATUS_0://未支付
wrapper.eq("paid",0).eq("refund_status",0).eq("status",0);
break;
case 1://待发货
case STATUS_1://待发货
wrapper.eq("paid",1).eq("refund_status",0).eq("status",0);
break;
case 2://待收货
case STATUS_2://待收货
wrapper.eq("paid",1).eq("refund_status",0).eq("status",1);
break;
case 3://待评价
case STATUS_3://待评价
wrapper.eq("paid",1).eq("refund_status",0).eq("status",2);
break;
case 4://已完成
case STATUS_4://已完成
wrapper.eq("paid",1).eq("refund_status",0).eq("status",3);
break;
case -1://退款中
case STATUS_MINUS_1://退款中
wrapper.eq("paid",1).eq("refund_status",1);
break;
case -2://已退款
case STATUS_MINUS_2://已退款
wrapper.eq("paid",0).eq("refund_status",2);
break;
case -3://退款
case STATUS_MINUS_3://退款
String[] strs = {"1","2"};
wrapper.eq("paid",1).in("refund_status",Arrays.asList(strs));
break;
@ -697,17 +694,17 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
QueryWrapper<YxStoreOrder> wrapper = new QueryWrapper<>();
wrapper.eq("paid",1).eq("refund_status",0).eq("is_del",0);
switch (cate){
case 1: //今天
switch (OrderCountEnum.toType(cate)){
case TODAY: //今天
wrapper.ge("pay_time",today);
break;
case 2: //昨天
case YESTERDAY: //昨天
wrapper.lt("pay_time",today).ge("pay_time",yesterday);
break;
case 3: //上周
case WEEK: //上周
wrapper.ge("pay_time",lastWeek);
break;
case 4: //本月
case MONTH: //本月
wrapper.ge("pay_time",nowMonth);
break;
}

View File

@ -17,6 +17,7 @@ import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController;
import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.OrderInfoEnum;
import co.yixiang.enums.PayTypeEnum;
import co.yixiang.exception.BadRequestException;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.express.ExpressService;
@ -258,8 +259,8 @@ public class StoreOrderController extends BaseController {
return ApiResult.ok(map,"支付成功");
}
switch (param.getPayType()){
case "weixin":
switch (PayTypeEnum.toType(param.getPayType())){
case WEIXIN:
try {
Map<String,String> jsConfig = new HashMap<>();
if(param.getFrom().equals("weixinh5")){
@ -316,7 +317,7 @@ public class StoreOrderController extends BaseController {
} catch (WxPayException e) {
return ApiResult.fail(e.getMessage());
}
case "yue":
case YUE:
storeOrderService.yuePay(orderId,uid);
return ApiResult.ok(map,"余额支付成功");
}
@ -354,8 +355,8 @@ public class StoreOrderController extends BaseController {
map.put("result",orderDTO);
//开始处理支付
if(StrUtil.isNotEmpty(orderId)){
switch (param.getPaytype()){
case "weixin":
switch (PayTypeEnum.toType(param.getPaytype())){
case WEIXIN:
try {
Map<String,String> jsConfig = new HashMap<>();
if(param.getFrom().equals("weixinh5")){
@ -413,7 +414,7 @@ public class StoreOrderController extends BaseController {
} catch (WxPayException e) {
return ApiResult.fail(e.getMessage());
}
case "yue":
case YUE:
storeOrderService.yuePay(orderId,uid);
return ApiResult.ok(map,"余额支付成功");
}

View File

@ -13,6 +13,7 @@ import cn.hutool.core.util.StrUtil;
import co.yixiang.common.service.impl.BaseServiceImpl;
import co.yixiang.common.web.vo.Paging;
import co.yixiang.enums.CommonEnum;
import co.yixiang.enums.ProductEnum;
import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.shop.entity.YxStoreProduct;
import co.yixiang.modules.shop.entity.YxStoreProductAttrValue;
@ -229,20 +230,19 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<YxStoreProductMap
QueryWrapper<YxStoreProduct> wrapper = new QueryWrapper<>();
wrapper.eq("is_del",0).eq("is_show",1).orderByDesc("sort");
//todo order = 1 精品推荐 order=2 新品 3-优惠产品 4-热卖
switch (order){
case 1:
wrapper.eq("is_best",1);
// order
switch (ProductEnum.toType(order)){
case TYPE_1:
wrapper.eq("is_best",1); //精品推荐
break;
case 2:
wrapper.eq("is_new",1);
case TYPE_3:
wrapper.eq("is_new",1); //// 首发新品
break;
case 3:
wrapper.eq("is_benefit",1);
case TYPE_4:
wrapper.eq("is_benefit",1); //// 促销单品
break;
case 4:
wrapper.eq("is_hot",1);
case TYPE_2:
wrapper.eq("is_hot",1);//// 热门榜单
break;
}
Page<YxStoreProduct> pageModel = new Page<>(page, limit);

View File

@ -12,6 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
import co.yixiang.aop.log.Log;
import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController;
import co.yixiang.enums.CouponEnum;
import co.yixiang.modules.shop.service.YxStoreCouponIssueService;
import co.yixiang.modules.shop.service.YxStoreCouponUserService;
import co.yixiang.modules.shop.web.param.YxStoreCouponQueryParam;
@ -83,14 +84,14 @@ public class CouponController extends BaseController {
if(ObjectUtil.isEmpty(type)) type = 0;
int uid = SecurityUtils.getUserId().intValue();
List<YxStoreCouponUserQueryVo> list = null;
switch (type){
case 0:
switch (CouponEnum.toType(type)){
case TYPE_0:
list = storeCouponUserService.getUserCoupon(uid,0);
break;
case 1:
case TYPE_1:
list = storeCouponUserService.getUserCoupon(uid,1);
break;
case 2:
case TYPE_2:
list = storeCouponUserService.getUserCoupon(uid,2);
break;
default:

View File

@ -80,14 +80,14 @@ public class StoreProductController extends BaseController {
@ApiOperation(value = "获取首页更多产品",notes = "获取首页更多产品")
public ApiResult<Map<String,Object>> moreGoodsList(@PathVariable Integer type){
Map<String,Object> map = new LinkedHashMap<>();
if(type.equals(ProductEnum.TYPE_1.getValue())){//TODO 精品推荐
if(type.equals(ProductEnum.TYPE_1.getValue())){// 精品推荐
map.put("list",storeProductService.getList(1,20,1));
}else if(type.equals(ProductEnum.TYPE_2.getValue())){//TODO 热门榜单
map.put("list",storeProductService.getList(1,20,4));
}else if(type.equals(ProductEnum.TYPE_3.getValue())){//TODO 首发新品
}else if(type.equals(ProductEnum.TYPE_2.getValue())){// 热门榜单
map.put("list",storeProductService.getList(1,20,2));
}else if(type.equals(ProductEnum.TYPE_4.getValue())){//TODO 促销单
}else if(type.equals(ProductEnum.TYPE_3.getValue())){// 首发新
map.put("list",storeProductService.getList(1,20,3));
}else if(type.equals(ProductEnum.TYPE_4.getValue())){// 促销单品
map.put("list",storeProductService.getList(1,20,4));
}
return ApiResult.ok(map);

View File

@ -8,6 +8,8 @@
*/
package co.yixiang.modules.user.service.impl;
import co.yixiang.enums.BillEnum;
import co.yixiang.enums.BillInfoEnum;
import co.yixiang.modules.user.entity.YxUserBill;
import co.yixiang.modules.user.mapper.YxUserBillMapper;
import co.yixiang.modules.user.mapping.BiillMap;
@ -102,32 +104,32 @@ public class YxUserBillServiceImpl extends BaseServiceImpl<YxUserBillMapper, YxU
public List<BillDTO> getUserBillList(int page, int limit, int uid, int type) {
QueryWrapper<YxUserBill> wrapper = new QueryWrapper<>();
wrapper.eq("uid",uid).orderByDesc("add_time").groupBy("time");
switch (type){
case 0:
wrapper.eq("category","now_money");
String str = "recharge,brokerage,pay_product,system_add,pay_product_refund,system_sub";
wrapper.in("type", Arrays.asList(str.split(",")));
break;
case 1:
switch (BillInfoEnum.toType(type)){
case PAY_PRODUCT:
wrapper.eq("category","now_money");
wrapper.eq("type","pay_product");
break;
case 2:
case RECHAREGE:
wrapper.eq("category","now_money");
wrapper.eq("type","recharge");
break;
case 3:
case BROKERAGE:
wrapper.eq("category","now_money");
wrapper.eq("type","brokerage");
break;
case 4:
case EXTRACT:
wrapper.eq("category","now_money");
wrapper.eq("type","extract");
break;
case 5:
case SIGN_INTEGRAL:
wrapper.eq("category","integral");
wrapper.eq("type","sign");
break;
default:
wrapper.eq("category","now_money");
String str = "recharge,brokerage,pay_product,system_add,pay_product_refund,system_sub";
wrapper.in("type", Arrays.asList(str.split(",")));
}
Page<YxUserBill> pageModel = new Page<>(page, limit);
List<BillDTO> billDTOList = yxUserBillMapper.getBillList(wrapper,pageModel);

View File

@ -3,6 +3,8 @@ package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 账单相关枚举
@ -20,8 +22,18 @@ public enum BillEnum {
private Integer value;
private String desc;
public static BillEnum toType(int value) {
return Stream.of(BillEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -0,0 +1,40 @@
package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 账单相关枚举
*/
@Getter
@AllArgsConstructor
public enum BillInfoEnum {
DEAFUL_ALL(0,"所有"),
PAY_PRODUCT(1,"消费"),
RECHAREGE(2,"充值"),
BROKERAGE(3,"返佣"),
EXTRACT(4,"提现"),
SIGN_INTEGRAL(5,"签到积分"),
PAY_PRODUCT_REFUND(6,"退款"),
SYSTEM_ADD(7,"系统添加"),
SYSTEM_SUB(8,"系统减少");
private Integer value;
private String desc;
public static BillInfoEnum toType(int value) {
return Stream.of(BillInfoEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -0,0 +1,32 @@
package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 优惠券相关枚举
*/
@Getter
@AllArgsConstructor
public enum CouponEnum {
TYPE_0(0,"全部"),
TYPE_1(1,"未使用"),
TYPE_2(2,"已使用");
private Integer value;
private String desc;
public static CouponEnum toType(int value) {
return Stream.of(CouponEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -0,0 +1,34 @@
package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 订单相关枚举
*/
@Getter
@AllArgsConstructor
public enum OrderCountEnum {
TODAY(1,"今天"),
YESTERDAY(2,"昨天"),
WEEK(3,"上周"),
MONTH(4,"本月");
private Integer value;
private String desc;
public static OrderCountEnum toType(int value) {
return Stream.of(OrderCountEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.stream.Stream;
/**
* @author hupeng
@ -51,5 +52,12 @@ public enum OrderInfoEnum {
private Integer value;
private String desc;
public static OrderInfoEnum toType(int value) {
return Stream.of(OrderInfoEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -0,0 +1,38 @@
package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 订单相关枚举
*/
@Getter
@AllArgsConstructor
public enum OrderStatusEnum {
STATUS_0(0,"未支付"),
STATUS_1(1,"待发货"),
STATUS_2(2,"待收货"),
STATUS_3(3,"待评价"),
STATUS_4(4,"已完成"),
STATUS_MINUS_1(-1,"退款中"),
STATUS_MINUS_2(-2,"已退款"),
STATUS_MINUS_3(-3,"退款");
private Integer value;
private String desc;
public static OrderStatusEnum toType(int value) {
return Stream.of(OrderStatusEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}

View File

@ -3,6 +3,8 @@ package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 支付相关枚举
@ -18,5 +20,12 @@ public enum PayTypeEnum {
private String value;
private String desc;
public static PayTypeEnum toType(String value) {
return Stream.of(PayTypeEnum.values())
.filter(p -> p.value.equals(value))
.findAny()
.orElse(null);
}
}

View File

@ -3,6 +3,8 @@ package co.yixiang.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.stream.Stream;
/**
* @author hupeng
* 产品相关枚举
@ -20,5 +22,12 @@ public enum ProductEnum {
private Integer value;
private String desc;
public static ProductEnum toType(int value) {
return Stream.of(ProductEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
}