diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index 891e28c6..49ad9e94 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -244,7 +244,7 @@ dubbo: bxg: shop: # API_URL: http://192.168.10.113:48080/bxgApp - API_URL: https://02f3-27-19-79-7.jp.ngrok.io + API_URL: https://5352-27-19-79-42.jp.ngrok.io SITE_URL: http://192.168.10.113:48080/bxgApp UNI_SITE_URL: http://192.168.10.113:48080/bxgApp ADMIN_API_URL: http://192.168.10.113:48080/bxg diff --git a/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreBargainController.java b/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreBargainController.java index a2a4231f..31c0aaa3 100644 --- a/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreBargainController.java +++ b/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreBargainController.java @@ -36,6 +36,7 @@ import co.yixiang.modules.activity.vo.YxStoreBargainUserQueryVo; import co.yixiang.modules.shop.service.YxSystemConfigService; import co.yixiang.modules.user.domain.YxUser; import co.yixiang.modules.user.service.YxUserService; +import co.yixiang.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.google.common.collect.Maps; import io.swagger.annotations.Api; @@ -100,15 +101,15 @@ public class AppStoreBargainController { * 砍价详情 */ @AppLog(value = "查看砍价产品", type = 1) - @AuthCheck +// @AuthCheck @GetMapping("/bargain/detail/{id}") @ApiOperation(value = "砍价详情",notes = "砍价详情",response = YxStoreBargainQueryVo.class) public ApiResult getYxStoreBargain(@PathVariable Long id){ if(ObjectUtil.isNull(id)) { throw new YshopException("参数错误"); } - YxUser yxUser = LocalUser.getUser(); - return ApiResult.ok(storeBargainService.getDetail(id,yxUser)); + Long uid = LocalUser.getUidByToken(); + return ApiResult.ok(storeBargainService.getDetail(id,uid)); } /** diff --git a/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreCombinationController.java b/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreCombinationController.java index cf0e188d..49d9d175 100644 --- a/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreCombinationController.java +++ b/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreCombinationController.java @@ -27,6 +27,7 @@ import co.yixiang.modules.activity.vo.StoreCombinationVo; import co.yixiang.modules.product.service.YxStoreProductRelationService; import co.yixiang.modules.shop.service.YxSystemConfigService; import co.yixiang.modules.user.domain.YxUser; +import co.yixiang.utils.StringUtils; import com.google.common.collect.Maps; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -101,17 +102,23 @@ public class AppStoreCombinationController { * 拼团产品详情 */ @AppLog(value = "查看拼团产品详情", type = 1) - @AuthCheck +// @AuthCheck @GetMapping("/combination/detail/{id}") @ApiOperation(value = "拼团产品详情",notes = "拼团产品详情") public ApiResult detail(@PathVariable Long id){ if(ObjectUtil.isNull(id)) { throw new YshopException("参数错误"); } - Long uid = LocalUser.getUser().getUid(); +// Long uid = LocalUser.getUser().getUid(); + Long uid = LocalUser.getUidByToken(); //不传token则返回uid是0 StoreCombinationVo storeCombinationVo = storeCombinationService.getDetail(id,uid); - storeCombinationVo.setUserCollect(relationService - .isProductRelation(storeCombinationVo.getStoreInfo().getProductId(),uid)); + if (StringUtils.isBlank(uid.toString())||uid==0){ //如果是未登录状态 + storeCombinationVo.setUserCollect(false); + }else { + storeCombinationVo.setUserCollect(relationService + .isProductRelation(storeCombinationVo.getStoreInfo().getProductId(),uid)); + } + return ApiResult.ok(storeCombinationVo); } diff --git a/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreSeckillController.java b/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreSeckillController.java index 6c1d9f48..840206e9 100644 --- a/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreSeckillController.java +++ b/zsw-bxg/src/main/java/co/yixiang/app/modules/activity/rest/AppStoreSeckillController.java @@ -10,6 +10,7 @@ package co.yixiang.app.modules.activity.rest; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.pojo.ApiResult; import cn.iocoder.yudao.framework.common.exception.YshopException; @@ -26,13 +27,16 @@ import co.yixiang.modules.product.service.YxStoreProductRelationService; import co.yixiang.modules.shop.domain.YxSystemGroupData; import co.yixiang.modules.shop.service.YxSystemGroupDataService; import co.yixiang.modules.shop.service.dto.YxSystemGroupDataQueryCriteria; +import co.yixiang.modules.user.domain.YxUser; import co.yixiang.utils.OrderUtil; +import co.yixiang.utils.StringUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.checkerframework.common.value.qual.StringVal; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -85,14 +89,19 @@ public class AppStoreSeckillController { * 根据id获取商品秒杀产品详情 */ @AppLog(value = "根据id获取商品秒杀产品详情", type = 1) - @AuthCheck +// @AuthCheck @GetMapping("/seckill/detail/{id}") @ApiOperation(value = "秒杀产品详情", notes = "秒杀产品详情") public ApiResult getYxStoreSeckill(@PathVariable Long id){ - Long uid = LocalUser.getUser().getUid(); +// Long uid = LocalUser.getUser().getUid(); + Long uid = LocalUser.getUidByToken(); StoreSeckillVo storeSeckillVo = yxStoreSeckillService.getDetail(id); - storeSeckillVo.setUserCollect(relationService - .isProductRelation(storeSeckillVo.getStoreInfo().getProductId(),uid)); + if (StringUtils.isBlank(uid.toString())){//如果是未登录状态 + storeSeckillVo.setUserCollect(false); + }else { + storeSeckillVo.setUserCollect(relationService + .isProductRelation(storeSeckillVo.getStoreInfo().getProductId(),uid)); + } return ApiResult.ok(storeSeckillVo); } @@ -104,65 +113,7 @@ public class AppStoreSeckillController { @ApiOperation(value = "秒杀产品时间区间", notes = "秒杀产品时间区间") public ApiResult getYxStoreSeckillIndex() { //获取秒杀配置 - AtomicInteger seckillTimeIndex = new AtomicInteger(); - SeckillConfigVo seckillConfigVo = new SeckillConfigVo(); - - YxSystemGroupDataQueryCriteria queryCriteria = new YxSystemGroupDataQueryCriteria(); - queryCriteria.setGroupName(ShopConstants.ZSW_SECKILL_TIME); - queryCriteria.setStatus(1); - List yxSystemGroupDataList = yxSystemGroupDataService.queryAll(queryCriteria); - - List list = new ArrayList<>(); - int today = OrderUtil.dateToTimestampT(DateUtil.beginOfDay(new Date())); - yxSystemGroupDataList.forEach(i -> { - String jsonStr = i.getValue(); - JSONObject jsonObject = JSON.parseObject(jsonStr); - int time = Integer.valueOf(jsonObject.get("time").toString());//开启时间(几点) 5 - int continued = Integer.valueOf(jsonObject.get("continued").toString());//活动持续事件 3 - String rule=""; - if (jsonObject.get("rule")!=null){ - rule=jsonObject.get("rule").toString(); - } - SimpleDateFormat sdf = new SimpleDateFormat("HH"); - String nowTime = sdf.format(new Date()); - String index = nowTime.substring(0, 1); - int currentHour = "0".equals(index) ? Integer.valueOf(nowTime.substring(1, 2)) : Integer.valueOf(nowTime); - SeckillTimeDto seckillTimeDto = new SeckillTimeDto(); - seckillTimeDto.setId(i.getId()); - //活动结束时间 - int activityEndHour = time + continued; - if (activityEndHour > 24) { - seckillTimeDto.setState("即将开始"); - seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); - seckillTimeDto.setStatus(2); - seckillTimeDto.setRule(rule); - seckillTimeDto.setStop(today + activityEndHour * 3600); - } else { - if (currentHour >= time && currentHour < activityEndHour) { - seckillTimeDto.setState("抢购中"); - seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); - seckillTimeDto.setStatus(1); - seckillTimeDto.setRule(rule); - seckillTimeDto.setStop(today + activityEndHour * 3600); - seckillTimeIndex.set(yxSystemGroupDataList.indexOf(i)); - } else if (currentHour < time) { - seckillTimeDto.setState("即将开始"); - seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); - seckillTimeDto.setStatus(2); - seckillTimeDto.setRule(rule); - seckillTimeDto.setStop(OrderUtil.dateToTimestamp(new Date()) + activityEndHour * 3600); - } else if (currentHour >= activityEndHour) { - seckillTimeDto.setState("已结束"); - seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); - seckillTimeDto.setStatus(0); - seckillTimeDto.setRule(rule); - seckillTimeDto.setStop(today + activityEndHour * 3600); - } - } - list.add(seckillTimeDto); - }); - seckillConfigVo.setSeckillTimeIndex(seckillTimeIndex.get()); - seckillConfigVo.setSeckillTime(list); + SeckillConfigVo seckillConfigVo=yxStoreSeckillService.getStoreSeckil(); return ApiResult.ok(seckillConfigVo); } } diff --git a/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/rest/BxgIndexController.java b/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/rest/BxgIndexController.java index 3831b967..6055ad78 100644 --- a/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/rest/BxgIndexController.java +++ b/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/rest/BxgIndexController.java @@ -15,11 +15,14 @@ import cn.iocoder.yudao.framework.common.exception.YshopException; import co.yixiang.constant.ShopConstants; import co.yixiang.enums.ProductEnum; import co.yixiang.enums.ShopCommonEnum; +import co.yixiang.modules.activity.service.YxStoreBargainService; import co.yixiang.modules.activity.service.YxStoreCombinationService; import co.yixiang.modules.activity.service.YxStoreSeckillService; +import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo; import co.yixiang.modules.canvas.domain.StoreCanvas; import co.yixiang.modules.canvas.service.StoreCanvasService; import co.yixiang.modules.evaluation.service.YxEvaluationService; +import co.yixiang.modules.hotList.service.YxStoreHotListService; import co.yixiang.modules.mp.service.YxWechatLiveService; import co.yixiang.modules.product.service.YxStoreProductService; import co.yixiang.modules.product.vo.YxSystemStoreQueryVo; @@ -83,6 +86,12 @@ public class BxgIndexController { private final YxSystemConfigService systemConfigService; private final StoreCanvasService storeCanvasService; + private final YxStoreHotListService yxStoreHotListService; + + private final YxStoreBargainService yxStoreBargainService; + + private final YxStoreSeckillService yxStoreSeckillService; + @GetMapping("/getCanvas") @ApiOperation(value = "读取画布数据") public ResponseEntity getCanvas(StoreCanvas storeCanvas){ @@ -106,6 +115,10 @@ public class BxgIndexController { //首页图 // .banner(systemGroupDataService.getDatas(ShopConstants.ZSW_HOME_BANNER)) .banner(list) + .hotListDTOS(yxStoreHotListService.getList())//首页榜单 + .bargainList(yxStoreBargainService.getList(1,10))//砍价活动列表 + .seckillConfigVo(yxStoreSeckillService.getStoreSeckil())//秒杀配置 + .yxStoreSeckillQueryVoList(yxStoreSeckillService.getIndexList())//秒杀商品 .bastList(storeProductService.getList(1,6, ProductEnum.TYPE_1.getValue())) .evaluationList(evaluationService.getList(1,5)) .benefit(storeProductService.getList(1,100,ProductEnum.TYPE_4.getValue())) diff --git a/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/vo/IndexVo.java b/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/vo/IndexVo.java index 1074e9ec..1a90f260 100644 --- a/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/vo/IndexVo.java +++ b/zsw-bxg/src/main/java/co/yixiang/app/modules/shop/vo/IndexVo.java @@ -1,11 +1,14 @@ package co.yixiang.app.modules.shop.vo; +import co.yixiang.modules.activity.vo.SeckillConfigVo; +import co.yixiang.modules.activity.vo.YxStoreBargainQueryVo; import co.yixiang.modules.activity.vo.YxStoreCombinationQueryVo; import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo; import co.yixiang.modules.evaluation.service.dto.YxEvaluationDto; import co.yixiang.modules.evaluation.vo.YxEvaluationQueryVo; import co.yixiang.modules.mp.service.dto.YxWechatLiveDto; import co.yixiang.modules.product.vo.YxStoreProductQueryVo; +import co.yixiang.utils.HotListDTO; import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -16,6 +19,7 @@ import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; +import java.util.Map; @Data @Builder @@ -26,6 +30,18 @@ public class IndexVo implements Serializable { @ApiModelProperty("banner") private List banner; + + @ApiModelProperty("首页需要的榜单") + private List hotListDTOS; + + @ApiModelProperty("首页需要的砍价列表") + private Map> bargainList; + + @ApiModelProperty("首页秒杀配置") + private SeckillConfigVo seckillConfigVo; + + @ApiModelProperty("首页秒杀产品") + private List yxStoreSeckillQueryVoList; //首页按钮 @ApiModelProperty("首页按钮") private List menus; diff --git a/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreBargainService.java b/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreBargainService.java index ac2f06f0..98ec829d 100644 --- a/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreBargainService.java +++ b/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreBargainService.java @@ -79,10 +79,10 @@ public interface YxStoreBargainService extends BaseService{ /** * 砍价详情 * @param id 砍价id - * @param yxUser 用户 + * @param uid 用户uid * @return BargainVo */ - BargainVo getDetail(Long id, YxUser yxUser); + BargainVo getDetail(Long id, Long uid); /** diff --git a/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreSeckillService.java b/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreSeckillService.java index 1b9ef323..1833ea98 100644 --- a/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreSeckillService.java +++ b/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/YxStoreSeckillService.java @@ -12,6 +12,7 @@ import co.yixiang.common.service.BaseService; import co.yixiang.modules.activity.domain.YxStoreSeckill; import co.yixiang.modules.activity.service.dto.YxStoreSeckillDto; import co.yixiang.modules.activity.service.dto.YxStoreSeckillQueryCriteria; +import co.yixiang.modules.activity.vo.SeckillConfigVo; import co.yixiang.modules.activity.vo.StoreSeckillVo; import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo; import org.springframework.data.domain.Pageable; @@ -27,6 +28,10 @@ import java.util.Map; */ public interface YxStoreSeckillService extends BaseService { + /** + * 秒杀产品时间区间 + */ + SeckillConfigVo getStoreSeckil(); /** * 产品详情 @@ -45,6 +50,8 @@ public interface YxStoreSeckillService extends BaseService { */ List getList(int page, int limit, int time); + + List getIndexList(); /** * 秒杀产品列表(首页用) * diff --git a/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java b/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java index 327e376f..38dbf20c 100644 --- a/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java +++ b/zsw-bxg/src/main/java/co/yixiang/modules/activity/service/impl/YxStoreBargainServiceImpl.java @@ -45,9 +45,11 @@ import co.yixiang.modules.shop.service.YxSystemConfigService; import co.yixiang.modules.template.domain.YxShippingTemplates; import co.yixiang.modules.template.service.YxShippingTemplatesService; import co.yixiang.modules.user.domain.YxUser; +import co.yixiang.modules.user.service.YxUserService; import co.yixiang.modules.user.vo.YxUserQueryVo; import co.yixiang.utils.FileUtil; import co.yixiang.utils.OrderUtil; +import co.yixiang.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageInfo; @@ -97,6 +99,9 @@ public class YxStoreBargainServiceImpl extends BaseServiceImpl yxSystemGroupDataList = yxSystemGroupDataService.queryAll(queryCriteria); + + List list = new ArrayList<>(); + int today = OrderUtil.dateToTimestampT(DateUtil.beginOfDay(new Date())); + yxSystemGroupDataList.forEach(i -> { + String jsonStr = i.getValue(); + JSONObject jsonObject = JSON.parseObject(jsonStr); + int time = Integer.valueOf(jsonObject.get("time").toString());//开启时间(几点) 5 + int continued = Integer.valueOf(jsonObject.get("continued").toString());//活动持续事件 3 + String rule=""; + if (jsonObject.get("rule")!=null){ + rule=jsonObject.get("rule").toString(); + } + SimpleDateFormat sdf = new SimpleDateFormat("HH"); + String nowTime = sdf.format(new Date()); + String index = nowTime.substring(0, 1); + int currentHour = "0".equals(index) ? Integer.valueOf(nowTime.substring(1, 2)) : Integer.valueOf(nowTime); + SeckillTimeDto seckillTimeDto = new SeckillTimeDto(); + seckillTimeDto.setId(i.getId()); + //活动结束时间 + int activityEndHour = time + continued; + if (activityEndHour > 24) { + seckillTimeDto.setState("即将开始"); + seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); + seckillTimeDto.setStatus(2); + seckillTimeDto.setRule(rule); + seckillTimeDto.setStop(today + activityEndHour * 3600); + } else { + if (currentHour >= time && currentHour < activityEndHour) { + seckillTimeDto.setState("抢购中"); + seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); + seckillTimeDto.setStatus(1); + seckillTimeDto.setRule(rule); + seckillTimeDto.setStop(today + activityEndHour * 3600); + seckillTimeIndex.set(yxSystemGroupDataList.indexOf(i)); + } else if (currentHour < time) { + seckillTimeDto.setState("即将开始"); + seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); + seckillTimeDto.setStatus(2); + seckillTimeDto.setRule(rule); + seckillTimeDto.setStop(OrderUtil.dateToTimestamp(new Date()) + activityEndHour * 3600); + } else if (currentHour >= activityEndHour) { + seckillTimeDto.setState("已结束"); + seckillTimeDto.setTime(jsonObject.get("time").toString().length() > 1 ? jsonObject.get("time").toString() + ":00" : "0" + jsonObject.get("time").toString() + ":00"); + seckillTimeDto.setStatus(0); + seckillTimeDto.setRule(rule); + seckillTimeDto.setStop(today + activityEndHour * 3600); + } + } + list.add(seckillTimeDto); + }); + seckillConfigVo.setSeckillTimeIndex(seckillTimeIndex.get()); + seckillConfigVo.setSeckillTime(list); + return seckillConfigVo; + } + /** * 产品详情 * @param id 砍价商品id @@ -159,6 +238,18 @@ public class YxStoreSeckillServiceImpl extends BaseServiceImpl getIndexList() { + SeckillConfigVo seckillConfigVo=this.getStoreSeckil(); + if (seckillConfigVo.getSeckillTime().size()==0){ + return null; + }else { + int timeId=seckillConfigVo.getSeckillTime().get(seckillConfigVo.getSeckillTimeIndex()).getId(); + return this.getList(1,10,timeId); + } + }; + /** * 秒杀产品列表(首页用) * @param page page diff --git a/zsw-bxg/src/main/java/co/yixiang/modules/monitor/rest/BxgRedisController.java b/zsw-bxg/src/main/java/co/yixiang/modules/monitor/rest/BxgRedisController.java index f533e56c..60ca5af9 100644 --- a/zsw-bxg/src/main/java/co/yixiang/modules/monitor/rest/BxgRedisController.java +++ b/zsw-bxg/src/main/java/co/yixiang/modules/monitor/rest/BxgRedisController.java @@ -1,11 +1,13 @@ package co.yixiang.modules.monitor.rest; +import co.yixiang.constant.ShopConstants; import co.yixiang.logging.aop.log.Log; import co.yixiang.modules.aop.ForbidSubmit; import co.yixiang.modules.monitor.domain.vo.RedisVo; import co.yixiang.modules.monitor.service.RedisService; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheEvict; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -30,7 +32,7 @@ public class BxgRedisController { @Log("查询Redis缓存") @GetMapping(value = "/redis") - @PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_SELECT')") +// @PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_SELECT')") public ResponseEntity getRedis(String key, Pageable pageable){ return new ResponseEntity(redisService.findByKey(key,pageable), HttpStatus.OK); } @@ -38,12 +40,20 @@ public class BxgRedisController { @ForbidSubmit @Log("删除Redis缓存") @DeleteMapping(value = "/redis") - @PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_DELETE')") +// @PreAuthorize("@ss.hasAnyPermissions('ADMIN','REDIS_ALL','REDIS_DELETE')") public ResponseEntity delete(@RequestBody RedisVo resources){ redisService.delete(resources.getKey()); return new ResponseEntity(HttpStatus.OK); } + @Log("删除Redis缓存") + @GetMapping(value = "/del") + @CacheEvict(cacheNames = { ShopConstants.ZSW_REDIS_INDEX_KEY}) + public ResponseEntity del(){ + return new ResponseEntity(HttpStatus.OK); + } + + @ForbidSubmit @Log("清空Redis缓存") @DeleteMapping(value = "/redis/all") diff --git a/zsw-bxg/src/main/java/co/yixiang/modules/mp/listener/TemplateListener.java b/zsw-bxg/src/main/java/co/yixiang/modules/mp/listener/TemplateListener.java index 647f3d6d..4f396984 100644 --- a/zsw-bxg/src/main/java/co/yixiang/modules/mp/listener/TemplateListener.java +++ b/zsw-bxg/src/main/java/co/yixiang/modules/mp/listener/TemplateListener.java @@ -72,6 +72,8 @@ public class TemplateListener implements SmartApplicationListener { @Autowired private WxbotMsgUtil wxbotMsgUtil; + @Autowired + private YxUserService yxUserService; @Override public boolean supportsEventType(Class aClass) { return aClass == TemplateEvent.class; @@ -112,6 +114,12 @@ public class TemplateListener implements SmartApplicationListener { } break; case TYPE_2: + //这里同意退款所以需要扣除用户对应的成长值 + YxUser yxUser=yxUserService.lambdaQuery().eq(YxUser::getUid,templateBean.getUid()).one(); + Double price=Double.valueOf(templateBean.getPrice()); + //减去成长值 + yxUser.setGrowth(yxUser.getGrowth()>(int)Math.round(price)?yxUser.getGrowth()-(int)Math.round(price):0); + yxUserService.updateById(yxUser); //处理退款与消息 if (PayTypeEnum.WEIXIN.getValue().equals(templateBean.getPayType())) { BigDecimal bigDecimal = new BigDecimal("100"); diff --git a/zsw-bxg/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java b/zsw-bxg/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java index 8bbdd35c..229a1487 100644 --- a/zsw-bxg/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java +++ b/zsw-bxg/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java @@ -300,7 +300,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl pageModel = new Page<>(productQueryParam.getPage(), diff --git a/zsw-bxg/src/main/java/co/yixiang/serializer/BigDecimalSerializer.java b/zsw-bxg/src/main/java/co/yixiang/serializer/BigDecimalSerializer.java index 206fc540..b774ed21 100644 --- a/zsw-bxg/src/main/java/co/yixiang/serializer/BigDecimalSerializer.java +++ b/zsw-bxg/src/main/java/co/yixiang/serializer/BigDecimalSerializer.java @@ -22,7 +22,7 @@ public class BigDecimalSerializer extends JsonSerializer { @Override public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException { - log.info("value1:{}",value); +// log.info("value1:{}",value); if (value != null) { DecimalFormat df2 =new DecimalFormat("0.00"); gen.writeString(df2.format(value)); @@ -33,7 +33,7 @@ public class BigDecimalSerializer extends JsonSerializer { @Override public void serializeWithType(BigDecimal value, JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { - log.info("value2:{}",value); +// log.info("value2:{}",value); if (value != null) { DecimalFormat df2 =new DecimalFormat("0.00"); gen.writeString(df2.format(value));