diff --git a/bwie-models/bwie-buy/pom.xml b/bwie-models/bwie-buy/pom.xml new file mode 100644 index 0000000..3cc4cd5 --- /dev/null +++ b/bwie-models/bwie-buy/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + com.bwie + bwie-models + 1.0-SNAPSHOT + + + bwie-buy + + + 8 + 8 + UTF-8 + + + diff --git a/bwie-models/bwie-buy/src/main/java/com/bwie/buy/BuyApplication.java b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/BuyApplication.java new file mode 100644 index 0000000..322bc35 --- /dev/null +++ b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/BuyApplication.java @@ -0,0 +1,18 @@ +package com.bwie.buy; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * @author FangShiBa + * @date 2023/12/17 + * @apiNote + */ +@SpringBootApplication +@MapperScan("com.bwie.buy.dao") +public class BuyApplication { + public static void main(String[] args) { + SpringApplication.run(BuyApplication.class,args); + } +} diff --git a/bwie-models/bwie-buy/src/main/java/com/bwie/buy/controller/BuyController.java b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/controller/BuyController.java new file mode 100644 index 0000000..75506ff --- /dev/null +++ b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/controller/BuyController.java @@ -0,0 +1,57 @@ +package com.bwie.buy.controller; + +import com.alibaba.fastjson.JSONObject; +import com.bwie.buy.service.BuyService; +import com.bwie.common.pojo.VO.VOGoods; +import com.bwie.common.result.Result; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +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 javax.servlet.http.HttpServletRequest; + +/** + * @author FangShiBa + * @date 2023/12/17 + * @apiNote + */ +@Log4j2 +@RestController +@RequestMapping("/buy") +public class BuyController { + @Autowired + private BuyService service; + @Autowired + private HttpServletRequest request; + + + + @PostMapping("/showGoodsList") + public Result showGoodsList(@RequestBody VOGoods voGoods){ + + log.info("功能:{商品列表展示},请求URI:{},请求方法:{},请求参数:{}", + request.getRequestURI(), request.getMethod(),voGoods ); + Result result=service.showGoodsList(voGoods); + log.info("功能:{商品列表展示},请求URI:{},请求方法:{},响应参数:{}", + request.getRequestURI(), request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + + @PostMapping("/buyGood") + public Result buyGood(@RequestBody VOGoods voGoods){ + + log.info("功能:{购买商品},请求URI:{},请求方法:{},请求参数:{}", + request.getRequestURI(), request.getMethod(),voGoods ); + Result result=service.buyGood(voGoods); + log.info("功能:{购买商品},请求URI:{},请求方法:{},响应参数:{}", + request.getRequestURI(), request.getMethod(), JSONObject.toJSONString(result)); + return result; + } + + + +} diff --git a/bwie-models/bwie-buy/src/main/java/com/bwie/buy/dao/BuyDao.java b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/dao/BuyDao.java new file mode 100644 index 0000000..5b9023d --- /dev/null +++ b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/dao/BuyDao.java @@ -0,0 +1,27 @@ +package com.bwie.buy.dao; + +import com.bwie.common.pojo.DTO.DTOGoods; +import com.bwie.common.pojo.Shop; +import com.bwie.common.pojo.VO.VOGoods; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author FangShiBa + * @date 2023/12/17 + * @apiNote + */ +@Component +public interface BuyDao { + + + List showGoodsList(VOGoods voGoods); + + + Shop findById(@Param("shopId") Integer shopId); + + void buyGood(VOGoods voGoods); + +} diff --git a/bwie-models/bwie-buy/src/main/java/com/bwie/buy/service/BuyService.java b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/service/BuyService.java new file mode 100644 index 0000000..68408b4 --- /dev/null +++ b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/service/BuyService.java @@ -0,0 +1,15 @@ +package com.bwie.buy.service; + +import com.bwie.common.pojo.VO.VOGoods; +import com.bwie.common.result.Result; + +/** + * @author FangShiBa + * @date 2023/12/17 + * @apiNote + */ +public interface BuyService { + Result buyGood(VOGoods voGoods); + + Result showGoodsList(VOGoods voGoods); +} diff --git a/bwie-models/bwie-buy/src/main/java/com/bwie/buy/util/FastUtil.java b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/util/FastUtil.java new file mode 100644 index 0000000..c9a5e45 --- /dev/null +++ b/bwie-models/bwie-buy/src/main/java/com/bwie/buy/util/FastUtil.java @@ -0,0 +1,55 @@ +package com.bwie.buy.util; + +import org.springframework.stereotype.Component; +import com.github.tobato.fastdfs.domain.fdfs.StorePath; +import com.github.tobato.fastdfs.service.FastFileStorageClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +/** + * @BelongsProject: 0107day02 + * @BelongsPackage: com.bw.config + * @Author: zhupengfei + * @CreateTime: 2023-02-01 08:52 + */ +@Component +public class FastUtil { + private static final Logger log = LoggerFactory.getLogger(FastUtil.class); + + @Resource + private FastFileStorageClient storageClient ; + + /** + * 上传文件 + */ + public String upload(MultipartFile multipartFile) throws Exception{ + String originalFilename = multipartFile.getOriginalFilename(). + substring(multipartFile.getOriginalFilename(). + lastIndexOf(".") + 1); + StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage( + multipartFile.getInputStream(), + multipartFile.getSize(),originalFilename , null); + return storePath.getFullPath() ; + } + /** + * 删除文件 + */ + public String deleteFile(String fileUrl) { + if (StringUtils.isEmpty(fileUrl)) { + log.info("fileUrl == >>文件路径为空..."); + return "文件路径不能为空"; + } + try { + StorePath storePath = StorePath.parseFromUrl(fileUrl); + storageClient.deleteFile(storePath.getGroup(), storePath.getPath()); + } catch (Exception e) { + log.error(e.getMessage()); + } + return "删除成功"; + } + +} diff --git a/bwie-models/bwie-buy/src/main/resources/bootstrap.yml b/bwie-models/bwie-buy/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..0afddb4 --- /dev/null +++ b/bwie-models/bwie-buy/src/main/resources/bootstrap.yml @@ -0,0 +1,41 @@ +# Tomcat +server: + port: 9004 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-buy + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 110.42.214.8:8848 + config: + # 配置中心地址 + server-addr: 110.42.214.8:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +fdfs: + so-timeout: 1500 # socket 连接时长 + connect-timeout: 600 # 连接 tracker 服务器超时时长 + # 这两个是你服务器的 IP 地址,注意 23000 端口也要打开,阿里云服务器记得配置安全组。tracker 要和 stroage 服务进行交流 + tracker-list: 110.42.214.8:22122 + web-server-url: 110.42.214.8:8888 + pool: + jmx-enabled: false + # 生成缩略图 + thumb-image: + height: 500 + width: 500 diff --git a/bwie-models/bwie-buy/src/main/resources/mapper/BuyMapper.xml b/bwie-models/bwie-buy/src/main/resources/mapper/BuyMapper.xml new file mode 100644 index 0000000..2b177f4 --- /dev/null +++ b/bwie-models/bwie-buy/src/main/resources/mapper/BuyMapper.xml @@ -0,0 +1,23 @@ + + + + + + UPDATE `shop_manage`.`t_goods` SET + `goods_num` = (`goods_num`-1) + WHERE + `shop_id` = #{shopId} and + `facility_id` = #{facilityId} + + + + + diff --git a/bwie-models/pom.xml b/bwie-models/pom.xml index 773a9c7..cd3e375 100644 --- a/bwie-models/pom.xml +++ b/bwie-models/pom.xml @@ -10,6 +10,10 @@ bwie-models + pom + + bwie-buy + 8