diff --git a/src/main/java/com/example/demo/bank/Server.java b/src/main/java/com/example/demo/bank/Server.java index 257e03c..c21e35e 100644 --- a/src/main/java/com/example/demo/bank/Server.java +++ b/src/main/java/com/example/demo/bank/Server.java @@ -3,21 +3,25 @@ package com.example.demo.bank; import com.stripe.Stripe; import com.stripe.exception.StripeException; import com.stripe.model.*; -import com.stripe.param.BalanceTransactionListParams; -import com.stripe.param.PaymentIntentSearchParams; -import com.stripe.param.ProductCreateParams; -import com.stripe.param.PriceCreateParams; +import com.stripe.param.*; public class Server { public static void main(String[] args) throws StripeException { Stripe.apiKey = "sk_test_51SKwgEQqF1eV5j2cyHz7uZ28OsPHzt9nXv1DCOmr4buFHpGhhgmskCz2XOxtCbbQMZIEkELTWIlMgZWcK6PeflZj00nRijQkLx"; - BalanceTransactionListParams params = - BalanceTransactionListParams.builder().setLimit(3L).build(); - BalanceTransactionCollection balanceTransactions = BalanceTransaction.list(params); - System.out.println(balanceTransactions); - BalanceTransaction balanceTransaction = - BalanceTransaction.retrieve("txn_3SKxVWQqF1eV5j2c07IJegQv"); - System.out.println(balanceTransaction); +// BalanceTransactionListParams params = +// BalanceTransactionListParams.builder().setLimit(3L).build(); +// BalanceTransactionCollection balanceTransactions = BalanceTransaction.list(params); +// System.out.println(balanceTransactions); +// BalanceTransaction balanceTransaction = +// BalanceTransaction.retrieve("txn_3SKxVWQqF1eV5j2c07IJegQv"); +// System.out.println(balanceTransaction); +// Charge resource = Charge.retrieve("ch_3MrVHGLkdIwHu7ix1mN3zEiP"); +// ChargeCaptureParams params = ChargeCaptureParams.builder().build(); +// Charge charge = resource.capture(params); +// System.out.println(charge); + ChargeListParams params = ChargeListParams.builder().setLimit(3L).build(); + ChargeCollection charges = Charge.list(params); + System.out.println(charges); } } \ No newline at end of file diff --git a/src/main/java/com/example/demo/controller/coin/RechargeActivityCenterController.java b/src/main/java/com/example/demo/controller/coin/RechargeActivityCenterController.java new file mode 100644 index 0000000..df370d8 --- /dev/null +++ b/src/main/java/com/example/demo/controller/coin/RechargeActivityCenterController.java @@ -0,0 +1,118 @@ +package com.example.demo.controller.coin; + +import com.example.demo.config.interfac.Log; +import com.example.demo.domain.vo.coin.RechargeActivity; +import com.example.demo.domain.vo.coin.Result; +import com.example.demo.service.coin.RechargeActivityCenterService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName RechargeActivityCenterController + * @description: 充值活动中心管理 + * @author: Double + * @create: 2025−10-28 14:23 + * @Version 1.0 + **/ + +@RestController +@RequestMapping("/admin/coin/rechargeActivityCenter") +@RequiredArgsConstructor +@Slf4j +@CrossOrigin +public class RechargeActivityCenterController { + + @Autowired + private RechargeActivityCenterService rechargeActivityCenterService; + + + // 查询活动 + @Log("根据ID查询充值活动") + @PostMapping("/selectActivity") + public Result selectActivity(@RequestBody RechargeActivity activity) { + try { + RechargeActivity selectResult = rechargeActivityCenterService.selectActivityById(activity); + if (selectResult == null) { + return Result.error("查询失败:未找到该活动"); + } + return Result.success(selectResult); + } catch (NullPointerException e) { + log.error("查询活动失败:空指针异常,ID={}", activity.getId(), e); + return Result.error("查询失败:数据为空"); + } catch (IllegalArgumentException e) { + log.error("查询活动失败:参数异常,ID={}", activity.getId(), e); + return Result.error("查询失败:" + e.getMessage()); + } + } + + // 动 + @Log("新增充值活动") + @PostMapping("/addActivity") + public Result addActivity(@RequestBody RechargeActivity activity) { + try { + if (activity == null) { + return Result.error("添加失败:活动信息不能为空"); + } + if (activity.getActivityName() == null || activity.getActivityName().trim().isEmpty()) { + return Result.error("添加失败:活动名称不能为空"); + } + rechargeActivityCenterService.addActivity(activity); + return Result.success("添加活动成功"); + } catch (NullPointerException e) { + log.error("添加活动失败:空指针异常", e); + return Result.error("添加失败:数据为空"); + } catch (IllegalArgumentException e) { + log.error("添加活动失败:参数异常", e); + return Result.error("添加失败:" + e.getMessage()); + } + } + + // 更新活动 + @Log("更新充值活动") + @PostMapping("/updateActivity") + public Result updateActivity(@RequestBody RechargeActivity activity) { + try { + if (activity == null) { + return Result.error("更新失败:活动信息不能为空"); + } + if (activity.getId() == null) { + return Result.error("更新失败:活动ID不能为空"); + } + if (activity.getActivityName() == null || activity.getActivityName().trim().isEmpty()) { + return Result.error("更新失败:活动名称不能为空"); + } + rechargeActivityCenterService.updateActivity(activity); + return Result.success("更新活动成功"); + } catch (NullPointerException e) { + log.error("更新活动失败:空指针异常", e); + return Result.error("更新失败:数据为空"); + } catch (IllegalArgumentException e) { + log.error("更新活动失败:参数异常", e); + return Result.error("更新失败:" + e.getMessage()); + } + } + + // 删除活动 + @Log("删除充值活动") + @PostMapping("/deleteActivity") + public Result deleteActivity(@RequestParam Integer id) { + try { + if (id == null) { + return Result.error("删除失败:活动ID不能为空"); + } + rechargeActivityCenterService.deleteActivity(id); + return Result.success("删除活动成功"); + } catch (NullPointerException e) { + log.error("删除活动失败:空指针异常,ID={}", id, e); + return Result.error("删除失败:数据为空"); + } catch (IllegalArgumentException e) { + log.error("删除活动失败:参数异常,ID={}", id, e); + return Result.error("删除失败:" + e.getMessage()); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/domain/vo/coin/RechargeActivity.java b/src/main/java/com/example/demo/domain/vo/coin/RechargeActivity.java new file mode 100644 index 0000000..ca7142c --- /dev/null +++ b/src/main/java/com/example/demo/domain/vo/coin/RechargeActivity.java @@ -0,0 +1,58 @@ +package com.example.demo.domain.vo.coin; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @program: gold-java + * @ClassName RechargeActivity + * @description: 充值活动信息VO类 + * @author: Double + * @create: 2025−10-28 15:00 + * @Version 1.0 + **/ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class RechargeActivity { + + @ExcelProperty("活动ID") + private Integer id; // 活动唯一标识 + + @ExcelProperty("活动名称") + private String activityName; // 活动名称 + + @ExcelProperty("业绩归属地") + private String businessBelong; // 业绩归属地 + + @ExcelProperty("活动开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date startTime; // 活动开始时间 + + @ExcelProperty("活动结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date endTime; // 活动结束时间 + + @ExcelProperty("活动状态") + private String status; // 活动状态(进行中、已结束、未开始) + + @ExcelProperty("添加人") + private String creator; // 添加人 + + @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date createTime; // 创建时间 + + @ExcelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date updateTime; // 更新时间 + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private Date activityTime; // 活动时间 +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java b/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java new file mode 100644 index 0000000..6ba2fcb --- /dev/null +++ b/src/main/java/com/example/demo/mapper/coin/RechargeActivityCenterMapper.java @@ -0,0 +1,33 @@ +package com.example.demo.mapper.coin; + +import com.example.demo.domain.vo.coin.RechargeActivity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName RechargeActivityCenterMapper + * @description: 充值活动中心Mapper接口 + * @author: Double + * @create: 2025−10-28 14:42 + * @Version 1.0 + **/ + +@Mapper +public interface RechargeActivityCenterMapper { + + + // 根据ID查询活动 + RechargeActivity selectActivityById(RechargeActivity activity); + + // 新增活动 + void addActivity(RechargeActivity activity); + + // 更新活动 + void updateActivity(RechargeActivity activity); + + // 删除活动 + void deleteActivity(@Param("id") Integer id); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/service/coin/RechargeActivityCenterService.java b/src/main/java/com/example/demo/service/coin/RechargeActivityCenterService.java new file mode 100644 index 0000000..fba1cef --- /dev/null +++ b/src/main/java/com/example/demo/service/coin/RechargeActivityCenterService.java @@ -0,0 +1,30 @@ +package com.example.demo.service.coin; + +import com.example.demo.domain.vo.coin.RechargeActivity; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName RechargeActivityCenterService + * @description: 充值活动中心服务接口 + * @author: Double + * @create: 2025−10-28 14:40 + * @Version 1.0 + **/ + +public interface RechargeActivityCenterService { + + + // 根据ID查询活动 + RechargeActivity selectActivityById(RechargeActivity activity); + + // 新增活动 + void addActivity(RechargeActivity activity); + + // 更新活动 + void updateActivity(RechargeActivity activity); + + // 删除活动 + void deleteActivity(Integer id); +} diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java new file mode 100644 index 0000000..06c75c7 --- /dev/null +++ b/src/main/java/com/example/demo/serviceImpl/coin/RechargeActivityCenterServiceImpl.java @@ -0,0 +1,50 @@ +package com.example.demo.serviceImpl.coin; + +import com.example.demo.domain.vo.coin.RechargeActivity; +import com.example.demo.mapper.coin.RechargeActivityCenterMapper; +import com.example.demo.service.coin.RechargeActivityCenterService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @program: gold-java + * @ClassName RechargeActivityCenterServiceImpl + * @description: 充值活动中心服务实现类 + * @author: Double + * @create: 2025−10-28 14:40 + * @Version 1.0 + **/ + +@Service +public class RechargeActivityCenterServiceImpl implements RechargeActivityCenterService { + + @Autowired + private RechargeActivityCenterMapper rechargeActivityCenterMapper; + + + // 根据ID查询活动 + @Override + public RechargeActivity selectActivityById(RechargeActivity activity) { + return rechargeActivityCenterMapper.selectActivityById(activity); + } + + // 新增活动 + @Override + public void addActivity(RechargeActivity activity) { + rechargeActivityCenterMapper.addActivity(activity); + } + + // 更新活动 + @Override + public void updateActivity(RechargeActivity activity) { + rechargeActivityCenterMapper.updateActivity(activity); + } + + // 删除活动 + @Override + public void deleteActivity(Integer id) { + rechargeActivityCenterMapper.deleteActivity(id); + } +} \ No newline at end of file diff --git a/src/main/resources/mapper/RechargeActivityCenterMapper.xml b/src/main/resources/mapper/RechargeActivityCenterMapper.xml new file mode 100644 index 0000000..f500faa --- /dev/null +++ b/src/main/resources/mapper/RechargeActivityCenterMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + INSERT INTO recharge_activity ( + activity_name, + business_belong, + start_time, + end_time, + status, + creator, + create_time + ) VALUES ( + #{activityName}, + #{businessBelong}, + #{startTime}, + #{endTime}, + #{status}, + #{creator}, + NOW() + ) + + + + + UPDATE recharge_activity + + activity_name = #{activityName}, + business_belong = #{businessBelong}, + start_time = #{startTime}, + end_time = #{endTime}, + status = #{status}, + creator = #{creator}, + update_time = NOW() + + WHERE id = #{id} + + + + + DELETE FROM recharge_activity + WHERE id = #{id} + + + \ No newline at end of file