package com.dsh.other.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.other.entity.StoredValueConfig; import com.dsh.other.service.StoredValueConfigService; import com.dsh.other.util.ResultUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.text.SimpleDateFormat; import java.util.*; /** * 储值规则配置控制器 */ @RestController @RequestMapping("") public class StoredValueConfigController { @Autowired private StoredValueConfigService svconfigService; @RequestMapping("/base/storeValueConfig/addStoreValueConfig") public Object addStoreValueConfig(@RequestBody StoredValueConfig storedValueConfig) { StoredValueConfig one = svconfigService.getOne(new QueryWrapper<>()); one.setContent(storedValueConfig.getContent()); one.setDescription(storedValueConfig.getDescription()); return svconfigService.updateById(one); } @RequestMapping("/base/storeValueConfig/getStoreValueConfig") public StoredValueConfig getStoreValueConfig() { return svconfigService.getOne(new QueryWrapper<>()); } @ResponseBody @PostMapping("/base/stored/getRechargeArrange") public List> getRechargeConfig() { List> responses = new ArrayList<>(); StoredValueConfig storedValueConfig = svconfigService.list().get(0); try { ObjectMapper objectMapper = new ObjectMapper(); JsonNode rulesNode = objectMapper.readTree(storedValueConfig.getContent()).get("rules"); JsonNode rulesNode1 = objectMapper.readTree(storedValueConfig.getContent()).get("time_rules"); JsonNode jsonNode = rulesNode1.get(0); String startTime = jsonNode.get("startTime").asText(); String endTime = jsonNode.get("endTime").asText(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date start = format.parse(startTime); Date end = format.parse(endTime); Date now = new Date(); if (now.after(start) && now.before(end)) { if (rulesNode1.isArray()) { int i = 0; for (JsonNode ruleNode : rulesNode1) { i = i + 1; Map de = new HashMap<>(); double money = ruleNode.get("money").asDouble(); Integer usersCoins = ruleNode.get("usersCoins").asInt(); Integer MemberCoins = ruleNode.get("MemberCoins").asInt(); de.put("chargeId", i); de.put("money", money); de.put("usersCoins", usersCoins); de.put("MemberCoins", MemberCoins); responses.add(de); } } } else { if (rulesNode.isArray()) { int i = 0; for (JsonNode ruleNode : rulesNode) { i = i + 1; Map de = new HashMap<>(); double money = ruleNode.get("money").asDouble(); Integer usersCoins = ruleNode.get("usersCoins").asInt(); Integer MemberCoins = ruleNode.get("MemberCoins").asInt(); de.put("chargeId", i); de.put("money", money); de.put("usersCoins", usersCoins); de.put("MemberCoins", MemberCoins); responses.add(de); } } } } catch (Exception e) { e.printStackTrace(); } return responses; } @ResponseBody @PostMapping("/base/stored/rechargeDescription") @ApiOperation(value = "充值中心-储值说明", tags = {"APP-使用福利"}) @ApiImplicitParams({ }) public ResultUtil rechargeCenterConfig() { try { StoredValueConfig storedValueConfig = svconfigService.list().get(0); System.out.println(svconfigService.list()); return ResultUtil.success(storedValueConfig.getDescription()); } catch (Exception e) { return ResultUtil.runErr(); } } }