소스 검색

fix 注册首页平台

zoujiajian 3 년 전
부모
커밋
6598531db7

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/RegisterGoodsDonMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.RegisterGoodsDon;
+
+/*
+ *项目名: netflix
+ *文件名: RegisterGoodsDonMapper
+ *创建者: JavaZou
+ *创建时间:2023/7/3 15:03
+ */
+public interface RegisterGoodsDonMapper extends BaseMapper<RegisterGoodsDon> {
+}

+ 80 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/RegisterGoodsDon.java

@@ -0,0 +1,80 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/*
+ *项目名: netflix
+ *文件名: RegisterGoodsDon
+ *创建者: JavaZou
+ *创建时间:2023/7/3 15:00
+ */
+@Getter
+@Setter
+public class RegisterGoodsDon extends BaseEntity{
+	/**
+	 * 商品录入人
+	 */
+	private String writer;
+
+	/**
+	 * 标签
+	 */
+	private String tags;
+
+	/**
+	 * 商品名称
+	 */
+	@NotBlank(message = "请填写标题")
+	private String title;
+
+	/**
+	 * 缩略图
+	 */
+	private String logo;
+
+	/**
+	 * 背景图
+	 */
+	private String img;
+
+
+	/**
+	 * true 上架 / false 下架
+	 */
+	private Boolean status;
+
+	/**
+	 * true 存在 / false 删除
+	 */
+	private Boolean deleted;
+
+	/**
+	 * 详情
+	 */
+	private String detail;
+
+	/**
+	 * 描述
+	 */
+	private String remark;
+
+	private String banner;
+
+	/**
+	 * 排序
+	 */
+	private Integer sortBy;
+
+	/**
+	 * 虚拟销量
+	 */
+	private Integer virtualSold;
+
+	/**
+	 * 付款说明
+	 */
+	private String payDesc;
+}

+ 67 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RegisterGoodsDonView.java

@@ -0,0 +1,67 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/*
+ *项目名: netflix
+ *文件名: RegisterGoodsDonView
+ *创建者: JavaZou
+ *创建时间:2023/7/3 15:12
+ */
+@Getter
+@Setter
+@SearchBean(tables = "register_goods_don rd",
+		where = "rd.deleted is true and rd.status is true")
+public class RegisterGoodsDonView {
+	/**
+	 * 标签
+	 */
+	private String tags;
+
+	/**
+	 * 商品名称
+	 */
+	@NotBlank(message = "请填写标题")
+	private String title;
+
+	/**
+	 * 缩略图
+	 */
+	private String logo;
+
+	/**
+	 * 背景图
+	 */
+	private String img;
+
+	/**
+	 * 详情
+	 */
+	private String detail;
+
+	/**
+	 * 描述
+	 */
+	private String remark;
+
+	private String banner;
+
+	/**
+	 * 排序
+	 */
+	private Integer sortBy;
+
+	/**
+	 * 虚拟销量
+	 */
+	private Integer virtualSold;
+
+	/**
+	 * 付款说明
+	 */
+	private String payDesc;
+}

+ 10 - 1
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -581,6 +581,10 @@ public class RedisService {
         return false;
     }
 
