mirror of
https://github.com/MewoLab/AquaDX.git
synced 2026-02-09 13:47:26 +08:00
[O] Rewrite upsert chargelog
This commit is contained in:
@@ -258,9 +258,13 @@ fun ChusanServletController.init() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
"GetUserCardPrintError" {
|
// Upserts
|
||||||
|
"UpsertUserChargelog" {
|
||||||
|
val charge = parsing { mapper.convert<UserCharge>(data["userCharge"] as JDict) }
|
||||||
|
charge.user = db.userData.findByCard_ExtId(uid)() ?: (400 - "User not found")
|
||||||
|
charge.id = db.userCharge.findByUser_Card_ExtIdAndChargeId(uid, charge.chargeId)?.id ?: 0
|
||||||
|
db.userCharge.save(charge)
|
||||||
|
"""{"returnCode":"1"}"""
|
||||||
}
|
}
|
||||||
|
|
||||||
// Static
|
// Static
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
package icu.samnyan.aqua.sega.chusan.handler;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
||||||
import icu.samnyan.aqua.sega.general.BaseHandler;
|
|
||||||
import icu.samnyan.aqua.sega.chusan.model.userdata.UserCharge;
|
|
||||||
import icu.samnyan.aqua.sega.chusan.model.userdata.Chu3UserData;
|
|
||||||
import icu.samnyan.aqua.sega.chusan.service.UserChargeService;
|
|
||||||
import icu.samnyan.aqua.sega.chusan.service.UserDataService;
|
|
||||||
import icu.samnyan.aqua.sega.util.jackson.StringMapper;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author samnyan (privateamusement@protonmail.com)
|
|
||||||
*/
|
|
||||||
@Component("ChusanUpsertUserChargelogHandler")
|
|
||||||
public class UpsertUserChargelogHandler implements BaseHandler {
|
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(UpsertUserChargelogHandler.class);
|
|
||||||
|
|
||||||
private final StringMapper mapper;
|
|
||||||
|
|
||||||
private final UserDataService userDataService;
|
|
||||||
private final UserChargeService userChargeService;
|
|
||||||
|
|
||||||
public UpsertUserChargelogHandler(StringMapper mapper, UserDataService userDataService, UserChargeService userChargeService) {
|
|
||||||
this.mapper = mapper;
|
|
||||||
this.userDataService = userDataService;
|
|
||||||
this.userChargeService = userChargeService;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String handle(Map<String, ?> request) throws JsonProcessingException {
|
|
||||||
String userId = (String) request.get("userId");
|
|
||||||
Chu3UserData user = userDataService.getUserByExtId(userId).orElseThrow();
|
|
||||||
|
|
||||||
Map<String, Object> userChargeMap = (Map<String, Object>) request.get("userCharge");
|
|
||||||
String chargeId = (String) userChargeMap.get("chargeId");
|
|
||||||
UserCharge charge = mapper.convert(userChargeMap, UserCharge.class);
|
|
||||||
|
|
||||||
UserCharge userCharge = userChargeService.getByUserAndChargeId(user, Integer.parseInt(chargeId)).orElseGet(() -> new UserCharge(user));
|
|
||||||
userCharge.setChargeId(charge.getChargeId());
|
|
||||||
userCharge.setStock(charge.getStock());
|
|
||||||
userCharge.setPurchaseDate(charge.getPurchaseDate());
|
|
||||||
userCharge.setValidDate(charge.getValidDate());
|
|
||||||
userCharge.setParam1(charge.getParam1());
|
|
||||||
userCharge.setParam2(charge.getParam2());
|
|
||||||
userCharge.setParamDate(charge.getParamDate());
|
|
||||||
|
|
||||||
userChargeService.save(userCharge);
|
|
||||||
|
|
||||||
return "{\"returnCode\":\"1\"}";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -60,6 +60,7 @@ interface Chu3UserCharacterRepo : Chu3UserLinked<UserCharacter> {
|
|||||||
|
|
||||||
interface Chu3UserChargeRepo : Chu3UserLinked<UserCharge> {
|
interface Chu3UserChargeRepo : Chu3UserLinked<UserCharge> {
|
||||||
fun findByUserAndChargeId(extId: Chu3UserData, chargeId: Int): Optional<UserCharge>
|
fun findByUserAndChargeId(extId: Chu3UserData, chargeId: Int): Optional<UserCharge>
|
||||||
|
fun findByUser_Card_ExtIdAndChargeId(ext: Long, chargeId: Int): UserCharge?
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Chu3UserCourseRepo : Chu3UserLinked<UserCourse> {
|
interface Chu3UserCourseRepo : Chu3UserLinked<UserCourse> {
|
||||||
|
|||||||
Reference in New Issue
Block a user