'合并master'

This commit is contained in:
fengtianyangyang
2022-01-11 14:50:06 +08:00
519 changed files with 8935 additions and 8472 deletions

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.other.distribution;
package cn.lili.controller.distribution;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;

View File

@@ -1,6 +1,5 @@
package cn.lili.controller.other.distribution;
package cn.lili.controller.distribution;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.distribution.entity.dto.DistributionGoodsSearchParams;

View File

@@ -1,8 +1,8 @@
package cn.lili.controller.other.distribution;
package cn.lili.controller.distribution;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.distribution.entity.dos.Distribution;

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.other.distribution;
package cn.lili.controller.distribution;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;

View File

@@ -100,7 +100,7 @@ public class CategoryManagerController {
}
//查询某商品分类的商品数量
Integer count = goodsService.getGoodsCountByCategory(id);
long count = goodsService.getGoodsCountByCategory(id);
if (count > 0) {
throw new ServiceException(ResultCode.CATEGORY_HAS_GOODS);
}

View File

@@ -1,8 +1,8 @@
package cn.lili.controller.goods;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.goods.entity.dos.Goods;
import cn.lili.modules.goods.entity.dos.GoodsSku;
@@ -61,7 +61,7 @@ public class GoodsManagerController {
@GetMapping(value = "/auth/list")
public IPage<Goods> getAuthPage(GoodsSearchParams goodsSearchParams) {
goodsSearchParams.setIsAuth(GoodsAuthEnum.TOBEAUDITED.name());
goodsSearchParams.setAuthFlag(GoodsAuthEnum.TOBEAUDITED.name());
return goodsService.queryByParams(goodsSearchParams);
}
@@ -73,7 +73,7 @@ public class GoodsManagerController {
@PutMapping(value = "/{goodsId}/under")
public ResultMessage<Object> underGoods(@PathVariable String goodsId, @NotEmpty(message = "下架原因不能为空") @RequestParam String reason) {
List<String> goodsIds = Arrays.asList(goodsId.split(","));
if (Boolean.TRUE.equals(goodsService.updateGoodsMarketAble(goodsIds, GoodsStatusEnum.DOWN, reason))) {
if (Boolean.TRUE.equals(goodsService.managerUpdateGoodsMarketAble(goodsIds, GoodsStatusEnum.DOWN, reason))) {
return ResultUtil.success();
}
throw new ServiceException(ResultCode.GOODS_UNDER_ERROR);
@@ -82,12 +82,12 @@ public class GoodsManagerController {
@ApiOperation(value = "管理员审核商品", notes = "管理员审核商品")
@ApiImplicitParams({
@ApiImplicitParam(name = "goodsIds", value = "商品ID", required = true, paramType = "path", allowMultiple = true, dataType = "int"),
@ApiImplicitParam(name = "isAuth", value = "审核结果", required = true, paramType = "query", dataType = "string")
@ApiImplicitParam(name = "authFlag", value = "审核结果", required = true, paramType = "query", dataType = "string")
})
@PutMapping(value = "{goodsIds}/auth")
public ResultMessage<Object> auth(@PathVariable List<String> goodsIds, @RequestParam String isAuth) {
public ResultMessage<Object> auth(@PathVariable List<String> goodsIds, @RequestParam String authFlag) {
//校验商品是否存在
if (goodsService.auditGoods(goodsIds, GoodsAuthEnum.valueOf(isAuth))) {
if (goodsService.auditGoods(goodsIds, GoodsAuthEnum.valueOf(authFlag))) {
return ResultUtil.success();
}
throw new ServiceException(ResultCode.GOODS_AUTH_ERROR);

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.hotwords;
package cn.lili.controller.goods;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
@@ -8,10 +8,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* 管理端,app版本控制器
@@ -21,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
@RestController
@Api(tags = "管理端,系统设置扩展接口")
@RequestMapping("/manager/hotwords/hotWords")
@RequestMapping("/manager/hotwords")
public class HotWordsManagerController {
@Autowired
@@ -29,16 +26,22 @@ public class HotWordsManagerController {
@ApiOperation(value = "获取热词")
@GetMapping
public ResultMessage getHotWords() {
public ResultMessage<Object> getHotWords() {
return ResultUtil.data(esGoodsSearchService.getHotWords(100));
}
@ApiOperation(value = "设置热词")
@PostMapping
public ResultMessage paymentForm(@Validated HotWordsDTO hotWords) {
public ResultMessage<Object> paymentForm(@Validated HotWordsDTO hotWords) {
esGoodsSearchService.setHotWords(hotWords);
return ResultUtil.success();
}
@ApiOperation(value = "设置热词")
@DeleteMapping("/{words}")
public ResultMessage<Object> deleteWords(@PathVariable String words) {
esGoodsSearchService.deleteHotWords(words);
return ResultUtil.success();
}
}

View File

@@ -1,34 +0,0 @@
package cn.lili.controller.member;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.utils.IpHelper;
import cn.lili.common.vo.ResultMessage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* 管理端,IP接口
*
* @author Chopper
* @since 2020-02-25 14:10:16
*/
@RestController
@Api(tags = "获取IP信息以及天气")
@RequestMapping("/common/common/ip")
public class IpInfoManagerController {
@Autowired
private IpHelper ipHelper;
@RequestMapping(value = "/info", method = RequestMethod.GET)
@ApiOperation(value = "IP及天气相关信息")
public ResultMessage<Object> upload(HttpServletRequest request) {
String result = ipHelper.getIpCity(request);
return ResultUtil.data(result);
}
}

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.member;
package cn.lili.controller.message;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;

View File

@@ -1,11 +1,11 @@
package cn.lili.controller.member;
package cn.lili.controller.message;
import cn.lili.common.enums.ResultUtil;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.dos.MemberNoticeLog;
import cn.lili.modules.member.service.MemberNoticeLogService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.setting;
package cn.lili.controller.message;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.security.context.UserContext;

View File

@@ -1,12 +1,12 @@
package cn.lili.controller.member;
package cn.lili.controller.message;
import cn.lili.common.enums.ResultUtil;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.common.vo.SearchVO;
import cn.lili.modules.member.entity.dos.MemberNoticeSenter;
import cn.lili.modules.member.service.MemberNoticeSenterService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.setting;
package cn.lili.controller.message;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;

View File

@@ -1,11 +1,11 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.order.entity.dos.AfterSale;
import cn.lili.modules.order.order.entity.vo.AfterSaleSearchParams;
import cn.lili.modules.order.order.entity.vo.AfterSaleVO;
import cn.lili.modules.order.order.service.AfterSaleService;
import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import cn.lili.modules.order.aftersale.entity.vo.AfterSaleSearchParams;
import cn.lili.modules.order.aftersale.entity.vo.AfterSaleVO;
import cn.lili.modules.order.aftersale.service.AfterSaleService;
import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO;
import cn.lili.modules.system.entity.vo.Traces;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@@ -1,10 +1,10 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.order.entity.dos.AfterSaleReason;
import cn.lili.modules.order.order.service.AfterSaleReasonService;
import cn.lili.modules.order.aftersale.entity.dos.AfterSaleReason;
import cn.lili.modules.order.aftersale.service.AfterSaleReasonService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.security.AuthUser;

View File

@@ -1,12 +1,12 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.common.vo.SearchVO;
import cn.lili.modules.order.trade.entity.dos.OrderLog;
import cn.lili.modules.order.trade.service.OrderLogService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;

View File

@@ -1,13 +1,13 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.common.vo.SearchVO;
import cn.lili.modules.order.order.entity.dos.Order;
import cn.lili.modules.order.order.entity.vo.PaymentLog;
import cn.lili.modules.payment.service.PaymentService;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
public class PaymentLogManagerController {
@Autowired
private PaymentService paymentService;
private OrderService orderService;
@GetMapping
@@ -39,6 +39,6 @@ public class PaymentLogManagerController {
public ResultMessage<IPage<PaymentLog>> getByPage(Order order,
SearchVO searchVo,
PageVO page) {
return ResultUtil.data(paymentService.page(PageUtil.initPage(page), PageUtil.initWrapper(order, searchVo)));
return ResultUtil.data(orderService.queryPaymentLogs(PageUtil.initPage(page), PageUtil.initWrapper(order, searchVo)));
}
}

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;

View File

@@ -1,4 +1,4 @@
package cn.lili.controller.trade;
package cn.lili.controller.order;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;

View File

@@ -1,6 +1,8 @@
package cn.lili.controller.other;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
@@ -57,7 +59,8 @@ public class CustomWordsController {
return "";
}
if (!setting.getSettingValue().equals(secretKey)) {
JSONObject jsonObject = JSONUtil.parseObj(setting.getSettingValue());
if (!secretKey.equals(jsonObject.get("secretKey"))) {
throw new ServiceException(ResultCode.CUSTOM_WORDS_SECRET_KEY_ERROR);
}

View File

@@ -1,6 +1,5 @@
package cn.lili.controller.other;
import cn.lili.cache.Cache;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.search.service.EsGoodsIndexService;
@@ -27,9 +26,6 @@ public class ElasticsearchController {
@Autowired
private EsGoodsIndexService esGoodsIndexService;
@Autowired
private Cache cache;
@GetMapping
public ResultMessage<String> init() {
esGoodsIndexService.init();

View File

@@ -1,14 +1,13 @@
package cn.lili.controller.other;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import cn.lili.modules.page.entity.dos.PageData;
import cn.lili.modules.page.entity.dto.PageDataDTO;
import cn.lili.modules.page.entity.vos.PageDataListVO;
import cn.lili.modules.page.service.PageDataService;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;

View File

@@ -1,12 +1,11 @@
package cn.lili.controller.other;
import cn.lili.common.enums.ResultUtil;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.system.entity.dos.SensitiveWords;
import cn.lili.modules.system.service.SensitiveWordsService;
import cn.lili.modules.system.utils.SensitiveWordsFilter;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -48,7 +47,7 @@ public class SensitiveWordsManagerController {
@PostMapping
public ResultMessage<SensitiveWords> add(@Valid SensitiveWords sensitiveWords) {
sensitiveWordsService.save(sensitiveWords);
SensitiveWordsFilter.put(sensitiveWords.getSensitiveWord());
sensitiveWordsService.resetCache();
return ResultUtil.data(sensitiveWords);
}
@@ -58,7 +57,7 @@ public class SensitiveWordsManagerController {
public ResultMessage<SensitiveWords> edit(@PathVariable String id, SensitiveWords sensitiveWords) {
sensitiveWords.setId(id);
sensitiveWordsService.updateById(sensitiveWords);
SensitiveWordsFilter.put(sensitiveWords.getSensitiveWord());
sensitiveWordsService.resetCache();
return ResultUtil.data(sensitiveWords);
}
@@ -66,12 +65,8 @@ public class SensitiveWordsManagerController {
@ApiImplicitParam(name = "ids", value = "敏感词ID", required = true, dataType = "String", allowMultiple = true, paramType = "path")
@DeleteMapping(value = "/delByIds/{ids}")
public ResultMessage<Object> delAllByIds(@PathVariable List<String> ids) {
for (String id : ids) {
String name = sensitiveWordsService.getById(id).getSensitiveWord();
SensitiveWordsFilter.remove(name);
sensitiveWordsService.removeById(id);
}
sensitiveWordsService.removeByIds(ids);
sensitiveWordsService.resetCache();
return ResultUtil.success();
}
}

View File

@@ -1,10 +1,10 @@
package cn.lili.controller.other;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.common.vo.SearchVO;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import cn.lili.modules.verification.entity.dos.VerificationSource;
import cn.lili.modules.verification.service.VerificationSourceService;
import cn.lili.mybatis.util.PageUtil;

View File

@@ -1,5 +1,6 @@
package cn.lili.controller.passport;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
@@ -17,8 +18,7 @@ import cn.lili.modules.permission.entity.dto.AdminUserDTO;
import cn.lili.modules.permission.entity.vo.AdminUserVO;
import cn.lili.modules.permission.service.AdminUserService;
import cn.lili.modules.permission.service.DepartmentService;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import cn.lili.modules.verification.enums.VerificationEnums;
import cn.lili.modules.verification.entity.enums.VerificationEnums;
import cn.lili.modules.verification.service.VerificationService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@@ -1,5 +1,6 @@
package cn.lili.controller.passport;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
@@ -9,7 +10,6 @@ import cn.lili.modules.member.entity.dto.MemberAddDTO;
import cn.lili.modules.member.entity.vo.MemberSearchVO;
import cn.lili.modules.member.entity.vo.MemberVO;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -78,7 +78,7 @@ public class MemberManagerController {
@ApiOperation(value = "根据条件查询会员总数")
@GetMapping("/num")
public ResultMessage<Integer> getByPage(MemberSearchVO memberSearchVO) {
public ResultMessage<Long> getByPage(MemberSearchVO memberSearchVO) {
return ResultUtil.data(memberService.getMemberNum(memberSearchVO));
}

View File

@@ -1,12 +1,12 @@
package cn.lili.controller.permission;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.permission.entity.dos.Menu;
import cn.lili.modules.permission.entity.dto.MenuSearchParams;
import cn.lili.modules.permission.entity.vo.MenuVO;
import cn.lili.modules.permission.service.MenuService;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

View File

@@ -7,7 +7,6 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.CouponActivity;
import cn.lili.modules.promotion.entity.dto.CouponActivityDTO;
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponActivityVO;
import cn.lili.modules.promotion.service.CouponActivityService;
import cn.lili.mybatis.util.PageUtil;
@@ -19,6 +18,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
/**
* 优惠券活动
*
@@ -50,8 +51,10 @@ public class CouponActivityManagerController {
@PostMapping
@PutMapping(consumes = "application/json", produces = "application/json")
public ResultMessage<CouponActivity> addCouponActivity(@RequestBody(required = false) CouponActivityDTO couponActivityDTO) {
couponActivityDTO.setPromotionStatus(PromotionStatusEnum.NEW.name());
return ResultUtil.data(couponActivityService.addCouponActivity(couponActivityDTO));
if (couponActivityService.savePromotions(couponActivityDTO)) {
return ResultUtil.data(couponActivityDTO);
}
return ResultUtil.error(ResultCode.COUPON_ACTIVITY_SAVE_ERROR);
}
@ApiOperation(value = "关闭优惠券活动")
@@ -60,7 +63,7 @@ public class CouponActivityManagerController {
})
@DeleteMapping("/{id}")
public ResultMessage<CouponActivity> updateStatus(@PathVariable String id) {
if (couponActivityService.updateCouponActivityStatus(id, PromotionStatusEnum.END)) {
if (couponActivityService.updateStatus(Collections.singletonList(id), null, null)) {
return ResultUtil.success(ResultCode.SUCCESS);
}
throw new ServiceException(ResultCode.ERROR);

View File

@@ -9,11 +9,11 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.MemberCoupon;
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
import cn.lili.modules.promotion.service.MemberCouponService;
import cn.lili.modules.promotion.tools.PromotionTools;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -43,14 +43,14 @@ public class CouponManagerController {
@ApiOperation(value = "获取优惠券列表")
@GetMapping
public ResultMessage<IPage<CouponVO>> getCouponList(CouponSearchParams queryParam, PageVO page) {
queryParam.setStoreId("platform");
return ResultUtil.data(couponService.getCouponsByPageFromMongo(queryParam, page));
queryParam.setStoreId(PromotionTools.PLATFORM_ID);
return ResultUtil.data(couponService.pageVOFindAll(queryParam, page));
}
@ApiOperation(value = "获取优惠券详情")
@GetMapping("/{couponId}")
public ResultMessage<CouponVO> getCoupon(@PathVariable String couponId) {
CouponVO coupon = couponService.getCouponDetailFromMongo(couponId);
CouponVO coupon = couponService.getDetail(couponId);
return ResultUtil.data(coupon);
}
@@ -58,24 +58,24 @@ public class CouponManagerController {
@PostMapping(consumes = "application/json", produces = "application/json")
public ResultMessage<CouponVO> addCoupon(@RequestBody CouponVO couponVO) {
this.setStoreInfo(couponVO);
couponService.add(couponVO);
couponService.savePromotions(couponVO);
return ResultUtil.data(couponVO);
}
@ApiOperation(value = "修改优惠券")
@PutMapping(consumes = "application/json", produces = "application/json")
public ResultMessage<Coupon> updateCoupon(@RequestBody CouponVO couponVO) {
this.setStoreInfo(couponVO);
Coupon coupon = couponService.getById(couponVO.getId());
couponVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
couponService.updateCoupon(couponVO);
couponService.updatePromotions(couponVO);
return ResultUtil.data(coupon);
}
@ApiOperation(value = "修改优惠券状态")
@PutMapping("/status")
public ResultMessage<Object> updateCouponStatus(String couponIds, String promotionStatus) {
public ResultMessage<Object> updateCouponStatus(String couponIds, Long startTime, Long endTime) {
String[] split = couponIds.split(",");
if (couponService.updateCouponStatus(Arrays.asList(split), PromotionStatusEnum.valueOf(promotionStatus))) {
if (couponService.updateStatus(Arrays.asList(split), startTime, endTime)) {
return ResultUtil.success(ResultCode.COUPON_EDIT_STATUS_SUCCESS);
}
throw new ServiceException(ResultCode.COUPON_EDIT_STATUS_ERROR);
@@ -84,9 +84,7 @@ public class CouponManagerController {
@ApiOperation(value = "批量删除")
@DeleteMapping(value = "/{ids}")
public ResultMessage<Object> delAllByIds(@PathVariable List<String> ids) {
for (String id : ids) {
couponService.deleteCoupon(id);
}
couponService.removePromotions(ids);
return ResultUtil.success();
}
@@ -114,8 +112,8 @@ public class CouponManagerController {
if (currentUser == null) {
throw new ServiceException(ResultCode.USER_NOT_EXIST);
}
couponVO.setStoreId("platform");
couponVO.setStoreName("platform");
couponVO.setStoreId(PromotionTools.PLATFORM_ID);
couponVO.setStoreName(PromotionTools.PLATFORM_NAME);
}
}

View File

@@ -5,8 +5,8 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.service.FullDiscountService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
@@ -16,6 +16,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
/**
* 管理端,满额活动接口
*
@@ -26,14 +28,15 @@ import org.springframework.web.bind.annotation.*;
@Api(tags = "管理端,满额活动接口")
@RequestMapping("/manager/promotion/fullDiscount")
public class FullDiscountManagerController {
@Autowired
private FullDiscountService fullDiscountService;
@ApiOperation(value = "获取满优惠列表")
@GetMapping
public ResultMessage<IPage<FullDiscountVO>> getCouponList(FullDiscountSearchParams searchParams, PageVO page) {
public ResultMessage<IPage<FullDiscount>> getCouponList(FullDiscountSearchParams searchParams, PageVO page) {
page.setNotConvert(true);
return ResultUtil.data(fullDiscountService.getFullDiscountByPageFromMongo(searchParams, page));
return ResultUtil.data(fullDiscountService.pageFindAll(searchParams, page));
}
@ApiOperation(value = "获取满优惠详情")
@@ -42,20 +45,14 @@ public class FullDiscountManagerController {
return ResultUtil.data(fullDiscountService.getFullDiscount(id));
}
@ApiOperation(value = "获取满优惠商品列表")
@GetMapping("/goods/{id}")
public ResultMessage<FullDiscountVO> getCouponGoods(@PathVariable String id) {
return ResultUtil.data(fullDiscountService.getFullDiscount(id));
}
@ApiOperation(value = "修改满额活动状态")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "满额活动ID", required = true, paramType = "path"),
@ApiImplicitParam(name = "promotionStatus", value = "满额活动状态", required = true, paramType = "path")
})
@PutMapping("/status/{id}/{promotionStatus}")
public ResultMessage<Object> updateCouponStatus(@PathVariable String id, @PathVariable String promotionStatus) {
if (fullDiscountService.updateFullDiscountStatus(id, PromotionStatusEnum.valueOf(promotionStatus))) {
@PutMapping("/status/{id}")
public ResultMessage<Object> updateCouponStatus(@PathVariable String id, Long startTime, Long endTime) {
if (fullDiscountService.updateStatus(Collections.singletonList(id), startTime, endTime)) {
return ResultUtil.success(ResultCode.SUCCESS);
}
return ResultUtil.error(ResultCode.ERROR);

View File

@@ -6,9 +6,10 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
import cn.lili.modules.promotion.entity.vos.kanjia.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.entity.dto.search.KanjiaActivityGoodsParams;
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
@@ -23,7 +24,7 @@ import java.util.Arrays;
* 管理端,促销接口
*
* @author qiuqiu
* @date 2021/7/2
* @since 2021/7/2
**/
@RestController
@Api(tags = "管理端,砍价促销接口")
@@ -43,8 +44,8 @@ public class KanJiaActivityGoodsManagerController {
@ApiOperation(value = "获取砍价活动分页")
@GetMapping
public ResultMessage<IPage<KanjiaActivityGoodsDTO>> getKanJiaActivityPage(KanjiaActivityGoodsParams KanJiaActivityParams, PageVO page) {
return ResultUtil.data(kanJiaActivityGoodsService.getForPage(KanJiaActivityParams, page));
public ResultMessage<IPage<KanjiaActivityGoods>> getKanJiaActivityPage(KanjiaActivityGoodsParams kanJiaParams, PageVO page) {
return ResultUtil.data(kanJiaActivityGoodsService.pageFindAll(kanJiaParams, page));
}
@@ -59,7 +60,9 @@ public class KanJiaActivityGoodsManagerController {
@PutMapping
@ApiOperation(value = "修改砍价商品")
public ResultMessage<Object> updatePointsGoods(@RequestBody KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
kanJiaActivityGoodsService.updateKanjiaActivityGoods(kanJiaActivityGoodsDTO);
if (!kanJiaActivityGoodsService.updateKanjiaActivityGoods(kanJiaActivityGoodsDTO)) {
return ResultUtil.error(ResultCode.KANJIA_GOODS_UPDATE_ERROR);
}
return ResultUtil.success();
}
@@ -67,7 +70,7 @@ public class KanJiaActivityGoodsManagerController {
@DeleteMapping("/{ids}")
@ApiOperation(value = "删除砍价商品")
public ResultMessage<Object> delete(@PathVariable String ids) {
if (kanJiaActivityGoodsService.deleteKanJiaGoods(Arrays.asList(ids.split(",")))) {
if (kanJiaActivityGoodsService.removePromotions(Arrays.asList(ids.split(",")))) {
return ResultUtil.success();
}
throw new ServiceException(ResultCode.KANJIA_GOODS_DELETE_ERROR);

View File

@@ -7,10 +7,10 @@ import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Pintuan;
import cn.lili.modules.promotion.entity.dto.PromotionGoodsDTO;
import cn.lili.modules.promotion.entity.vos.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.PintuanSearchParams;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PintuanVO;
import cn.lili.modules.promotion.entity.vos.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.service.PintuanService;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -19,7 +19,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.Arrays;
/**
* 管理端,平台拼团接口
@@ -38,46 +38,35 @@ public class PintuanManagerController {
@GetMapping(value = "/{id}")
@ApiOperation(value = "通过id获取")
public ResultMessage<Pintuan> get(@PathVariable String id) {
Pintuan pintuan = pintuanService.getPintuanByIdFromMongo(id);
public ResultMessage<PintuanVO> get(@PathVariable String id) {
PintuanVO pintuan = pintuanService.getPintuanVO(id);
return ResultUtil.data(pintuan);
}
@GetMapping
@ApiOperation(value = "根据条件分页查询拼团活动列表")
public ResultMessage<IPage<PintuanVO>> getPintuanByPage(PintuanSearchParams queryParam, PageVO pageVo) {
IPage<PintuanVO> pintuanByPageFromMongo = pintuanService.getPintuanByPageFromMongo(queryParam, pageVo);
return ResultUtil.data(pintuanByPageFromMongo);
public ResultMessage<IPage<Pintuan>> getPintuanByPage(PintuanSearchParams queryParam, PageVO pageVo) {
IPage<Pintuan> pintuanIPage = pintuanService.pageFindAll(queryParam, pageVo);
return ResultUtil.data(pintuanIPage);
}
@GetMapping("/goods/{pintuanId}")
@ApiOperation(value = "根据条件分页查询拼团活动商品列表")
public ResultMessage<IPage<PromotionGoodsDTO>> getPintuanGoodsByPage(@PathVariable String pintuanId, PageVO pageVo) {
public ResultMessage<IPage<PromotionGoods>> getPintuanGoodsByPage(@PathVariable String pintuanId, PageVO pageVo) {
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
searchParams.setPromotionId(pintuanId);
searchParams.setPromotionType(PromotionTypeEnum.PINTUAN.name());
IPage<PromotionGoodsDTO> promotionGoods = promotionGoodsService.getPromotionGoods(searchParams, pageVo);
return ResultUtil.data(promotionGoods);
return ResultUtil.data(promotionGoodsService.pageFindAll(searchParams, pageVo));
}
@PutMapping("/open/{pintuanId}")
@ApiOperation(value = "手动开启拼团活动")
public ResultMessage<String> openPintuan(@PathVariable String pintuanId, Long startTime, Long endTime) {
if (pintuanService.openPintuan(pintuanId, new Date(startTime), new Date(endTime))) {
@PutMapping("/status/{pintuanIds}")
@ApiOperation(value = "操作拼团活动状态")
public ResultMessage<String> openPintuan(@PathVariable String pintuanIds, Long startTime, Long endTime) {
if (pintuanService.updateStatus(Arrays.asList(pintuanIds.split(",")), startTime, endTime)) {
return ResultUtil.success(ResultCode.PINTUAN_MANUAL_OPEN_SUCCESS);
}
throw new ServiceException(ResultCode.PINTUAN_MANUAL_OPEN_ERROR);
}
@PutMapping("/close/{pintuanId}")
@ApiOperation(value = "手动关闭拼团活动")
public ResultMessage<String> closePintuan(@PathVariable String pintuanId) {
if (pintuanService.closePintuan(pintuanId)) {
return ResultUtil.success(ResultCode.PINTUAN_MANUAL_CLOSE_SUCCESS);
}
throw new ServiceException(ResultCode.PINTUAN_MANUAL_CLOSE_ERROR);
}
}

View File

@@ -1,13 +1,13 @@
package cn.lili.controller.promotion;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.AuthUser;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.vos.PointsGoodsSearchParams;
import cn.lili.modules.promotion.entity.dos.PointsGoods;
import cn.lili.modules.promotion.entity.dto.search.PointsGoodsSearchParams;
import cn.lili.modules.promotion.entity.vos.PointsGoodsVO;
import cn.lili.modules.promotion.service.PointsGoodsService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,9 +16,9 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
/**
* 管理端,积分商品接口
@@ -35,40 +35,34 @@ public class PointsGoodsManagerController {
@PostMapping(consumes = "application/json", produces = "application/json")
@ApiOperation(value = "添加积分商品")
public ResultMessage<Object> addPointsGoods(@RequestBody List<PointsGoodsVO> pointsGoodsList) {
List<PointsGoodsVO> collect = new ArrayList<>();
for (PointsGoodsVO i : pointsGoodsList) {
i.setStoreName(i.getGoodsSku().getStoreName());
i.setStoreId(i.getGoodsSku().getStoreId());
collect.add(i);
public ResultMessage<Object> addPointsGoods(@RequestBody List<PointsGoods> pointsGoodsList) {
if (pointsGoodsService.savePointsGoodsBatch(pointsGoodsList)) {
return ResultUtil.success();
}
pointsGoodsService.addPointsGoods(collect);
return ResultUtil.success();
return ResultUtil.error(ResultCode.POINT_GOODS_ERROR);
}
@PutMapping(consumes = "application/json", produces = "application/json")
@ApiOperation(value = "修改积分商品")
public ResultMessage<Object> updatePointsGoods(@RequestBody PointsGoodsVO pointsGoods) {
AuthUser currentUser = UserContext.getCurrentUser();
pointsGoods.setStoreId(currentUser.getId());
pointsGoods.setStoreName("platform");
pointsGoodsService.updatePointsGoods(pointsGoods);
Objects.requireNonNull(UserContext.getCurrentUser());
pointsGoodsService.updatePromotions(pointsGoods);
return ResultUtil.success();
}
@PutMapping("/{ids}")
@PutMapping("/status/{ids}")
@ApiOperation(value = "修改积分商品状态")
public ResultMessage<Object> updatePointsGoodsStatus(@PathVariable String ids, String promotionStatus) {
if (pointsGoodsService.updatePointsGoodsPromotionStatus(Arrays.asList(ids.split(",")), promotionStatus)) {
public ResultMessage<Object> updatePointsGoodsStatus(@PathVariable String ids, Long startTime, Long endTime) {
if (pointsGoodsService.updateStatus(Arrays.asList(ids.split(",")), startTime, endTime)) {
return ResultUtil.success();
}
throw new ServiceException(ResultCode.POINT_GOODS_ERROR);
return ResultUtil.error(ResultCode.POINT_GOODS_ERROR);
}
@DeleteMapping("/{ids}")
@ApiOperation(value = "删除积分商品")
public ResultMessage<Object> delete(@PathVariable String ids) {
if (pointsGoodsService.deletePointsGoods(Arrays.asList(ids.split(",")))) {
if (pointsGoodsService.removePromotions(Arrays.asList(ids.split(",")))) {
return ResultUtil.success();
}
throw new ServiceException(ResultCode.POINT_GOODS_ERROR);
@@ -76,8 +70,8 @@ public class PointsGoodsManagerController {
@GetMapping
@ApiOperation(value = "分页获取积分商品")
public ResultMessage<IPage<PointsGoodsVO>> getPointsGoodsPage(PointsGoodsSearchParams searchParams, PageVO page) {
IPage<PointsGoodsVO> pointsGoodsByPage = pointsGoodsService.getPointsGoodsByPage(searchParams, page);
public ResultMessage<IPage<PointsGoods>> getPointsGoodsPage(PointsGoodsSearchParams searchParams, PageVO page) {
IPage<PointsGoods> pointsGoodsByPage = pointsGoodsService.pageFindAll(searchParams, page);
return ResultUtil.data(pointsGoodsByPage);
}

View File

@@ -3,9 +3,11 @@ package cn.lili.controller.promotion;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dto.PromotionGoodsDTO;
import cn.lili.modules.promotion.service.PromotionService;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.dto.search.PromotionGoodsSearchParams;
import cn.lili.modules.promotion.entity.enums.PromotionsStatusEnum;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.PromotionService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -42,8 +44,12 @@ public class PromotionManagerController {
@GetMapping("/{promotionId}/goods")
@ApiOperation(value = "获取当前进行中的促销活动商品")
public ResultMessage<IPage<PromotionGoodsDTO>> getPromotionGoods(@PathVariable String promotionId, String promotionType, PageVO pageVO) {
IPage<PromotionGoodsDTO> promotionGoods = promotionGoodsService.getCurrentPromotionGoods(promotionType, pageVO);
public ResultMessage<IPage<PromotionGoods>> getPromotionGoods(@PathVariable String promotionId, String promotionType, PageVO pageVO) {
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
searchParams.setPromotionId(promotionId);
searchParams.setPromotionType(promotionType);
searchParams.setPromotionStatus(PromotionsStatusEnum.START.name());
IPage<PromotionGoods> promotionGoods = promotionGoodsService.pageFindAll(searchParams, pageVO);
return ResultUtil.data(promotionGoods);
}

View File

@@ -5,7 +5,7 @@ import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dos.Seckill;
import cn.lili.modules.promotion.entity.dos.SeckillApply;
import cn.lili.modules.promotion.entity.vos.SeckillSearchParams;
import cn.lili.modules.promotion.entity.dto.search.SeckillSearchParams;
import cn.lili.modules.promotion.entity.vos.SeckillVO;
import cn.lili.modules.promotion.service.SeckillApplyService;
import cn.lili.modules.promotion.service.SeckillService;
@@ -16,6 +16,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
/**
* 管理端,秒杀活动接口
*
@@ -40,9 +42,9 @@ public class SeckillManagerController {
@ApiOperation(value = "修改秒杀活动")
@PutMapping
public ResultMessage<Seckill> updateSeckill(SeckillVO seckillVO) {
seckillService.modifySeckill(seckillVO);
@PutMapping(consumes = "application/json", produces = "application/json")
public ResultMessage<Seckill> updateSeckill(@RequestBody SeckillVO seckillVO) {
seckillService.updatePromotions(seckillVO);
return ResultUtil.data(seckillVO);
}
@@ -50,44 +52,36 @@ public class SeckillManagerController {
@ApiImplicitParam(name = "id", value = "秒杀活动ID", required = true, dataType = "String", paramType = "path")
@GetMapping(value = "/{id}")
public ResultMessage<Seckill> get(@PathVariable String id) {
Seckill seckill = seckillService.getSeckillByIdFromMongo(id);
Seckill seckill = seckillService.getById(id);
return ResultUtil.data(seckill);
}
@ApiOperation(value = "分页查询秒杀活动列表")
@GetMapping
public ResultMessage<IPage<SeckillVO>> getAll(SeckillSearchParams param, PageVO pageVo) {
return ResultUtil.data(seckillService.getSeckillByPageFromMongo(param, pageVo));
public ResultMessage<IPage<Seckill>> getAll(SeckillSearchParams param, PageVO pageVo) {
return ResultUtil.data(seckillService.pageFindAll(param, pageVo));
}
@ApiOperation(value = "删除一个秒杀活动")
@ApiImplicitParam(name = "id", value = "秒杀活动ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}")
public ResultMessage<Object> deleteSeckill(@PathVariable String id) {
seckillService.deleteSeckill(id);
seckillService.removePromotions(Collections.singletonList(id));
return ResultUtil.success();
}
@ApiOperation(value = "关闭一个秒杀活动")
@ApiOperation(value = "操作秒杀活动状态")
@ApiImplicitParam(name = "id", value = "秒杀活动ID", required = true, dataType = "String", paramType = "path")
@PutMapping("/close/{id}")
public ResultMessage<Object> closeSeckill(@PathVariable String id) {
seckillService.closeSeckill(id);
return ResultUtil.success();
}
@ApiOperation(value = "开启一个秒杀活动")
@ApiImplicitParam(name = "id", value = "秒杀活动ID", required = true, dataType = "String", paramType = "path")
@PutMapping("/open/{id}")
public ResultMessage<Object> openSeckill(@PathVariable String id) {
seckillService.openSeckill(id);
@PutMapping("/status/{id}")
public ResultMessage<Object> updateSeckillStatus(@PathVariable String id, Long startTime, Long endTime) {
seckillService.updateStatus(Collections.singletonList(id), startTime, endTime);
return ResultUtil.success();
}
@ApiOperation(value = "获取秒杀活动申请列表")
@GetMapping("/apply")
public ResultMessage<IPage<SeckillApply>> getSeckillApply(SeckillSearchParams param, PageVO pageVo) {
IPage<SeckillApply> seckillApply = seckillApplyService.getSeckillApplyFromMongo(param, pageVo);
IPage<SeckillApply> seckillApply = seckillApplyService.getSeckillApplyPage(param, pageVo);
return ResultUtil.data(seckillApply);
}

View File

@@ -1,10 +1,10 @@
package cn.lili.controller.setting;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import cn.lili.modules.system.service.RegionService;
import cn.lili.modules.system.entity.dos.Region;
import cn.lili.modules.system.service.RegionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,11 +1,11 @@
package cn.lili.controller.setting;
import cn.hutool.json.JSONUtil;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import cn.lili.modules.system.entity.dos.Setting;
import cn.lili.modules.system.entity.dto.*;
import cn.lili.modules.system.entity.dto.connect.QQConnectSetting;

View File

@@ -1,10 +1,10 @@
package cn.lili.controller.setting;
package cn.lili.controller.sms;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.message.entity.dos.SmsReach;
import cn.lili.modules.message.service.SmsReachService;
import cn.lili.modules.sms.entity.dos.SmsReach;
import cn.lili.modules.sms.service.SmsReachService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;

View File

@@ -1,10 +1,10 @@
package cn.lili.controller.setting;
package cn.lili.controller.sms;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.message.entity.dos.SmsSign;
import cn.lili.modules.message.service.SmsSignService;
import cn.lili.modules.sms.entity.dos.SmsSign;
import cn.lili.modules.sms.service.SmsSignService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;

View File

@@ -1,10 +1,10 @@
package cn.lili.controller.setting;
package cn.lili.controller.sms;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.message.entity.dos.SmsTemplate;
import cn.lili.modules.message.service.SmsTemplateService;
import cn.lili.modules.sms.entity.dos.SmsTemplate;
import cn.lili.modules.sms.service.SmsTemplateService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;

View File

@@ -5,7 +5,7 @@ import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.statistics.entity.dto.GoodsStatisticsQueryParam;
import cn.lili.modules.statistics.entity.vo.CategoryStatisticsDataVO;
import cn.lili.modules.statistics.entity.vo.GoodsStatisticsDataVO;
import cn.lili.modules.statistics.service.GoodsStatisticsDataService;
import cn.lili.modules.statistics.service.StoreFlowStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,22 +21,22 @@ import java.util.List;
* @author Bulbasaur
* @since 2020/12/9 19:04
*/
@Api(tags = "管理端,商品统计接口")
@Api(tags = "管理端,商品流水统计接口")
@RestController
@RequestMapping("/manager/statistics/goods")
public class GoodsStatisticsManagerController {
@Autowired
private GoodsStatisticsDataService goodsStatisticsDataService;
private StoreFlowStatisticsService storeFlowStatisticsService;
@ApiOperation(value = "获取统计列表,排行前一百的数据")
@GetMapping
public ResultMessage<List<GoodsStatisticsDataVO>> getByPage(GoodsStatisticsQueryParam goodsStatisticsQueryParam) {
return ResultUtil.data(goodsStatisticsDataService.getGoodsStatisticsData(goodsStatisticsQueryParam, 100));
return ResultUtil.data(storeFlowStatisticsService.getGoodsStatisticsData(goodsStatisticsQueryParam, 100));
}
@ApiOperation(value = "获取行业统计列表")
@GetMapping("/getCategoryByPage")
public ResultMessage<List<CategoryStatisticsDataVO>> getCategoryByPage(GoodsStatisticsQueryParam goodsStatisticsQueryParam) {
return ResultUtil.data(goodsStatisticsDataService.getCategoryStatisticsData(goodsStatisticsQueryParam));
return ResultUtil.data(storeFlowStatisticsService.getCategoryStatisticsData(goodsStatisticsQueryParam));
}
}

View File

@@ -4,7 +4,7 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.statistics.entity.dos.MemberStatisticsData;
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
import cn.lili.modules.statistics.service.MemberStatisticsDataService;
import cn.lili.modules.statistics.service.MemberStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,11 +25,11 @@ import java.util.List;
@RequestMapping("/manager/statistics/member")
public class MemberStatisticsManagerController {
@Autowired
private MemberStatisticsDataService memberStatisticsDataService;
private MemberStatisticsService memberStatisticsService;
@ApiOperation(value = "获取会员统计")
@GetMapping
public ResultMessage<List<MemberStatisticsData>> getByList(StatisticsQueryParam statisticsQueryParam) {
return ResultUtil.data(memberStatisticsDataService.statistics(statisticsQueryParam));
return ResultUtil.data(memberStatisticsService.statistics(statisticsQueryParam));
}
}

View File

@@ -3,14 +3,13 @@ package cn.lili.controller.statistics;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.order.entity.dos.AfterSale;
import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
import cn.lili.modules.order.order.service.AfterSaleService;
import cn.lili.modules.order.order.service.OrderService;
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
import cn.lili.modules.statistics.entity.vo.OrderOverviewVO;
import cn.lili.modules.statistics.entity.vo.OrderStatisticsDataVO;
import cn.lili.modules.statistics.service.OrderStatisticsDataService;
import cn.lili.modules.statistics.service.AfterSaleStatisticsService;
import cn.lili.modules.statistics.service.OrderStatisticsService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -34,17 +33,15 @@ import java.util.List;
@RequestMapping("/manager/statistics/order")
public class OrderStatisticsManagerController {
@Autowired
private OrderStatisticsDataService orderStatisticsDataService;
private OrderStatisticsService orderStatisticsService;
@Autowired
private OrderService orderService;
@Autowired
private AfterSaleService afterSaleService;
private AfterSaleStatisticsService afterSaleStatisticsService;
@ApiOperation(value = "订单概览统计")
@GetMapping("/overview")
public ResultMessage<OrderOverviewVO> overview(StatisticsQueryParam statisticsQueryParam) {
try {
return ResultUtil.data(orderStatisticsDataService.overview(statisticsQueryParam));
return ResultUtil.data(orderStatisticsService.overview(statisticsQueryParam));
} catch (Exception e) {
log.error("订单概览统计错误",e);
}
@@ -55,7 +52,7 @@ public class OrderStatisticsManagerController {
@GetMapping
public ResultMessage<List<OrderStatisticsDataVO>> statisticsChart(StatisticsQueryParam statisticsQueryParam) {
try {
return ResultUtil.data(orderStatisticsDataService.statisticsChart(statisticsQueryParam));
return ResultUtil.data(orderStatisticsService.statisticsChart(statisticsQueryParam));
} catch (Exception e) {
log.error("订单图表统计",e);
}
@@ -67,7 +64,7 @@ public class OrderStatisticsManagerController {
@GetMapping("/order")
public ResultMessage<IPage<OrderSimpleVO>> order(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) {
try {
return ResultUtil.data(orderService.getStatistics(statisticsQueryParam, pageVO));
return ResultUtil.data(orderStatisticsService.getStatistics(statisticsQueryParam, pageVO));
} catch (Exception e) {
log.error("订单统计",e);
}
@@ -78,6 +75,6 @@ public class OrderStatisticsManagerController {
@ApiOperation(value = "退单统计")
@GetMapping("/refund")
public ResultMessage<IPage<AfterSale>> refund(StatisticsQueryParam statisticsQueryParam, PageVO pageVO) {
return ResultUtil.data(afterSaleService.getStatistics(statisticsQueryParam, pageVO));
return ResultUtil.data(afterSaleStatisticsService.getStatistics(statisticsQueryParam, pageVO));
}
}

View File

@@ -6,7 +6,7 @@ import cn.lili.modules.member.entity.vo.MemberDistributionVO;
import cn.lili.modules.statistics.entity.dto.StatisticsQueryParam;
import cn.lili.modules.statistics.entity.vo.OnlineMemberVO;
import cn.lili.modules.statistics.entity.vo.PlatformViewVO;
import cn.lili.modules.statistics.service.PlatformViewDataService;
import cn.lili.modules.statistics.service.PlatformViewService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,31 +27,31 @@ import java.util.List;
@RequestMapping("/manager/statistics/view")
public class ViewStatisticsManagerController {
@Autowired
private PlatformViewDataService platformViewDataService;
private PlatformViewService platformViewService;
@ApiOperation(value = "流量数据 表单获取")
@GetMapping("/list")
public ResultMessage<List<PlatformViewVO>> getByPage(StatisticsQueryParam queryParam) {
return ResultUtil.data(platformViewDataService.list(queryParam));
return ResultUtil.data(platformViewService.list(queryParam));
}
@ApiOperation(value = "当前在线人数")
@GetMapping("/online/current")
public ResultMessage<Long> currentNumberPeopleOnline() {
return ResultUtil.data(platformViewDataService.online());
return ResultUtil.data(platformViewService.online());
}
@ApiOperation(value = "会员分布")
@GetMapping("/online/distribution")
public ResultMessage<List<MemberDistributionVO>> memberDistribution() {
return ResultUtil.data(platformViewDataService.memberDistribution());
return ResultUtil.data(platformViewService.memberDistribution());
}
@ApiOperation(value = "在线人数历史默认48小时")
@GetMapping("/online/history")
public ResultMessage<List<OnlineMemberVO>> history() {
return ResultUtil.data(platformViewDataService.statisticsOnline());
return ResultUtil.data(platformViewService.statisticsOnline());
}
}

View File

@@ -4,6 +4,7 @@ import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.order.entity.dos.StoreFlow;
import cn.lili.modules.order.order.service.StoreFlowService;
import cn.lili.modules.store.entity.dos.Bill;
import cn.lili.modules.store.entity.dto.BillSearchParams;
import cn.lili.modules.store.entity.vos.BillListVO;
@@ -31,6 +32,9 @@ public class BillManagerController {
@Autowired
private BillService billService;
@Autowired
private StoreFlowService storeFlowService;
@ApiOperation(value = "通过id获取结算单")
@ApiImplicitParam(name = "id", value = "结算单ID", required = true, paramType = "path")
@GetMapping(value = "/get/{id}")
@@ -51,7 +55,7 @@ public class BillManagerController {
})
@GetMapping(value = "/{id}/getStoreFlow")
public ResultMessage<IPage<StoreFlow>> getStoreFlow(@PathVariable String id, String flowType, PageVO pageVO) {
return ResultUtil.data(billService.getStoreFlow(id, flowType, pageVO));
return ResultUtil.data(storeFlowService.getStoreFlow(id, flowType, pageVO));
}
@ApiOperation(value = "支付结算单")

View File

@@ -1,5 +1,6 @@
package cn.lili.controller.store;
import cn.lili.common.aop.annotation.DemoSite;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
@@ -12,7 +13,6 @@ import cn.lili.modules.store.entity.vos.StoreSearchParams;
import cn.lili.modules.store.entity.vos.StoreVO;
import cn.lili.modules.store.service.StoreDetailService;
import cn.lili.modules.store.service.StoreService;
import cn.lili.modules.system.aspect.annotation.DemoSite;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;

View File

@@ -1,9 +1,9 @@
package cn.lili.controller.member;
package cn.lili.controller.wallet;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.vo.MemberWalletVO;
import cn.lili.modules.member.service.MemberWalletService;
import cn.lili.modules.wallet.entity.vo.MemberWalletVO;
import cn.lili.modules.wallet.service.MemberWalletService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,12 +1,12 @@
package cn.lili.controller.member;
package cn.lili.controller.wallet;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.member.entity.dos.MemberWithdrawApply;
import cn.lili.modules.member.entity.vo.MemberWithdrawApplyQueryVO;
import cn.lili.modules.member.service.MemberWithdrawApplyService;
import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply;
import cn.lili.modules.wallet.entity.vo.MemberWithdrawApplyQueryVO;
import cn.lili.modules.wallet.service.MemberWithdrawApplyService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;

View File

@@ -1,11 +1,11 @@
package cn.lili.controller.trade;
package cn.lili.controller.wallet;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.trade.entity.dos.Recharge;
import cn.lili.modules.order.trade.entity.vo.RechargeQueryVO;
import cn.lili.modules.order.trade.service.RechargeService;
import cn.lili.modules.wallet.entity.dos.Recharge;
import cn.lili.modules.wallet.service.RechargeService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,11 +1,11 @@
package cn.lili.controller.trade;
package cn.lili.controller.wallet;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.trade.entity.dos.WalletLog;
import cn.lili.modules.order.trade.entity.vo.DepositQueryVO;
import cn.lili.modules.order.trade.service.WalletLogService;
import cn.lili.modules.wallet.entity.dos.WalletLog;
import cn.lili.modules.wallet.service.WalletLogService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,12 +1,12 @@
package cn.lili.controller.setting;
package cn.lili.controller.wechat;
import cn.lili.common.enums.ResultUtil;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.common.vo.SearchVO;
import cn.lili.modules.message.entity.dos.WechatMPMessage;
import cn.lili.modules.message.service.WechatMPMessageService;
import cn.lili.modules.wechat.entity.dos.WechatMPMessage;
import cn.lili.modules.wechat.service.WechatMPMessageService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,11 +1,11 @@
package cn.lili.controller.setting;
package cn.lili.controller.wechat;
import cn.lili.common.enums.ResultUtil;
import cn.lili.mybatis.util.PageUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.message.entity.dos.WechatMessage;
import cn.lili.modules.message.service.WechatMessageService;
import cn.lili.modules.wechat.entity.dos.WechatMessage;
import cn.lili.modules.wechat.service.WechatMessageService;
import cn.lili.mybatis.util.PageUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@@ -1,6 +1,7 @@
package cn.lili.security;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.cache.Cache;
import cn.lili.cache.CachePrefix;
import cn.lili.common.security.AuthUser;
@@ -90,25 +91,39 @@ public class ManagerAuthenticationFilter extends BasicAuthenticationFilter {
//获取数据(GET 请求)权限
if (request.getMethod().equals(RequestMethod.GET.name())) {
//如果用户的超级权限和查阅权限都不包含当前请求的api
if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl)
|| PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.QUERY.name()).toArray(new String[0]), requestUrl)) {
if (match(permission.get(PermissionEnum.SUPER.name()), requestUrl) ||
match(permission.get(PermissionEnum.QUERY.name()), requestUrl)) {
} else {
ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足"));
log.error("当前请求路径:{},所拥有权限:{}", requestUrl, JSONUtil.toJsonStr(permission));
throw new NoPermissionException("权限不足");
}
}
//非get请求数据操作 判定鉴权
else {
if (PatternMatchUtils.simpleMatch(permission.get(PermissionEnum.SUPER.name()).toArray(new String[0]), requestUrl)) {
} else {
if (!match(permission.get(PermissionEnum.SUPER.name()), requestUrl)) {
ResponseUtil.output(response, ResponseUtil.resultMap(false, 400, "权限不足"));
log.error("当前请求路径:{},所拥有权限:{}", requestUrl, JSONUtil.toJsonStr(permission));
throw new NoPermissionException("权限不足");
}
}
}
}
/**
* 校验权限
*
* @param permissions 权限集合
* @param url 请求地址
* @return 是否拥有权限
*/
boolean match(List<String> permissions, String url) {
if (permissions == null || permissions.isEmpty()) {
return false;
}
return PatternMatchUtils.simpleMatch(permissions.toArray(new String[0]), url);
}
/**
* 获取token信息
*

View File

@@ -29,15 +29,6 @@ spring:
admin:
client:
url: http://127.0.0.1:8000
# mongodb
data:
mongodb:
uri: 127.0.0.1:27017
database: lilishop
username: root
password: lilishop
authentication-database: admin
# replica-set-name: mongoreplset
cache:
type: redis
# Redis
@@ -131,6 +122,7 @@ ignored:
- /manager/user/login
- /manager/user/refresh/**
- /manager/elasticsearch
- /manager/custom-words
- /druid/**
- /swagger-ui.html
- /doc.html
@@ -173,7 +165,6 @@ logging:
cn.lili: info
# org.hibernate: debug
# org.springframework: debug
# org.springframework.data.mongodb.core: debug
file:
# 指定路径
path: lili-logs

View File

@@ -1,6 +1,5 @@
package cn.lili.test.elasticsearch;
import cn.hutool.http.HtmlUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.cache.Cache;
import cn.lili.common.vo.PageVO;
@@ -20,8 +19,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.owasp.html.PolicyFactory;
import org.owasp.html.Sanitizers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.elasticsearch.core.SearchPage;
@@ -29,7 +26,6 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @author paulG
@@ -59,12 +55,22 @@ class EsTest {
public static void main(String[] args) {
PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
String safeHTML = policy.sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-");
System.out.println(safeHTML);
System.out.println(Sanitizers.FORMATTING.and(Sanitizers.FORMATTING).sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
System.out.println(HtmlUtil.unescape(safeHTML));
System.out.println(HtmlUtil.filter("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
// PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
// String safeHTML = policy.sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-");
// System.out.println(safeHTML);
// System.out.println(Sanitizers.FORMATTING.and(Sanitizers.FORMATTING).sanitize("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
// System.out.println(HtmlUtil.unescape(safeHTML));
// System.out.println(HtmlUtil.filter("+ADw-script+AD4-alert(document.cookie)+ADw-/script+AD4-"));
// Date dt1 = new Date(2021, 12, 10);
// Date dt2 = new Date(2021, 12, 14);
//
}
@Test
void cleanInvalidPromotion() {
this.esGoodsIndexService.cleanInvalidPromotion();
Assertions.assertTrue(true);
}
@Test
@@ -117,14 +123,12 @@ class EsTest {
@Test
void init() {
LambdaQueryWrapper<GoodsSku> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(GoodsSku::getIsAuth, GoodsAuthEnum.PASS.name());
queryWrapper.eq(GoodsSku::getAuthFlag, GoodsAuthEnum.PASS.name());
queryWrapper.eq(GoodsSku::getMarketEnable, GoodsStatusEnum.UPPER.name());
List<GoodsSku> list = goodsSkuService.list(queryWrapper);
List<EsGoodsIndex> esGoodsIndices = new ArrayList<>();
for (GoodsSku goodsSku : list) {
EsGoodsIndex index = new EsGoodsIndex(goodsSku);
Map<String, Object> goodsCurrentPromotionMap = promotionService.getGoodsCurrentPromotionMap(index);
index.setPromotionMap(goodsCurrentPromotionMap);
esGoodsIndices.add(index);
cache.put(GoodsSkuService.getStockCacheKey(goodsSku.getId()), goodsSku.getQuantity());
}
@@ -166,62 +170,7 @@ class EsTest {
@Test
void updateIndex() {
// EsGoodsIndex goodsIndex = new EsGoodsIndex();
// goodsIndex.setId("121");
// goodsIndex.setBrandId("113");
// goodsIndex.setGoodsId("113");
// goodsIndex.setCategoryPath("0|1");
// goodsIndex.setBuyCount(100);
// goodsIndex.setCommentNum(100);
// goodsIndex.setGoodsName("惠普HP战66 三代AMD版14英寸轻薄笔记本电脑锐龙7nm 六核R5-4500U 16G 512G 400尼特高色域一年上门 ");
// goodsIndex.setGrade(100D);
// goodsIndex.setHighPraiseNum(100);
// goodsIndex.setIntro("I'd like a cup of tea, please");
// goodsIndex.setIsAuth("1");
// goodsIndex.setMarketEnable("1");
// goodsIndex.setMobileIntro("I want something cold to drink");
// goodsIndex.setPoint(100);
// goodsIndex.setPrice(100D);
// goodsIndex.setSelfOperated(true);
// goodsIndex.setStoreId("113");
// goodsIndex.setStoreName("惠普自营官方旗舰店");
// goodsIndex.setStoreCategoryPath("1");
// goodsIndex.setThumbnail("picture");
// goodsIndex.setSn("A113");
// Map<String, BasePromotion> promotionMap = new HashMap<>();
// Coupon coupon = new Coupon();
// coupon.setStoreId("113");
// coupon.setStoreName("惠普自营官方旗舰店");
// coupon.setPromotionStatus(PromotionStatusEnum.START.name());
// coupon.setReceivedNum(0);
// coupon.setConsumeLimit(11D);
// coupon.setCouponLimitNum(10);
// coupon.setCouponName("满11减10");
// coupon.setCouponType(CouponTypeEnum.PRICE.name());
// coupon.setGetType(CouponGetEnum.FREE.name());
// coupon.setPrice(10D);
// promotionMap.put(PromotionTypeEnum.COUPON.name(), coupon);
// goodsIndex.setPromotionMap(promotionMap);
// List<EsGoodsAttribute> esGoodsAttributeList = new ArrayList<>();
// EsGoodsAttribute attribute = new EsGoodsAttribute();
// attribute.setType(0);
// attribute.setName("颜色");
// attribute.setValue("14英寸");
// esGoodsAttributeList.add(attribute);
// esGoodsAttributeList.add(attribute);
// attribute = new EsGoodsAttribute();
// attribute.setName("版本");
// attribute.setValue("【战66新品】R5-4500 8G 256G");
// esGoodsAttributeList.add(attribute);
// attribute = new EsGoodsAttribute();
// attribute.setName("配置");
// attribute.setValue("i5 8G 512G 2G独显");
// esGoodsAttributeList.add(attribute);
// goodsIndex.setAttrList(esGoodsAttributeList);
// GoodsSku goodsSkuByIdFromCache = goodsSkuService.getGoodsSkuByIdFromCache("121");
// EsGoodsIndex goodsIndex = new EsGoodsIndex(goodsSkuByIdFromCache);
EsGoodsIndex byId = esGoodsIndexService.findById("121");
byId.setPromotionMap(null);
esGoodsIndexService.updateIndex(byId);
Assertions.assertTrue(true);
}
@@ -246,7 +195,7 @@ class EsTest {
goodsIndex.setGrade(100D);
goodsIndex.setHighPraiseNum(100);
goodsIndex.setIntro("I'd like a cup of tea, please");
goodsIndex.setIsAuth("1");
goodsIndex.setAuthFlag("1");
goodsIndex.setMarketEnable("1");
goodsIndex.setMobileIntro("I want something cold to drink");
goodsIndex.setPoint(0);

View File

@@ -2,17 +2,16 @@ package cn.lili.test.promotion;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.vo.PageVO;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.promotion.entity.dos.Coupon;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.enums.*;
import cn.lili.modules.promotion.entity.vos.CouponSearchParams;
import cn.lili.modules.promotion.entity.dto.search.CouponSearchParams;
import cn.lili.modules.promotion.entity.enums.CouponGetEnum;
import cn.lili.modules.promotion.entity.enums.CouponTypeEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsScopeTypeEnum;
import cn.lili.modules.promotion.entity.vos.CouponVO;
import cn.lili.modules.promotion.service.CouponService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -34,15 +33,6 @@ class CouponTest {
@Autowired
private CouponService couponService;
@Autowired
private GoodsSkuService goodsSkuService;
@Autowired
private RocketMQTemplate rocketMQTemplate;
@Autowired
private RocketmqCustomProperties rocketmqCustomProperties;
@Test
void addCoupon() {
CouponVO couponVO = new CouponVO();
@@ -50,7 +40,6 @@ class CouponTest {
couponVO.setCouponType(CouponTypeEnum.DISCOUNT.name());
couponVO.setDescription(couponVO.getCouponName() + " are expensive");
couponVO.setGetType(CouponGetEnum.FREE.name());
couponVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
// couponVO.setStoreId("0");
// couponVO.setStoreName("platform");
couponVO.setStoreId("131");
@@ -61,7 +50,7 @@ class CouponTest {
// couponVO.setPrice(200D);
couponVO.setCouponDiscount(0.1D);
couponVO.setScopeType(CouponScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeType(PromotionsScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeId("121");
couponVO.setStartTime(cn.hutool.core.date.DateUtil.parse("2020-11-30 15:58:00"));
couponVO.setEndTime(cn.hutool.core.date.DateUtil.parse("2020-12-30 23:50:00"));
@@ -82,7 +71,6 @@ class CouponTest {
promotionGoods.setTitle(couponVO.getPromotionName());
promotionGoods.setPromotionId(couponVO.getId());
promotionGoods.setQuantity(1000);
promotionGoods.setPromotionStatus(couponVO.getPromotionStatus());
promotionGoods.setPromotionType(PromotionTypeEnum.COUPON.name());
promotionGoodsList.add(promotionGoods);
//
@@ -99,7 +87,7 @@ class CouponTest {
// promotionGoodsList.add(promotionGoods);
//
couponVO.setPromotionGoodsList(promotionGoodsList);
Assertions.assertNotNull(couponService.add(couponVO));
Assertions.assertNotNull(couponService.savePromotions(couponVO));
}
@Test
@@ -110,7 +98,6 @@ class CouponTest {
couponVO.setCouponType(CouponTypeEnum.DISCOUNT.name());
couponVO.setDescription(couponVO.getId() + " is expensive");
couponVO.setGetType(CouponGetEnum.FREE.name());
couponVO.setPromotionStatus(PromotionStatusEnum.START.name());
couponVO.setStoreId("132");
couponVO.setStoreName("联想自营旗舰店");
couponVO.setStoreCommission(99.99D);
@@ -119,7 +106,7 @@ class CouponTest {
couponVO.setCouponDiscount(10D);
couponVO.setPrice(0D);
couponVO.setScopeType(CouponScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeType(PromotionsScopeTypeEnum.PORTION_GOODS.name());
couponVO.setScopeId("134,133");
couponVO.setStartTime(cn.hutool.core.date.DateUtil.parse("2020-11-10 17:01:00"));
couponVO.setEndTime(cn.hutool.core.date.DateUtil.parse("2020-11-10 17:10:00"));
@@ -144,7 +131,6 @@ class CouponTest {
promotionGoods.setStartTime(couponVO.getStartTime());
promotionGoods.setEndTime(couponVO.getEndTime());
promotionGoods.setTitle(couponVO.getPromotionName());
promotionGoods.setPromotionStatus(couponVO.getPromotionStatus());
promotionGoodsList.add(promotionGoods);
promotionGoods = new PromotionGoods();
@@ -160,35 +146,22 @@ class CouponTest {
promotionGoods.setStartTime(couponVO.getStartTime());
promotionGoods.setEndTime(couponVO.getEndTime());
promotionGoods.setTitle(couponVO.getPromotionName());
promotionGoods.setPromotionStatus(couponVO.getPromotionStatus());
promotionGoodsList.add(promotionGoods);
couponVO.setPromotionGoodsList(promotionGoodsList);
Assertions.assertNotNull(couponService.updateCoupon(couponVO));
Assertions.assertTrue(couponService.updatePromotions(couponVO));
}
@Test
void searchFromMongo() {
void search() {
CouponSearchParams queryParam = new CouponSearchParams();
queryParam.setStoreId("");
PageVO pageVo = new PageVO();
pageVo.setPageNumber(0);
pageVo.setPageSize(10);
IPage<CouponVO> couponsByPageFromMongo = couponService.getCouponsByPageFromMongo(queryParam, pageVo);
Assertions.assertNotNull(couponsByPageFromMongo);
couponsByPageFromMongo.getRecords().forEach(System.out::println);
}
@Test
void searchFromMysql() {
CouponSearchParams queryParam = new CouponSearchParams();
PageVO pageVo = new PageVO();
pageVo.setPageNumber(0);
pageVo.setPageSize(10);
IPage<Coupon> coupons = couponService.getCouponsByPage(queryParam, pageVo);
Assertions.assertNotNull(coupons);
coupons.getRecords().forEach(System.out::println);
IPage<Coupon> couponsByPage = couponService.pageFindAll(queryParam, pageVo);
Assertions.assertNotNull(couponsByPage);
couponsByPage.getRecords().forEach(System.out::println);
}
@Test

View File

@@ -1,17 +1,15 @@
package cn.lili.test.promotion;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.vo.PageVO;
import cn.lili.modules.goods.entity.dos.GoodsSku;
import cn.lili.modules.goods.service.GoodsSkuService;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import cn.lili.modules.promotion.entity.dos.FullDiscount;
import cn.lili.modules.promotion.entity.dos.PromotionGoods;
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.modules.promotion.entity.vos.FullDiscountSearchParams;
import cn.lili.modules.promotion.entity.dto.search.FullDiscountSearchParams;
import cn.lili.modules.promotion.service.FullDiscountService;
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -21,6 +19,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -43,11 +42,10 @@ class FullDiscountTest {
fullDiscountVO.setStoreId("131");
fullDiscountVO.setStoreName("小米自营旗舰店");
fullDiscountVO.setDescription("full discount test " + RandomUtil.randomNumber());
fullDiscountVO.setIsFullMinus(true);
fullDiscountVO.setFullMinusFlag(true);
fullDiscountVO.setFullMoney(130D);
fullDiscountVO.setFullMinus(100D);
fullDiscountVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
fullDiscountVO.setIsFreeFreight(true);
fullDiscountVO.setFreeFreightFlag(true);
fullDiscountVO.setPromotionName("FullDiscount-" + fullDiscountVO.getId());
fullDiscountVO.setTitle("" + fullDiscountVO.getFullMoney() + "" + fullDiscountVO.getFullMinus());
@@ -64,17 +62,16 @@ class FullDiscountTest {
promotionGoods.setNum(10);
promotionGoods.setQuantity(100);
promotionGoods.setPromotionId(fullDiscountVO.getId());
promotionGoods.setPromotionStatus(PromotionStatusEnum.NEW.name());
promotionGoods.setPromotionType(PromotionTypeEnum.FULL_DISCOUNT.name());
promotionGoods.setTitle("" + fullDiscountVO.getFullMoney() + "" + fullDiscountVO.getFullMinus());
promotionGoodsLis.add(promotionGoods);
fullDiscountVO.setPromotionGoodsList(promotionGoodsLis);
Assertions.assertNotNull(fullDiscountService.addFullDiscount(fullDiscountVO));
Assertions.assertTrue(fullDiscountService.savePromotions(fullDiscountVO));
}
@Test
void searchFromMongo() {
void search() {
PageVO pageVo = new PageVO();
pageVo.setPageSize(10);
pageVo.setPageNumber(0);
@@ -82,12 +79,9 @@ class FullDiscountTest {
pageVo.setSort("startTime");
pageVo.setOrder("asc");
IPage<FullDiscountVO> fullDiscountByPageFromMongo = fullDiscountService.getFullDiscountByPageFromMongo(new FullDiscountSearchParams(), null);
IPage<FullDiscount> fullDiscountByPage = fullDiscountService.pageFindAll(new FullDiscountSearchParams(), null);
Assertions.assertNotNull(fullDiscountByPageFromMongo);
FullDiscount fullDiscount = JSONUtil.toBean(JSONUtil.parseObj(fullDiscountByPageFromMongo.getPages()), FullDiscount.class);
System.out.println(fullDiscount);
// fullDiscountByPageFromMongo.forEach(System.out::println);
Assertions.assertNotNull(fullDiscountByPage);
}
@Test
@@ -97,11 +91,10 @@ class FullDiscountTest {
fullDiscountVO.setStoreId("132");
fullDiscountVO.setStoreName("联想自营旗舰店");
fullDiscountVO.setDescription("Not worth");
fullDiscountVO.setIsFullMinus(true);
fullDiscountVO.setFullMinusFlag(true);
fullDiscountVO.setFullMoney(100D);
fullDiscountVO.setFullMinus(80D);
fullDiscountVO.setPromotionStatus(PromotionStatusEnum.NEW.name());
fullDiscountVO.setIsFreeFreight(true);
fullDiscountVO.setFreeFreightFlag(true);
fullDiscountVO.setPromotionName("FullDiscount-" + fullDiscountVO.getId());
fullDiscountVO.setTitle("" + fullDiscountVO.getFullMoney() + "" + fullDiscountVO.getFullMinus());
@@ -111,7 +104,6 @@ class FullDiscountTest {
List<PromotionGoods> promotionGoodsLis = new ArrayList<>();
PromotionGoods promotionGoods = new PromotionGoods();
promotionGoods.setSkuId("134");
promotionGoods.setPromotionStatus(PromotionStatusEnum.NEW.name());
promotionGoods.setPrice(18000D);
promotionGoods.setStartTime(fullDiscountVO.getStartTime());
promotionGoods.setEndTime(fullDiscountVO.getEndTime());
@@ -124,12 +116,12 @@ class FullDiscountTest {
promotionGoods.setStoreId("132");
promotionGoodsLis.add(promotionGoods);
fullDiscountVO.setPromotionGoodsList(promotionGoodsLis);
Assertions.assertNotNull(fullDiscountService.modifyFullDiscount(fullDiscountVO));
Assertions.assertTrue(fullDiscountService.updatePromotions(fullDiscountVO));
}
@Test
void delete() {
Assertions.assertTrue(fullDiscountService.deleteFullDiscount("1325995092947525632"));
Assertions.assertTrue(fullDiscountService.removePromotions(Collections.singletonList("1325995092947525632")));
}

View File

@@ -1,15 +1,8 @@
package cn.lili.test.promotion;
import cn.hutool.json.JSONUtil;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.PageVO;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.promotion.entity.dto.BasePromotion;
import cn.lili.modules.promotion.entity.dto.PromotionGoodsDTO;
import cn.lili.modules.promotion.entity.dos.BasePromotions;
import cn.lili.modules.promotion.service.PromotionGoodsService;
import cn.lili.modules.promotion.service.PromotionService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -37,20 +30,10 @@ class PromotionPriceTest {
void testSeckillPrice() {
Map<String, Object> currentPromotion = promotionService.getCurrentPromotion();
for (Map.Entry<String, Object> entry : currentPromotion.entrySet()) {
BasePromotion promotion = (BasePromotion) entry.getValue();
BasePromotions promotion = (BasePromotions) entry.getValue();
System.out.println(entry.getKey() + "-" + promotion.getId());
}
Assertions.assertTrue(true);
}
@Test
void testSeckillPrice1() {
IPage<PromotionGoodsDTO> promotionGoods = promotionGoodsServiceService.getCurrentPromotionGoods(PromotionTypeEnum.FULL_DISCOUNT.name(), new PageVO());
ResultMessage<IPage<PromotionGoodsDTO>> data = ResultUtil.data(promotionGoods);
String s = JSONUtil.toJsonStr(data);
System.out.println(s);
Assertions.assertTrue(true);
}
}

View File

@@ -1,7 +1,7 @@
package cn.lili.test.promotion;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.promotion.entity.enums.PromotionApplyStatusEnum;
import cn.lili.modules.promotion.entity.enums.PromotionsApplyStatusEnum;
import cn.lili.modules.promotion.entity.vos.SeckillApplyVO;
import cn.lili.modules.promotion.service.SeckillApplyService;
import cn.lili.modules.promotion.service.SeckillService;
@@ -60,7 +60,7 @@ class SeckillTest {
seckillApplyVO.setSkuId("1387977574860193792");
seckillApplyVO.setOriginalPrice(4000D);
seckillApplyVO.setPrice(3600D);
seckillApplyVO.setPromotionApplyStatus(PromotionApplyStatusEnum.APPLY.name());
seckillApplyVO.setPromotionApplyStatus(PromotionsApplyStatusEnum.APPLY.name());
seckillApplyVO.setQuantity(1);
seckillApplyVO.setSalesNum(0);
seckillApplyVO.setSeckillId("10000");
@@ -73,7 +73,7 @@ class SeckillTest {
seckillApplyVO.setSkuId("1387977574864388096");
seckillApplyVO.setOriginalPrice(4000D);
seckillApplyVO.setPrice(3600D);
seckillApplyVO.setPromotionApplyStatus(PromotionApplyStatusEnum.APPLY.name());
seckillApplyVO.setPromotionApplyStatus(PromotionsApplyStatusEnum.APPLY.name());
seckillApplyVO.setQuantity(1);
seckillApplyVO.setSalesNum(0);
seckillApplyVO.setSeckillId("10000");

View File

@@ -1,8 +1,8 @@
package cn.lili.test.rocketmq;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.MqOrderTagsEnum;
import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.OrderTagsEnum;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -29,7 +29,7 @@ class MsgExtRocketMqTest {
@Test
void searchAll() {
String destination = rocketmqCustomProperties.getOrderTopic() + ":" + MqOrderTagsEnum.STATUS_CHANGE.name();
String destination = rocketmqCustomProperties.getOrderTopic() + ":" + OrderTagsEnum.STATUS_CHANGE.name();
Message<String> message = MessageBuilder.withPayload("Context").build();
rocketMQTemplate.asyncSend(destination, message, RocketmqSendCallbackBuilder.commonCallback());
rocketMQTemplate.send(destination, message);