+    public Set<String> keys(String name) {
+        return redisTemplate.keys(name);
+    }
+
     @AllArgsConstructor
     @Getter
     public enum key {
@@ -602,13 +606,18 @@ public class RedisService {
         CMS_USER_PERMISSION_KEY("cms:user:permission:%s:", "user权限缓存前缀", 60 * 60 * 24L * 7),
         REPEAT_USER_KEY("repeat_user_key:%s:", "重复用户插入key", 60l),
         BUSINESS_FIRST_ORDER_USER_KEY("business_first_order_user_key:%s:", "商务分销首单提成key", 60l),
-        PC_WEB_CACHE("pc_web_cache", "官网首页平台缓存", 10 * 60),
+        PC_WEB_CACHE("pc_web_cache", "首页平台缓存", 10 * 60),
         H5_WEB_CACHE("h5_web_cache", "h5首页平台缓存", 10 * 60),
+        YH_HOME_PAGHE_CACHE("yh_home_paghe_cache:", "银河首页缓存", 10 * 60),
+        REGISTER_HOME_PAGE_CACHE("register_home_page_cache:", "注册首页缓存", 10 * 60),
         CPS_BACK_LOGIN_KEY("cps_back_login:", "cps商务后台登录key", 3 * 60),
         CPS_AUTH_SUCCESS_KEY("cps_auth_success_key:%s", "cps后台微信授权", 60 * 10),
         QUESTION_RESPONSE_KEY("question_response_key:%s", "问卷回答key", 60 * 60 * 24L),
         IMPORT_ACCOUNT_CACHE_KEY("import_account_cache_key:%s", "导入缓存key", 60 * 10L),
         MAKERTING_MSG_KEY("makerting_msg_key", "营销短信", 60 * 60 * 24 * 30),
+        PHONE_AREA_CODE("phone_area_code:key", "国家或地区码", 60 * 60 * 24 * 15),
+        CORP_CHAT_GROUP_CODE("corp_chat_group_code:", "企业微信群动态码", 60 * 60 * 24 * 15),
+        GENERAL_POPULARIZE_CODE("general_popularize_code:", "普通推广者关联优惠券", 10l),
         ;
 
         private String name;

+ 22 - 0
netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java

@@ -250,6 +250,28 @@ public class GoodsDonController {
         return GatewayResponse.SUCCESS.newBuilder().toResult(dataList);
     }
 
+    /**
+     * 注册首页平台展示
+     */
+    @GetMapping("/get/register")
+    public Result<List<RegisterGoodsDonView>> getRegisterGoodsDon() {
+        String registerCacheKey = RedisService.key.REGISTER_HOME_PAGE_CACHE.getName();
+        Object value = redisService.get(registerCacheKey);
+        if (value != null) {
+            try {
+                List<RegisterGoodsDonView> list = Jsons.parseList(value, RegisterGoodsDonView.class);
+                if (CollUtil.isNotEmpty(list)) {
+                    return GatewayResponse.SUCCESS.newBuilder().toResult(list);
+                }
+            } catch (Exception e) {
+            }
+        }
+        MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
+        List<RegisterGoodsDonView> dataList = beanSearcher.searchAll(RegisterGoodsDonView.class, builder.build());
+        redisService.setNx(registerCacheKey, dataList, RedisService.key.REGISTER_HOME_PAGE_CACHE.getTimeout());
+        return GatewayResponse.SUCCESS.newBuilder().toResult(dataList);
+    }
+
 
     /**
      * 获取商品详情

+ 96 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/RegisterGoodsDonController.java

@@ -0,0 +1,96 @@
+package com.cyksj.web.controller.manage.goods;
+
+import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.mapper.RegisterGoodsDonMapper;
+import com.cyksj.model.entity.RegisterGoodsDon;
+import com.cyksj.redis.RedisService;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Set;
+
+/*
+ *项目名: netflix
+ *文件名: RegisterGoodsDonController
+ *创建者: JavaZou
+ *创建时间:2023/7/3 15:03
+ */
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/manage/register/goods")
+public class RegisterGoodsDonController {
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	private final RegisterGoodsDonMapper registerGoodsDonMapper;
+
+	private final RedisService redisService;
+
+	@GetMapping("/get")
+	public Result<SearchResult<RegisterGoodsDon>> get(){
+		SearchResult<RegisterGoodsDon> search = beanSearcher.search(RegisterGoodsDon.class, MapUtils.flatBuilder(request.getParameterMap())
+				.field(RegisterGoodsDon::getDeleted,true)
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+	/**
+	 * 新增 商品spu
+	 */
+	@PostMapping(value = "/post")
+	public Result<Long> spuInsert(@Validated @RequestBody RegisterGoodsDon registerGoodsDon) throws Exception {
+		// 新增商品
+		registerGoodsDonMapper.insert(registerGoodsDon);
+		Set<String> keys = redisService.keys(RedisService.key.REGISTER_HOME_PAGE_CACHE.getName() + "*");
+		redisService.del(keys.toArray(String[]::new));
+		return GatewayResponse.SUCCESS.newBuilder().toResult(registerGoodsDon.getId());
+	}
+
+	/**
+	 * 修改 商品spu
+	 */
+	@PutMapping(value = "/update")
+	public Result<String> spuUpdate(@Validated @RequestBody RegisterGoodsDon registerGoodsDon) throws Exception{
+		registerGoodsDonMapper.updateById(registerGoodsDon);
+		Set<String> keys = redisService.keys(RedisService.key.REGISTER_HOME_PAGE_CACHE.getName() + "*");
+		redisService.del(keys.toArray(String[]::new));
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+
+
+	@PutMapping("/put/status/{id}")
+	public Result<Boolean> updateStatus(@PathVariable Long id) {
+		RegisterGoodsDon registerGoodsDon = registerGoodsDonMapper.selectById(id);
+		if (registerGoodsDon == null) {
+			throw BusinessRuntimeException.getInstance("平台不存在");
+		}
+		registerGoodsDon.setStatus(!registerGoodsDon.getStatus());
+		registerGoodsDonMapper.updateById(registerGoodsDon);
+		Set<String> keys = redisService.keys(RedisService.key.REGISTER_HOME_PAGE_CACHE.getName() + "*");
+		redisService.del(keys.toArray(String[]::new));
+		return GatewayResponse.SUCCESS.newBuilder().toResult(registerGoodsDon.getStatus());
+	}
+
+	@DeleteMapping("/delete/{id}")
+	public Result<Long> deleteById(@PathVariable Long id) {
+		RegisterGoodsDon registerGoodsDon = registerGoodsDonMapper.selectById(id);
+		if (registerGoodsDon == null) {
+			throw BusinessRuntimeException.getInstance("平台不存在");
+		}
+		registerGoodsDon.setDeleted(false);
+		registerGoodsDonMapper.updateById(registerGoodsDon);
+		Set<String> keys = redisService.keys(RedisService.key.REGISTER_HOME_PAGE_CACHE.getName() + "*");
+		redisService.del(keys.toArray(String[]::new));
+		return GatewayResponse.SUCCESS.newBuilder().toResult(id);
+	}
+}