From 5959d05bdbe6de47034e7bdc6f51f1c776150b45 Mon Sep 17 00:00:00 2001 From: WeiRan <2392355487@qq.com> Date: Tue, 3 Sep 2024 14:55:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=99=90=E5=88=B6=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E4=BB=A5=E4=B8=AD=E9=97=B4=E8=A1=A8=E5=BD=A2?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/market/domin/UserProductCount.java | 44 +++++++++++++ .../controller/ProducttestController.java | 61 +++++++++++++++++++ .../market/mapper/ProducttestMapper.java | 33 ++++++++++ .../market/service/ProducttestService.java | 32 ++++++++++ .../service/impl/ProducttestServiceImpl.java | 59 ++++++++++++++++++ .../mapper/market/ProducttestMapper.xml | 29 +++++++++ 6 files changed, 258 insertions(+) create mode 100644 cloud-market-common/src/main/java/com/muyu/cloud/market/domin/UserProductCount.java create mode 100644 cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProducttestController.java create mode 100644 cloud-market-server/src/main/java/com/muyu/cloud/market/mapper/ProducttestMapper.java create mode 100644 cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProducttestService.java create mode 100644 cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProducttestServiceImpl.java create mode 100644 cloud-market-server/src/main/resources/mapper/market/ProducttestMapper.xml diff --git a/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/UserProductCount.java b/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/UserProductCount.java new file mode 100644 index 0000000..d3d7d21 --- /dev/null +++ b/cloud-market-common/src/main/java/com/muyu/cloud/market/domin/UserProductCount.java @@ -0,0 +1,44 @@ +package com.muyu.cloud.market.domin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.market.domin + * @Project:cloud-market + * @name:UserProductCount + * @Date:2024/9/3 10:12 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@TableName(value = "user_product_count",autoResultMap = true) +public class UserProductCount { + /** + * 主键 + */ + @TableId(value = "test_id",type = IdType.AUTO) + private Integer testId; + /** + * 用户Id + */ + private long userId; + /** + * 产品Id + */ + private Integer productId; + /** + * 测试次数 + */ + private Integer testCount; + + +} diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProducttestController.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProducttestController.java new file mode 100644 index 0000000..2ec4874 --- /dev/null +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/controller/ProducttestController.java @@ -0,0 +1,61 @@ +package com.muyu.cloud.market.controller; + +import com.muyu.cloud.market.domin.Product; +import com.muyu.cloud.market.domin.UserProductCount; +import com.muyu.cloud.market.service.ProducttestService; +import com.muyu.common.core.domain.Result; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.market.controller + * @Project:cloud-market + * @name:ProducttestController + * @Date:2024/9/3 10:16 + */ +@Log4j2 +@RestController +@RequestMapping("/producttest") +@Tag(name = "产品测试",description = "产品测试相关操作") +public class ProducttestController { + @Autowired + private ProducttestService producttestService; + + + /** + * 不同用户/方式的测试次数 + * @param userProductCount + * @return + */ + @PostMapping("/findcount") + @Operation(summary = "不同用户/方式的测试次数",description = "不同用户/方式的测试次数") + public Result findcount(@Validated @RequestBody UserProductCount userProductCount, HttpServletRequest request){ + UserProductCount findcount = producttestService.findcount(userProductCount, request); + return Result.success(findcount); + } + + + /** + * 测试次数-1 + * @param userProductCount + * @return + */ + @PostMapping("/reducetestcount") + @Operation(summary = "测试次数-1",description = "测试次数-1") + public void reducetestcount(@Validated @RequestBody UserProductCount userProductCount){ + Integer reducetestcount = producttestService.reducetestcount(userProductCount); + } + + +} diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/mapper/ProducttestMapper.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/mapper/ProducttestMapper.java new file mode 100644 index 0000000..c49666c --- /dev/null +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/mapper/ProducttestMapper.java @@ -0,0 +1,33 @@ +package com.muyu.cloud.market.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.cloud.market.domin.Product; +import com.muyu.cloud.market.domin.UserProductCount; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.market.mapper + * @Project:cloud-market + * @name:ProducttestMapper + * @Date:2024/9/3 10:20 + */ +@Mapper +public interface ProducttestMapper extends BaseMapper { + + /** + * 不同用户/方式的测试次数 + * @param userProductCount + * @return + */ + UserProductCount findcount(UserProductCount userProductCount); + + /** + * 测试次数-1 + * @param userProductCount + * @return + */ + Integer reducetestcount(UserProductCount userProductCount); +} diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProducttestService.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProducttestService.java new file mode 100644 index 0000000..2ef5224 --- /dev/null +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/ProducttestService.java @@ -0,0 +1,32 @@ +package com.muyu.cloud.market.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.cloud.market.domin.Product; +import com.muyu.cloud.market.domin.UserProductCount; +import jakarta.servlet.http.HttpServletRequest; + +import java.util.List; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.market.service + * @Project:cloud-market + * @name:ProducttestService + * @Date:2024/9/3 10:19 + */ +public interface ProducttestService extends IService { + + /** + * 不同用户/方式的测试次数 + * @param userProductCount + * @return + */ + UserProductCount findcount(UserProductCount userProductCount, HttpServletRequest request); + + /** + * 测试次数-1 + * @param userProductCount + * @return + */ + Integer reducetestcount(UserProductCount userProductCount); +} diff --git a/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProducttestServiceImpl.java b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProducttestServiceImpl.java new file mode 100644 index 0000000..3f54270 --- /dev/null +++ b/cloud-market-server/src/main/java/com/muyu/cloud/market/service/impl/ProducttestServiceImpl.java @@ -0,0 +1,59 @@ +package com.muyu.cloud.market.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.cloud.market.domin.Product; +import com.muyu.cloud.market.domin.UserProductCount; +import com.muyu.cloud.market.mapper.ProducttestMapper; +import com.muyu.cloud.market.service.ProducttestService; +import com.muyu.common.security.service.TokenService; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.LoginUser; +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.market.service.impl + * @Project:cloud-market + * @name:ProducttestServiceImpl + * @Date:2024/9/3 10:19 + */ +@Service +public class ProducttestServiceImpl extends ServiceImpl implements ProducttestService { + @Autowired + private ProducttestMapper producttestMapper; + @Autowired + private TokenService tokenService; + + + /** + * 不同用户/方式的测试次数 + * @param userProductCount + * @return + */ + @Override + public UserProductCount findcount(UserProductCount userProductCount, HttpServletRequest request) { + String token = SecurityUtils.getToken();// 获取当前Token + LoginUser loginUser = tokenService.getLoginUser(token); // 获取当前登录用户 + Long userid = loginUser.getUserid(); + userProductCount.setUserId(userid); + return producttestMapper.findcount(userProductCount); + + } + + + /** + * 测试次数-1 + * @param userProductCount + * @return + */ + @Override + public Integer reducetestcount(UserProductCount userProductCount) { + + Integer iftest = producttestMapper.reducetestcount(userProductCount); + return iftest; + } +} diff --git a/cloud-market-server/src/main/resources/mapper/market/ProducttestMapper.xml b/cloud-market-server/src/main/resources/mapper/market/ProducttestMapper.xml new file mode 100644 index 0000000..ae1abb3 --- /dev/null +++ b/cloud-market-server/src/main/resources/mapper/market/ProducttestMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + UPDATE `h6_cloud_server`.`user_product_count` + SET `test_count` = `test_count`-1 WHERE `user_id` = #{userId} and `product_id` = #{productId}; + +