4 Commits

  1. 2
      lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java
  2. 4
      lottery-system/lottery-pojo/src/main/java/com/lottery/entity/JwcodeTable.java
  3. 2
      lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/IFundingMapper.java
  4. 2
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java
  5. 6
      lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/FundingServiceImpl.java
  6. 16
      lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/ApiFundingServiceImpl.java
  7. 28
      lottery-system/lottery-service/src/main/java/com/lottery/config/ApiConfig.java
  8. 3
      lottery-system/lottery-service/src/main/java/com/lottery/interceptor/AuthInterceptor.java
  9. 4
      lottery-system/lottery-service/src/main/resources/application-dev.yml
  10. 6
      lottery-system/lottery-service/src/main/resources/application-prod.yml
  11. 2
      lottery-system/lottery-service/src/main/resources/application.yml
  12. 8
      lottery-system/lottery-service/src/main/resources/mapper/admin/fundingMapper.xml

2
lottery-system/lottery-pojo/src/main/java/com/lottery/dto/FundingActivityDto.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Date; import java.util.Date;
@ -19,6 +20,7 @@ import java.util.Date;
public class FundingActivityDto { public class FundingActivityDto {
@NotNull(message = "活动名称不能为空") @NotNull(message = "活动名称不能为空")
@Size(min = 1, max = 20, message = "活动名称长度必须在 1 到 20 个字符之间")
private String activityName; // 活动名称 private String activityName; // 活动名称
@NotNull(message = "市场一不能为空") @NotNull(message = "市场一不能为空")
private Integer marketOne; // 市场一(如USA) private Integer marketOne; // 市场一(如USA)

4
lottery-system/lottery-pojo/src/main/java/com/lottery/entity/JwcodeTable.java

@ -1,5 +1,7 @@
package com.lottery.entity; package com.lottery.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -21,6 +23,8 @@ import java.time.LocalDateTime;
@AllArgsConstructor @AllArgsConstructor
@TableName("jwcode_table") @TableName("jwcode_table")
public class JwcodeTable { public class JwcodeTable {
@TableId(value = "id", type = IdType.AUTO) // 明确指定主键字段和生成策略
private Long id;
private String jwcode; private String jwcode;
private LocalDateTime createTime; private LocalDateTime createTime;
} }

2
lottery-system/lottery-service/src/main/java/com/lottery/admin/mapper/IFundingMapper.java

@ -83,4 +83,6 @@ public interface IFundingMapper {
Integer selectmarket(Integer id); Integer selectmarket(Integer id);
Integer selectmarketCount(Integer market); Integer selectmarketCount(Integer market);
Integer selectActivityStatus(Integer id);
} }

2
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminGradeServiceImpl.java

@ -78,11 +78,11 @@ public class AdminGradeServiceImpl extends ServiceImpl<AdminGradeMapper, Grade>
.orderByAsc(Grade::getId); //sort一样按照id排序 .orderByAsc(Grade::getId); //sort一样按照id排序
Page<Grade> gradePage = this.page(page, gradeLambdaQueryWrapper); Page<Grade> gradePage = this.page(page, gradeLambdaQueryWrapper);
List<GradeVo> gradeVos = ConvertBeanUtil.convertList(gradePage.getRecords(), GradeVo.class); List<GradeVo> gradeVos = ConvertBeanUtil.convertList(gradePage.getRecords(), GradeVo.class);
return PageInfo.of(gradePage, gradeVos); return PageInfo.of(gradePage, gradeVos);
} }
@Override @Override
public List<GradeSimpleVo> selectAllGrade() { public List<GradeSimpleVo> selectAllGrade() {
// List<String> GradeNameList = new ArrayList<>(); // List<String> GradeNameList = new ArrayList<>();

6
lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/FundingServiceImpl.java

@ -106,6 +106,7 @@ public class FundingServiceImpl implements IFundingService {
//查询市场是否存在 //查询市场是否存在
Integer count = fundingMapper.selectmarketCount(fundingActivityDto.getMarketOne()); Integer count = fundingMapper.selectmarketCount(fundingActivityDto.getMarketOne());
Integer count2 = fundingMapper.selectmarketCount(fundingActivityDto.getMarketTwo()); Integer count2 = fundingMapper.selectmarketCount(fundingActivityDto.getMarketTwo());
if(count == 0){ if(count == 0){
return Result.failure("市场一不存在"); return Result.failure("市场一不存在");
} }
@ -435,6 +436,11 @@ public class FundingServiceImpl implements IFundingService {
@Transactional(rollbackOn = SQLException.class) @Transactional(rollbackOn = SQLException.class)
public Result<String> deleteActivity(Integer id) { public Result<String> deleteActivity(Integer id) {
//查看活动的状态
Integer status = fundingMapper.selectActivityStatus(id);
if(status != 0){
return Result.failure("活动正在运行中,请禁用再删除");
}
//产看股票是否存在 //产看股票是否存在
Integer count = fundingMapper.selectActivityCount(id); Integer count = fundingMapper.selectActivityCount(id);

16
lottery-system/lottery-service/src/main/java/com/lottery/api/service/Impl/ApiFundingServiceImpl.java

@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.lottery.api.mapper.ApiIFundingMapper; import com.lottery.api.mapper.ApiIFundingMapper;
import com.lottery.api.service.ApiIFundingService; import com.lottery.api.service.ApiIFundingService;
import com.lottery.config.ApiConfig;
import com.lottery.dto.FundingRecordDto; import com.lottery.dto.FundingRecordDto;
import com.lottery.result.Result; import com.lottery.result.Result;
import com.lottery.utils.HttpUtils; import com.lottery.utils.HttpUtils;
@ -38,6 +39,8 @@ public class ApiFundingServiceImpl implements ApiIFundingService {
@Autowired @Autowired
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
@Autowired
ApiConfig apiConfig;
@Override @Override
public Result getActivityDetailOne(String token) { public Result getActivityDetailOne(String token) {
@ -49,17 +52,13 @@ public class ApiFundingServiceImpl implements ApiIFundingService {
if (count == null || count == 0 || count > 1) { if (count == null || count == 0 || count > 1) {
// 根据业务逻辑这里可以分别处理count为null小于0和大于1的情况 // 根据业务逻辑这里可以分别处理count为null小于0和大于1的情况
// 但为了简化示例我们统一返回一个失败结果 // 但为了简化示例我们统一返回一个失败结果
return Result.failure(200,"操作成功");
return Result.failure(400,"活动未开启");
} }
Integer activityId = fundingMapper.selectStatus(); Integer activityId = fundingMapper.selectStatus();
//根据活动id查询俩个市场,俩个市场是一条数据 //根据活动id查询俩个市场,俩个市场是一条数据
ApiFundingTimeVo data= fundingMapper.getMarket(activityId); ApiFundingTimeVo data= fundingMapper.getMarket(activityId);
Integer marketOne = data.getMarketOne(); Integer marketOne = data.getMarketOne();
Integer marketTwo = data.getMarketTwo(); Integer marketTwo = data.getMarketTwo();
LocalDate startTime = (LocalDate) data.getStartTime(); LocalDate startTime = (LocalDate) data.getStartTime();
@ -70,7 +69,7 @@ public class ApiFundingServiceImpl implements ApiIFundingService {
try { try {
// 1. 定义请求 URL // 1. 定义请求 URL
String url = "http://39.101.133.168:8828/hljw/api/v2/member/info";
String url = apiConfig.getHljwUrl() +"/api/v2/member/info";
// 准备请求参数 // 准备请求参数
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
@ -78,6 +77,9 @@ public class ApiFundingServiceImpl implements ApiIFundingService {
// 调用接口 // 调用接口
String response = HttpUtils.postUrlencoded(url, params); String response = HttpUtils.postUrlencoded(url, params);
JsonNode rootNode = objectMapper.readTree(response); JsonNode rootNode = objectMapper.readTree(response);
if(rootNode.path("code").asInt() == 401){
return Result.failure("登录凭证错误");
}
// 提取 username // 提取 username
username = rootNode.path("data").path("username").asText(); username = rootNode.path("data").path("username").asText();
jwcode = rootNode.path("data").path("jwcode").asText(); jwcode = rootNode.path("data").path("jwcode").asText();
@ -169,7 +171,7 @@ public class ApiFundingServiceImpl implements ApiIFundingService {
try { try {
// 1. 定义请求 URL // 1. 定义请求 URL
String url = "http://39.101.133.168:8828/hljw/api/v2/member/info";
String url = apiConfig.getHljwUrl() + "/api/v2/member/info";
// 准备请求参数 // 准备请求参数
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();

28
lottery-system/lottery-service/src/main/java/com/lottery/config/ApiConfig.java

@ -0,0 +1,28 @@
package com.lottery.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* @program: lottery-system
* @ClassName ApiConfig
* @description:
* @author:jihaipeng
* @create: 202507-25 13:00
* @Version 1.0
**/
@Component
@ConfigurationProperties(prefix = "api")
public class ApiConfig {
private String hljwUrl; // 自动匹配当前环境的 api.hljw-url
// Getter & Setter必须提供否则绑定失败
public String getHljwUrl() {
return hljwUrl;
}
public void setHljwUrl(String hljwUrl) {
this.hljwUrl = hljwUrl;
}
}

3
lottery-system/lottery-service/src/main/java/com/lottery/interceptor/AuthInterceptor.java

@ -40,6 +40,9 @@ public class AuthInterceptor implements HandlerInterceptor {
if("/api/user/list".equals(request.getRequestURI())) { if("/api/user/list".equals(request.getRequestURI())) {
return true; return true;
} }
if("/admin/user/logout".equals(request.getRequestURI())) {
return true;
}
// if("/admin/win/list".equals(request.getRequestURI())) { // if("/admin/win/list".equals(request.getRequestURI())) {
// return true; // return true;
// } // }

4
lottery-system/lottery-service/src/main/resources/application-dev.yml

@ -30,6 +30,6 @@ spring:
max-idle: 20 # 最大空闲连接 max-idle: 20 # 最大空闲连接
min-idle: 10 # 最小空闲连接 min-idle: 10 # 最小空闲连接
api:
hljw-url: "http://39.101.133.168:8828/hljw"

6
lottery-system/lottery-service/src/main/resources/application-prod.yml

@ -5,7 +5,7 @@ spring:
# ========== 数据源配置 (MySQL) ========== # ========== 数据源配置 (MySQL) ==========
datasource: datasource:
url: jdbc:mysql://18.143.76.3:3306/activty?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
url: jdbc:mysql://localhost:3306/activty?useSSL=false&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: activty username: activty
password: LnAcwpp5ayps5xnc password: LnAcwpp5ayps5xnc
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
@ -31,6 +31,8 @@ spring:
min-idle: 10 # 最小空闲连接 min-idle: 10 # 最小空闲连接
# 不同环境的 API 路径配置
api:
hljw-url: "http://api.homilychart.com/hljw"

2
lottery-system/lottery-service/src/main/resources/application.yml

@ -1,7 +1,7 @@
spring: spring:
# 基础配置 (所有环境通用) # 基础配置 (所有环境通用)
profiles: profiles:
active: dev
active: prod
# Jackson 基础配置 # Jackson 基础配置
jackson: jackson:

8
lottery-system/lottery-service/src/main/resources/mapper/admin/fundingMapper.xml

@ -250,5 +250,13 @@
from market from market
where id = #{market} where id = #{market}
</select> </select>
<select id="selectActivityStatus" resultType="java.lang.Integer" parameterType="java.lang.Integer">
SELECT
status
FROM
activity
WHERE
id = #{activityId}
</select>
</mapper> </mapper>
Loading…
Cancel
Save