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

View File

@ -17,6 +17,7 @@ import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController; import co.yixiang.common.web.controller.BaseController;
import co.yixiang.enums.AppFromEnum; import co.yixiang.enums.AppFromEnum;
import co.yixiang.enums.OrderInfoEnum; import co.yixiang.enums.OrderInfoEnum;
import co.yixiang.enums.PayTypeEnum;
import co.yixiang.exception.BadRequestException; import co.yixiang.exception.BadRequestException;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.express.ExpressService; import co.yixiang.express.ExpressService;
@ -258,8 +259,8 @@ public class StoreOrderController extends BaseController {
return ApiResult.ok(map,"支付成功"); return ApiResult.ok(map,"支付成功");
} }
switch (param.getPayType()){ switch (PayTypeEnum.toType(param.getPayType())){
case "weixin": case WEIXIN:
try { try {
Map<String,String> jsConfig = new HashMap<>(); Map<String,String> jsConfig = new HashMap<>();
if(param.getFrom().equals("weixinh5")){ if(param.getFrom().equals("weixinh5")){
@ -316,7 +317,7 @@ public class StoreOrderController extends BaseController {
} catch (WxPayException e) { } catch (WxPayException e) {
return ApiResult.fail(e.getMessage()); return ApiResult.fail(e.getMessage());
} }
case "yue": case YUE:
storeOrderService.yuePay(orderId,uid); storeOrderService.yuePay(orderId,uid);
return ApiResult.ok(map,"余额支付成功"); return ApiResult.ok(map,"余额支付成功");
} }
@ -354,8 +355,8 @@ public class StoreOrderController extends BaseController {
map.put("result",orderDTO); map.put("result",orderDTO);
//开始处理支付 //开始处理支付
if(StrUtil.isNotEmpty(orderId)){ if(StrUtil.isNotEmpty(orderId)){
switch (param.getPaytype()){ switch (PayTypeEnum.toType(param.getPaytype())){
case "weixin": case WEIXIN:
try { try {
Map<String,String> jsConfig = new HashMap<>(); Map<String,String> jsConfig = new HashMap<>();
if(param.getFrom().equals("weixinh5")){ if(param.getFrom().equals("weixinh5")){
@ -413,7 +414,7 @@ public class StoreOrderController extends BaseController {
} catch (WxPayException e) { } catch (WxPayException e) {
return ApiResult.fail(e.getMessage()); return ApiResult.fail(e.getMessage());
} }
case "yue": case YUE:
storeOrderService.yuePay(orderId,uid); storeOrderService.yuePay(orderId,uid);
return ApiResult.ok(map,"余额支付成功"); 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.service.impl.BaseServiceImpl;
import co.yixiang.common.web.vo.Paging; import co.yixiang.common.web.vo.Paging;
import co.yixiang.enums.CommonEnum; import co.yixiang.enums.CommonEnum;
import co.yixiang.enums.ProductEnum;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.shop.entity.YxStoreProduct; import co.yixiang.modules.shop.entity.YxStoreProduct;
import co.yixiang.modules.shop.entity.YxStoreProductAttrValue; import co.yixiang.modules.shop.entity.YxStoreProductAttrValue;
@ -229,20 +230,19 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<YxStoreProductMap
QueryWrapper<YxStoreProduct> wrapper = new QueryWrapper<>(); QueryWrapper<YxStoreProduct> wrapper = new QueryWrapper<>();
wrapper.eq("is_del",0).eq("is_show",1).orderByDesc("sort"); wrapper.eq("is_del",0).eq("is_show",1).orderByDesc("sort");
// order
//todo order = 1 精品推荐 order=2 新品 3-优惠产品 4-热卖 switch (ProductEnum.toType(order)){
switch (order){ case TYPE_1:
case 1: wrapper.eq("is_best",1); //精品推荐
wrapper.eq("is_best",1);
break; break;
case 2: case TYPE_3:
wrapper.eq("is_new",1); wrapper.eq("is_new",1); //// 首发新品
break; break;
case 3: case TYPE_4:
wrapper.eq("is_benefit",1); wrapper.eq("is_benefit",1); //// 促销单品
break; break;
case 4: case TYPE_2:
wrapper.eq("is_hot",1); wrapper.eq("is_hot",1);//// 热门榜单
break; break;
} }
Page<YxStoreProduct> pageModel = new Page<>(page, limit); 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.aop.log.Log;
import co.yixiang.common.api.ApiResult; import co.yixiang.common.api.ApiResult;
import co.yixiang.common.web.controller.BaseController; 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.YxStoreCouponIssueService;
import co.yixiang.modules.shop.service.YxStoreCouponUserService; import co.yixiang.modules.shop.service.YxStoreCouponUserService;
import co.yixiang.modules.shop.web.param.YxStoreCouponQueryParam; import co.yixiang.modules.shop.web.param.YxStoreCouponQueryParam;
@ -83,14 +84,14 @@ public class CouponController extends BaseController {
if(ObjectUtil.isEmpty(type)) type = 0; if(ObjectUtil.isEmpty(type)) type = 0;
int uid = SecurityUtils.getUserId().intValue(); int uid = SecurityUtils.getUserId().intValue();
List<YxStoreCouponUserQueryVo> list = null; List<YxStoreCouponUserQueryVo> list = null;
switch (type){ switch (CouponEnum.toType(type)){
case 0: case TYPE_0:
list = storeCouponUserService.getUserCoupon(uid,0); list = storeCouponUserService.getUserCoupon(uid,0);
break; break;
case 1: case TYPE_1:
list = storeCouponUserService.getUserCoupon(uid,1); list = storeCouponUserService.getUserCoupon(uid,1);
break; break;
case 2: case TYPE_2:
list = storeCouponUserService.getUserCoupon(uid,2); list = storeCouponUserService.getUserCoupon(uid,2);
break; break;
default: default:

View File

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

View File

@ -8,6 +8,8 @@
*/ */
package co.yixiang.modules.user.service.impl; 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.entity.YxUserBill;
import co.yixiang.modules.user.mapper.YxUserBillMapper; import co.yixiang.modules.user.mapper.YxUserBillMapper;
import co.yixiang.modules.user.mapping.BiillMap; 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) { public List<BillDTO> getUserBillList(int page, int limit, int uid, int type) {
QueryWrapper<YxUserBill> wrapper = new QueryWrapper<>(); QueryWrapper<YxUserBill> wrapper = new QueryWrapper<>();
wrapper.eq("uid",uid).orderByDesc("add_time").groupBy("time"); wrapper.eq("uid",uid).orderByDesc("add_time").groupBy("time");
switch (type){ switch (BillInfoEnum.toType(type)){
case 0: case PAY_PRODUCT:
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:
wrapper.eq("category","now_money"); wrapper.eq("category","now_money");
wrapper.eq("type","pay_product"); wrapper.eq("type","pay_product");
break; break;
case 2: case RECHAREGE:
wrapper.eq("category","now_money"); wrapper.eq("category","now_money");
wrapper.eq("type","recharge"); wrapper.eq("type","recharge");
break; break;
case 3: case BROKERAGE:
wrapper.eq("category","now_money"); wrapper.eq("category","now_money");
wrapper.eq("type","brokerage"); wrapper.eq("type","brokerage");
break; break;
case 4: case EXTRACT:
wrapper.eq("category","now_money"); wrapper.eq("category","now_money");
wrapper.eq("type","extract"); wrapper.eq("type","extract");
break; break;
case 5: case SIGN_INTEGRAL:
wrapper.eq("category","integral"); wrapper.eq("category","integral");
wrapper.eq("type","sign"); wrapper.eq("type","sign");
break; 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); Page<YxUserBill> pageModel = new Page<>(page, limit);
List<BillDTO> billDTOList = yxUserBillMapper.getBillList(wrapper,pageModel); List<BillDTO> billDTOList = yxUserBillMapper.getBillList(wrapper,pageModel);

View File

@ -3,6 +3,8 @@ package co.yixiang.enums;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import java.util.stream.Stream;
/** /**
* @author hupeng * @author hupeng
* 账单相关枚举 * 账单相关枚举
@ -20,8 +22,18 @@ public enum BillEnum {
private Integer value; private Integer value;
private String desc; 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 lombok.Getter;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import java.util.stream.Stream;
/** /**
* @author hupeng * @author hupeng
@ -51,5 +52,12 @@ public enum OrderInfoEnum {
private Integer value; private Integer value;
private String desc; 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.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import java.util.stream.Stream;
/** /**
* @author hupeng * @author hupeng
* 支付相关枚举 * 支付相关枚举
@ -18,5 +20,12 @@ public enum PayTypeEnum {
private String value; private String value;
private String desc; 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.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import java.util.stream.Stream;
/** /**
* @author hupeng * @author hupeng
* 产品相关枚举 * 产品相关枚举
@ -20,5 +22,12 @@ public enum ProductEnum {
private Integer value; private Integer value;
private String desc; private String desc;
public static ProductEnum toType(int value) {
return Stream.of(ProductEnum.values())
.filter(p -> p.value == value)
.findAny()
.orElse(null);
}
} }