From 04aadcf2cbcf935a6ec25268c0020dbb6cc3ce6e Mon Sep 17 00:00:00 2001 From: jihaipeng <3204568531@qq.com> Date: Wed, 16 Jul 2025 18:33:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=97=E7=AD=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lottery/dto/FundingRecordDto.java | 2 - .../src/main/java/com/lottery/entity/Market.java | 28 +++ .../main/java/com/lottery/vo/ApiFundingTimeVo.java | 21 ++ .../src/main/java/com/lottery/vo/ApiFundingVO.java | 26 +++ .../admin/controller/FundingController.java | 51 +++-- .../com/lottery/admin/mapper/IFundingMapper.java | 6 +- .../com/lottery/admin/service/IFundingService.java | 6 +- .../admin/service/Impl/FundingServiceImpl.java | 83 ++++---- .../api/controller/ApiFundingController.java | 50 +++++ .../com/lottery/api/mapper/ApiIFundingMapper.java | 35 ++++ .../lottery/api/service/ApiIFundingService.java | 24 +++ .../api/service/Impl/ApiFundingServiceImpl.java | 214 +++++++++++++++++++++ .../src/main/resources/application.yml | 9 +- .../src/main/resources/logback-spring.xml | 36 ++++ .../resources/mapper/admin/AdminGradeMapper.xml | 8 - .../main/resources/mapper/admin/fundingMapper.xml | 55 ++++-- .../resources/mapper/api/ApiIFundingService.xml | 72 +++++++ 17 files changed, 643 insertions(+), 83 deletions(-) create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Market.java create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingTimeVo.java create mode 100644 lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingVO.java create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/api/controller/ApiFundingController.java create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/ApiIFundingMapper.java create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/api/service/ApiIFundingService.java create mode 100644 lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/ApiFundingServiceImpl.java create mode 100644 lottery-system/lottery-service/src/main/resources/logback-spring.xml delete mode 100644 lottery-system/lottery-service/src/main/resources/mapper/admin/AdminGradeMapper.xml create mode 100644 lottery-system/lottery-service/src/main/resources/mapper/api/ApiIFundingService.xml diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingRecordDto.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingRecordDto.java index 0a36b76..909c0c6 100644 --- a/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingRecordDto.java +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingRecordDto.java @@ -13,8 +13,6 @@ import lombok.Data; @Data public class FundingRecordDto { - private String token; - private Integer activityId; private String marketSign; diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Market.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Market.java new file mode 100644 index 0000000..108b21f --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/entity/Market.java @@ -0,0 +1,28 @@ +package com.lottery.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @program: lottery-system + * @ClassName market + * @description: + * @author:jihaipeng + * @create: 2025−07-16 12:01 + * @Version 1.0 + **/ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("market") +public class Market { + private Integer id; + private String market; + private String text; + private String icon; + private Integer des; + private Integer flag; +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingTimeVo.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingTimeVo.java new file mode 100644 index 0000000..6cb6483 --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingTimeVo.java @@ -0,0 +1,21 @@ +package com.lottery.vo; + +import lombok.Data; + +import java.time.LocalDate; + +/** + * @program: lottery-system + * @ClassName ApiFundingTimeVo + * @description: + * @author:jihaipeng + * @create: 2025−07-16 13:49 + * @Version 1.0 + **/ +@Data +public class ApiFundingTimeVo { + private String marketOne; + private String marketTwo; + private LocalDate startTime; + private LocalDate endTime; +} diff --git a/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingVO.java b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingVO.java new file mode 100644 index 0000000..3591c60 --- /dev/null +++ b/lottery-system/lottery-pojo/src/main/java/com/lottery/vo/ApiFundingVO.java @@ -0,0 +1,26 @@ +package com.lottery.vo; + +import lombok.Data; + +import java.time.LocalDate; + +/** + * @program: lottery-system + * @ClassName ApiFundingVO + * @description: + * @author:jihaipeng + * @create: 2025−07-16 11:30 + * @Version 1.0 + **/ +@Data +public class ApiFundingVO { + private String marketOne; + private String marketTwo; + private LocalDate startTime; + private LocalDate endTime; + private Integer Totalcount; + private Integer marketOneCount; + private Integer marketTwoCount; + private String marketAddOne; + private String marketAddTwo; +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java index 14d59b9..1ad7b7f 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java @@ -7,9 +7,10 @@ import com.lottery.dto.FundingRecordDto; import com.lottery.dto.FundingUserDto; import com.lottery.result.Result; import com.lottery.vo.FundingActivityVo; -import com.lottery.vo.FundingUserVo; -import org.apache.ibatis.annotations.Param; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -25,18 +26,23 @@ import java.util.Map; * @Version 1.0 **/ @RestController -@RequestMapping("/funding") +@RequestMapping("/admin/funding") public class FundingController { @Autowired private IFundingService fundingService; + private final static Logger LOGGER = LoggerFactory.getLogger(FundingController.class); + @Autowired + private ProjectInfoAutoConfiguration projectInfoAutoConfiguration; + /** * 获取所有众筹活动 * @return */ @GetMapping("/getActivity") public Result> getFundingActivity(){ + LOGGER.info("获取所有众筹活动"); List list = fundingService.getFundingActivity(); return Result.success(list); } @@ -44,7 +50,8 @@ public class FundingController { //修改众筹的活动状态 @PostMapping("/updateActivityStatus") - public Result updateActivityStatus(@RequestParam @Validated Integer id, @RequestParam @Validated Integer status) { + public Result updateActivityStatus(@RequestParam @Validated Integer id, @RequestParam @Validated Integer status) { + LOGGER.info("修改的众筹活动id为{},修改的众筹活动状态为{}", id, status); // 参数校验 if (id == null || status == null) { return Result.failure("参数不能为空"); @@ -56,8 +63,7 @@ public class FundingController { return Result.failure("活动状态值非法"); } try { - fundingService.updateActivityStatus(id, status); - return Result.success("修改活动状态成功"); + return fundingService.updateActivityStatus(id, status); } catch (Exception e) { return Result.failure("修改活动状态失败"); } @@ -67,8 +73,10 @@ public class FundingController { //添加活动 @PostMapping("/addActivity") public Result addActivity(@Validated @RequestBody FundingActivityDto fundingActivityDto) { + LOGGER.info("添加活动,参数为{}", fundingActivityDto); try { return fundingService.addActivity(fundingActivityDto); + } catch (Exception e) { return Result.failure("添加活动失败"); } @@ -76,45 +84,54 @@ public class FundingController { //根据活动id查询助力详情 @PostMapping("/getActivityDetail") - public Map getActivityDetail(@RequestBody FundingUserDto fundingUserDto) { + public Result> getActivityDetail(@RequestBody FundingUserDto fundingUserDto) { + LOGGER.info("接口getActivityDetail查询助力详情,查询条件{}",fundingUserDto); // 必填参数校验(可选,但推荐) if (fundingUserDto.getActivityId() == null) { throw new IllegalArgumentException("activityId 不能为空"); } - return fundingService.getActivityDetail(fundingUserDto); + return Result.success(fundingService.getActivityDetail(fundingUserDto)); } // //根据活动id查询数据统计 @PostMapping("/getActivityDate") - public Map getActivityDate(@RequestParam Integer activityId ) { - return fundingService.getActivityDate(activityId); + public Result> getActivityDate(@RequestParam Integer activityId ) { + LOGGER.info("接口getActivityDate查询后台数据统计,活动id为{}",activityId); + return Result.success(fundingService.getActivityDate(activityId)); } - //添加用户参与记录 - @PostMapping("/addRecord") - public Result addRecord(@RequestBody FundingRecordDto fundingRecordDto) throws Exception { - return fundingService.addRecord(fundingRecordDto); - } +// //添加用户参与记录 +// @PostMapping("/addRecord") +// public Result addRecord(@RequestBody FundingRecordDto fundingRecordDto) throws Exception { +// return fundingService.addRecord(fundingRecordDto); +// } //设置活动初始活动 @PostMapping("/setActivityTime") public Result setActivityTime(@RequestParam Integer activityId, @RequestParam Integer time) { + LOGGER.info("设置id={}的活动初始时间为{}",activityId,time); return fundingService.setActivityTime(activityId, time); } //添加虚拟次数 @PostMapping("/addDateVirtual") public Result addVirtual(@RequestParam Integer activityId, @RequestParam String stock, @RequestParam Integer addTotal) { + LOGGER.info("添加虚拟次数,id={},stock={},addTotal={}",activityId,stock,addTotal); return fundingService.addVirtual(activityId, stock, addTotal); } //返回数据详情 @PostMapping("/getDate") public Result > getDate(@RequestParam Integer activityId) { + LOGGER.info("返回id={}的活动的设置数据详情",activityId); return Result.success(fundingService.getDate(activityId)); } - - + //获取市场股票列表 + @GetMapping("/getMarketList") + public Result getMarket() { + LOGGER.info("获取市场股票列表"); + return Result.success(fundingService.getMarketList()); + } } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/IFundingMapper.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/IFundingMapper.java index 70b6a45..9492003 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/IFundingMapper.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/IFundingMapper.java @@ -42,7 +42,7 @@ public interface IFundingMapper { Integer searchMarketTotal(Integer activityId, String marketSign); - void addRecord(Integer activityId, String username, String jwcode, String marketSign, LocalDateTime joinTime); +// void addRecord(Integer activityId, String username, String jwcode, String marketSign, LocalDateTime joinTime); void setActivityDate(Integer activityId, Integer time); @@ -53,4 +53,8 @@ public interface IFundingMapper { Integer searchVirtual(Integer activityId, String stock); Integer getTime(Integer activityId, String stock); + + List getMarketList(); + + Integer selectStatus(); } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/IFundingService.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/IFundingService.java index 6532dc3..ef60574 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/IFundingService.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/IFundingService.java @@ -24,7 +24,7 @@ public interface IFundingService { List getFundingActivity(); - void updateActivityStatus(Integer id, Integer status); + Result updateActivityStatus(Integer id, Integer status); Result addActivity(FundingActivityDto fundingActivityDto); @@ -32,11 +32,13 @@ public interface IFundingService { Map getActivityDate(Integer activityId); - Result addRecord(FundingRecordDto fundingRecordDto) throws Exception; +// Result addRecord(FundingRecordDto fundingRecordDto) throws Exception; Result setActivityTime(Integer activityId, Integer time); Result addVirtual(Integer activityId, String stock, Integer addTotal); Map getDate(Integer activityId); + + List getMarketList(); } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/FundingServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/FundingServiceImpl.java index de1d007..f458499 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/FundingServiceImpl.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/FundingServiceImpl.java @@ -51,9 +51,16 @@ public class FundingServiceImpl implements IFundingService { //修改众筹的活动状态 @Override - public void updateActivityStatus(Integer id, Integer status) { + public Result updateActivityStatus(Integer id, Integer status) { + if(status == 1){ + //查询状态 + Integer statuss = fundingMapper.selectStatus(); + if(statuss >= 1){ + return Result.failure("当前有活动正在启用,修改状态失败"); + } + } fundingMapper.updateActivityStatus(id, status); - + return Result.success("修改状态成功"); } //添加众筹活动 @@ -82,6 +89,15 @@ public class FundingServiceImpl implements IFundingService { if (fundingActivityDto.getEndTime().isBefore(ChronoLocalDate.from(now))) { return Result.failure("结束时间不能早于当前时间"); } + //查询状态 + Integer status = fundingMapper.selectStatus(); + Integer statuss = fundingActivityDto.getStatus(); + if(statuss == 1){ + if(status >= 1){ + return Result.failure("当前有活动正在进行,新添加活动状态应为禁用"); + } + } + Activity activity = ConvertBeanUtil.convert(fundingActivityDto, Activity.class); //获取当前时间 LocalDateTime creatTime = LocalDateTime.now(); @@ -99,7 +115,6 @@ public class FundingServiceImpl implements IFundingService { fundingMapper.addDate(time,two, addTotal, activityId); return Result.success("添加活动成功"); - } @Override @@ -138,14 +153,11 @@ public class FundingServiceImpl implements IFundingService { //参与总人数 Integer people_total = fundingMapper.searchPeopleTotal(activityId); - //根据活动id查询俩个市场,俩个市场是一条数据 Map market = fundingMapper.getMarket(activityId); //获取map String marketOne = (String) market.get("market_one"); - String marketTwo = (String) market.get("market_two"); - //参与市场一的人数 Integer markerOnePeople = fundingMapper.searchMarketPeople(activityId, marketOne); //市场一的总的助力次数 @@ -169,33 +181,32 @@ public class FundingServiceImpl implements IFundingService { return market; } - @Override - public Result addRecord(FundingRecordDto fundingRecordDto) throws Exception { - String token = fundingRecordDto.getToken(); - try { - // 1. 定义请求 URL - String url = "https://api.homilychart.com/hljw/api/v2/member/info"; - - // 准备请求参数 - Map params = new HashMap<>(); - params.put("token", token); // 如果接口需要 token 作为参数 - // 调用接口 - String response = HttpUtils.postUrlencoded(url, params); - JsonNode rootNode = objectMapper.readTree(response); - // 提取 username - String username = rootNode.path("data").path("username").asText(); - String jwcode = rootNode.path("data").path("jwcode").asText(); - LocalDateTime joinTime = LocalDateTime.now(); - String marketSign = fundingRecordDto.getMarketSign(); - Integer activityId = fundingRecordDto.getActivityId(); - //添加到数据库 - fundingMapper.addRecord(activityId, username, jwcode, marketSign, joinTime); - } catch (Exception e) { - System.err.println("请求失败: " + e.getMessage()); - } - - return Result.success("助力成功"); - } +// @Override +// public Result addRecord(String token,FundingRecordDto fundingRecordDto) throws Exception { +// try { +// // 1. 定义请求 URL +// String url = "https://api.homilychart.com/hljw/api/v2/member/info"; +// +// // 准备请求参数 +// Map params = new HashMap<>(); +// params.put("token", token); // 如果接口需要 token 作为参数 +// // 调用接口 +// String response = HttpUtils.postUrlencoded(url, params); +// JsonNode rootNode = objectMapper.readTree(response); +// // 提取 username +// String username = rootNode.path("data").path("username").asText(); +// String jwcode = rootNode.path("data").path("jwcode").asText(); +// LocalDateTime joinTime = LocalDateTime.now(); +// String marketSign = fundingRecordDto.getMarketSign(); +// Integer activityId = fundingRecordDto.getActivityId(); +// //添加到数据库 +// fundingMapper.addRecord(activityId, username, jwcode, marketSign, joinTime); +// } catch (Exception e) { +// System.err.println("请求失败: " + e.getMessage()); +// } +// +// return Result.success("助力成功"); +// } @Override public Result setActivityTime(Integer activityId, Integer time) { @@ -241,6 +252,7 @@ public class FundingServiceImpl implements IFundingService { Integer showOne = markerOneTotal + markerOneVirtual; Integer showTwo = markerTwoTotal + markerTwoVirtual; + Integer time = fundingMapper.getTime(activityId,marketOne); Map result = new HashMap<>(); @@ -253,5 +265,10 @@ public class FundingServiceImpl implements IFundingService { result.put("marketTwoVirtual", markerTwoVirtual); return result; } + + @Override + public List getMarketList() { + return fundingMapper.getMarketList(); + } } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/ApiFundingController.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/ApiFundingController.java new file mode 100644 index 0000000..f1a4aa7 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/controller/ApiFundingController.java @@ -0,0 +1,50 @@ +package com.lottery.api.controller; + +import com.lottery.admin.controller.FundingController; +import com.lottery.api.service.ApiIFundingService; +import com.lottery.dto.FundingRecordDto; +import com.lottery.result.Result; +import com.lottery.vo.ApiFundingVO; +import lombok.Data; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @program: lottery-system + * @ClassName FundingController + * @description: + * @author:jihaipeng + * @create: 2025−07-16 11:00 + * @Version 1.0 + **/ +@RestController +@RequestMapping("/api/funding") +public class ApiFundingController { + + @Autowired + private ApiIFundingService fundingService; + private final static Logger LOGGER = LoggerFactory.getLogger(ApiFundingController.class); + + //前台获取活动列表 + @GetMapping("/getActivity") + public Result getFundingActivity(@RequestParam Integer activityId){ + LOGGER.info("前台获取众筹活动所有数据"); + return Result.success(fundingService.getActivityDetail(activityId)); + } + + //前台获取活动详情 + @PostMapping("/getActivity1") + public Result getFundingActivity1(@RequestHeader String token){ + LOGGER.info("前台获取众筹活动所有数据"); + return fundingService.getActivityDetailOne(token); + } + + //添加用户参与记录 + @PostMapping("/addRecord") + public Result addRecord(@RequestHeader String token,@RequestBody FundingRecordDto fundingRecordDto) throws Exception { + LOGGER.info("添加用户参与记录,参数为{}", fundingRecordDto); + return fundingService.addRecord(token,fundingRecordDto); + } +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/ApiIFundingMapper.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/ApiIFundingMapper.java new file mode 100644 index 0000000..4f52106 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/mapper/ApiIFundingMapper.java @@ -0,0 +1,35 @@ +package com.lottery.api.mapper; + +import com.lottery.vo.ApiFundingTimeVo; +import org.apache.ibatis.annotations.Mapper; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Map; + +/** + * @program: lottery-system + * @ClassName IFundingMapper + * @description: + * @author:jihaipeng + * @create: 2025−07-16 11:06 + * @Version 1.0 + **/ +@Mapper +public interface ApiIFundingMapper { + + + Integer getTime(Integer activityId, String markerSign); + + Integer searchVirtual(Integer activityId, String marketSign); + + Integer searchMarketTotal(Integer activityId, String marketSign); + + ApiFundingTimeVo getMarket(Integer activityId); + + Integer selectStatus(); + + void addRecord(Integer activityId, String username, String jwcode, String marketSign, LocalDateTime joinTime); + + LocalDate selectCount(String jwcode, String marketSign,Integer activityId); +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/ApiIFundingService.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/ApiIFundingService.java new file mode 100644 index 0000000..f499126 --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/ApiIFundingService.java @@ -0,0 +1,24 @@ +package com.lottery.api.service; + +import com.lottery.dto.FundingRecordDto; +import com.lottery.result.Result; +import com.lottery.vo.ApiFundingVO; + +import javax.print.DocFlavor; + +/** + * @program: lottery-system + * @ClassName IFundingService + * @description: + * @author:jihaipeng + * @create: 2025−07-16 11:06 + * @Version 1.0 + **/ + +public interface ApiIFundingService { + ApiFundingVO getActivityDetail(Integer activityId); + + Result getActivityDetailOne(String token); + + Result addRecord(String token,FundingRecordDto fundingRecordDto); +} diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/ApiFundingServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/ApiFundingServiceImpl.java new file mode 100644 index 0000000..cf1d5eb --- /dev/null +++ b/lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/ApiFundingServiceImpl.java @@ -0,0 +1,214 @@ +package com.lottery.api.service.Impl; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.lottery.api.mapper.ApiIFundingMapper; +import com.lottery.api.service.ApiIFundingService; +import com.lottery.dto.FundingRecordDto; +import com.lottery.result.Result; +import com.lottery.utils.HttpUtils; +import com.lottery.vo.ApiFundingTimeVo; +import com.lottery.vo.ApiFundingVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.Map; + +/** + * @program: lottery-system + * @ClassName FundingServiceIMpl + * @description: + * @author:jihaipeng + * @create: 2025−07-16 11:07 + * @Version 1.0 + **/ +@Service +public class ApiFundingServiceImpl implements ApiIFundingService { + + @Autowired + private ApiIFundingMapper fundingMapper; + + @Autowired + ObjectMapper objectMapper = new ObjectMapper(); + + //返回前台所有数据 + @Override + public ApiFundingVO getActivityDetail(Integer activityId) { + + //根据活动id查询活动时间,市场一,市场二,设置的初始时间,俩个市场总助力次数 + + //根据活动id查询俩个市场,俩个市场是一条数据 + ApiFundingTimeVo data= fundingMapper.getMarket(activityId); + + + String marketOne = (String) data.getMarketOne(); + String marketTwo = (String) data.getMarketTwo(); + LocalDate startTime = (LocalDate) data.getStartTime(); + LocalDate endTime = (LocalDate) data.getEndTime(); + + + //市场一的总的助力次数 + Integer markerOneTotal = fundingMapper.searchMarketTotal(activityId, marketOne); + if (markerOneTotal == null) { + markerOneTotal = 0; // 默认值 + } + //市场一的虚拟次数 + Integer markerOneVirtual = fundingMapper.searchVirtual(activityId, marketOne); + if (markerOneVirtual == null) { + markerOneVirtual = 0; // 默认值 + } + + //市场二的总的助力次数 + Integer markerTwoTotal = fundingMapper.searchMarketTotal(activityId, marketTwo); + if (markerTwoTotal == null) { + markerTwoTotal = 0; // 默认值 + } + //市场二的虚拟次数 + Integer markerTwoVirtual = fundingMapper.searchVirtual(activityId, marketTwo); + if (markerTwoVirtual == null) { + markerTwoVirtual = 0; // 默认值 + } + //获取的设置时间 + Integer time = fundingMapper.getTime(activityId,marketOne); + + Integer oneShow = markerOneTotal + markerOneVirtual; + Integer twoShow = markerTwoTotal + markerTwoVirtual; + + ApiFundingVO apiFundingVO = new ApiFundingVO(); + + apiFundingVO.setMarketOne(marketOne); + apiFundingVO.setMarketTwo(marketTwo); + apiFundingVO.setMarketOneCount(oneShow); + apiFundingVO.setMarketTwoCount(twoShow); + apiFundingVO.setTotalcount(time); + apiFundingVO.setStartTime(startTime); + apiFundingVO.setEndTime(endTime); + + return apiFundingVO; + } + + @Override + public Result getActivityDetailOne(String token) { + //根据活动id查询活动时间,市场一,市场二,设置的初始时间,俩个市场总助力次数 + Integer activityId = fundingMapper.selectStatus(); + if(activityId==null){ + return Result.failure("没有活动开启"); + } + + //根据活动id查询俩个市场,俩个市场是一条数据 + ApiFundingTimeVo data= fundingMapper.getMarket(activityId); + + + String marketOne = (String) data.getMarketOne(); + String marketTwo = (String) data.getMarketTwo(); + LocalDate startTime = (LocalDate) data.getStartTime(); + LocalDate endTime = (LocalDate) data.getEndTime(); + + String username = ""; + String jwcode = ""; + + try { + // 1. 定义请求 URL + String url = "https://api.homilychart.com/hljw/api/v2/member/info"; + + // 准备请求参数 + Map params = new HashMap<>(); + params.put("token", token); // 如果接口需要 token 作为参数 + // 调用接口 + String response = HttpUtils.postUrlencoded(url, params); + JsonNode rootNode = objectMapper.readTree(response); + // 提取 username + username = rootNode.path("data").path("username").asText(); + jwcode = rootNode.path("data").path("jwcode").asText(); + LocalDateTime joinTime = LocalDateTime.now(); + + } catch (Exception e) { + System.err.println("请求失败: " + e.getMessage()); + } + LocalDate now = LocalDate.now(); + String markeroneadd = "点击助力"; + String marketTwoadd = "点击助力"; + //通过精网号+市场名查询该用户是否助力过 + LocalDate count1 = fundingMapper.selectCount(jwcode,marketOne,activityId); + + if(count1!=null && count1.equals(now)) + markeroneadd = "已助力"; + + LocalDate count2 = fundingMapper.selectCount(jwcode,marketTwo,activityId); + if(count2!=null && count2.equals(now)) + marketTwoadd = "已助力"; + + //市场一的总的助力次数 + Integer markerOneTotal = fundingMapper.searchMarketTotal(activityId, marketOne); + if (markerOneTotal == null) { + markerOneTotal = 0; // 默认值 + } + //市场一的虚拟次数 + Integer markerOneVirtual = fundingMapper.searchVirtual(activityId, marketOne); + if (markerOneVirtual == null) { + markerOneVirtual = 0; // 默认值 + } + + //市场二的总的助力次数 + Integer markerTwoTotal = fundingMapper.searchMarketTotal(activityId, marketTwo); + if (markerTwoTotal == null) { + markerTwoTotal = 0; // 默认值 + } + //市场二的虚拟次数 + Integer markerTwoVirtual = fundingMapper.searchVirtual(activityId, marketTwo); + if (markerTwoVirtual == null) { + markerTwoVirtual = 0; // 默认值 + } + //获取的设置时间 + Integer time = fundingMapper.getTime(activityId,marketOne); + + Integer oneShow = markerOneTotal + markerOneVirtual; + Integer twoShow = markerTwoTotal + markerTwoVirtual; + + ApiFundingVO apiFundingVO = new ApiFundingVO(); + + apiFundingVO.setMarketOne(marketOne); + apiFundingVO.setMarketTwo(marketTwo); + apiFundingVO.setMarketOneCount(oneShow); + apiFundingVO.setMarketTwoCount(twoShow); + apiFundingVO.setTotalcount(time); + apiFundingVO.setStartTime(startTime); + apiFundingVO.setEndTime(endTime); + apiFundingVO.setMarketAddOne(markeroneadd); + apiFundingVO.setMarketTwo(marketTwoadd); + return Result.success(apiFundingVO); + } + + + @Override + public Result addRecord(String token,FundingRecordDto fundingRecordDto) { + + try { + // 1. 定义请求 URL + String url = "https://api.homilychart.com/hljw/api/v2/member/info"; + + // 准备请求参数 + Map params = new HashMap<>(); + params.put("token", token); // 如果接口需要 token 作为参数 + // 调用接口 + String response = HttpUtils.postUrlencoded(url, params); + JsonNode rootNode = objectMapper.readTree(response); + // 提取 username + String username = rootNode.path("data").path("username").asText(); + String jwcode = rootNode.path("data").path("jwcode").asText(); + LocalDateTime joinTime = LocalDateTime.now(); + String marketSign = fundingRecordDto.getMarketSign(); + Integer activityId = fundingRecordDto.getActivityId(); + //添加到数据库 + fundingMapper.addRecord(activityId, username, jwcode, marketSign, joinTime); + } catch (Exception e) { + System.err.println("请求失败: " + e.getMessage()); + } + + return Result.success("助力成功"); + } + +} diff --git a/lottery-system/lottery-service/src/main/resources/application.yml b/lottery-system/lottery-service/src/main/resources/application.yml index 7dfc2f3..4e88bf4 100644 --- a/lottery-system/lottery-service/src/main/resources/application.yml +++ b/lottery-system/lottery-service/src/main/resources/application.yml @@ -1,6 +1,6 @@ server: port: 12699 # 服务端口 - + forward-headers-strategy: native # 全局生效 spring: # ========== 数据源配置 (MySQL) ========== datasource: @@ -36,6 +36,13 @@ mybatis: map-underscore-to-camel-case: true # 开启驼峰命名转换 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 打印SQL日志 +logging: + config: classpath:logback-spring.xml + level: + root: INFO + org.springframework: WARN + com.link: INFO + # ========== 自定义配置(示例) ========== lottery: jwt: diff --git a/lottery-system/lottery-service/src/main/resources/logback-spring.xml b/lottery-system/lottery-service/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..0d99b3c --- /dev/null +++ b/lottery-system/lottery-service/src/main/resources/logback-spring.xml @@ -0,0 +1,36 @@ + + + + + + + + + + ${LOG_PATTERN} + + + + + + logs/spring-boot-application.log + + + logs/spring-boot-application.%d{yyyy-MM-dd}.log + 14 + + + 10MB + + + ${LOG_PATTERN} + + + + + + + + + + diff --git a/lottery-system/lottery-service/src/main/resources/mapper/admin/AdminGradeMapper.xml b/lottery-system/lottery-service/src/main/resources/mapper/admin/AdminGradeMapper.xml deleted file mode 100644 index 3046f29..0000000 --- a/lottery-system/lottery-service/src/main/resources/mapper/admin/AdminGradeMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/lottery-system/lottery-service/src/main/resources/mapper/admin/fundingMapper.xml b/lottery-system/lottery-service/src/main/resources/mapper/admin/fundingMapper.xml index 46e74a0..0e23c50 100644 --- a/lottery-system/lottery-service/src/main/resources/mapper/admin/fundingMapper.xml +++ b/lottery-system/lottery-service/src/main/resources/mapper/admin/fundingMapper.xml @@ -19,18 +19,18 @@ #{createdTime}, #{updatedTime}) - - INSERT INTO z_user (activity_id, - username, - jwcode, - market_sign, - join_time) - VALUES (#{activityId}, - #{username}, - #{jwcode}, - #{marketSign}, - #{joinTime}) - + + + + + + + + + + + + INSERT INTO data (time, stock, @@ -130,12 +130,7 @@ WHERE market_sign = #{marketSign} AND activity_id = #{activityId} - + - + + + + \ No newline at end of file diff --git a/lottery-system/lottery-service/src/main/resources/mapper/api/ApiIFundingService.xml b/lottery-system/lottery-service/src/main/resources/mapper/api/ApiIFundingService.xml new file mode 100644 index 0000000..4d9129a --- /dev/null +++ b/lottery-system/lottery-service/src/main/resources/mapper/api/ApiIFundingService.xml @@ -0,0 +1,72 @@ + + + + + INSERT INTO z_user (activity_id, + username, + jwcode, + market_sign, + join_time) + VALUES (#{activityId}, + #{username}, + #{jwcode}, + #{marketSign}, + #{joinTime}) + + + + + + + + + + + + \ No newline at end of file