package com.ruoyi.other.controller;
import java.time.LocalDateTime;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.other.api.domain.THtml;
import com.ruoyi.other.api.domain.TIntegralRule;
import com.ruoyi.other.api.dto.SaveHtml;
import com.ruoyi.other.service.THtmlService;
import com.ruoyi.other.service.TIntegralRuleService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
*
* 前端控制器
*
*
* @author 无关风月
* @since 2024-08-06
*/
@RestController
@RequestMapping("/integral")
public class TIntegralRuleController {
@Autowired
private THtmlService htmlService;
@Autowired
private TIntegralRuleService integralRuleService;
/**
* 远程调用 获取首次添加车辆可获得积分
* @return
*/
@PostMapping("/getAddCarIntegral")
public R getAddCarIntegral() {
TIntegralRule one = integralRuleService.getOne(null);
String addVehiclesEarnsPoints = one.getAddVehiclesEarnsPoints();
JSONObject jsonObject = JSON.parseObject(addVehiclesEarnsPoints);
Integer point = 0;
//增加车牌50分,必填
point += jsonObject.getInteger("num1");
point += jsonObject.getInteger("num2");
point += jsonObject.getInteger("num3");
point += jsonObject.getInteger("num4");
return R.ok(point);
}
@GetMapping("/getSet")
@ApiOperation(tags = {"管理后台-积分管理","小程序-个人中心-签到"},value = "获取积分设置")
public R getSet() {
TIntegralRule res = integralRuleService.getOne(new QueryWrapper<>());
return R.ok(res);
}
@PostMapping("/saveSet")
@ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分设置")
@Log(title = "【积分管理】保存积分设置", businessType = BusinessType.INSERT)
public R saveSet(@RequestBody TIntegralRule dto) {
TIntegralRule one = integralRuleService.getOne(null);
if (one!=null){
dto.setId(one.getId());
integralRuleService.saveOrUpdate(dto);
}else{
integralRuleService.saveOrUpdate(dto);
}
return R.ok();
}
@GetMapping("/getInfo")
@ApiOperation(tags = {"管理后台-积分管理"},value = "type 1=积分规则说明," +
"2=会员折扣说明," +
"3=优惠券说明," +
"4=双倍积分说明," +
"5=商城专享价说明," +
"6=会员协议," +
"7=用户协议," +
"8=隐私协议," +
"9=邀请好友说明," +
"10=资质证明," +
"11=开票说明")
public R getInfo(Integer type) {
THtml g = htmlService.getOne(new QueryWrapper().eq("type",type));
if (g == null){
return R.ok("");
}
return R.ok(g.getContent());
}
@PostMapping("/saveInfo")
@ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分说明")
@Log(title = "【积分管理】保存积分说明", businessType = BusinessType.INSERT)
public R saveInfo(@RequestBody SaveHtml dto) {
THtml g = htmlService.getOne(new QueryWrapper().eq("type",dto.getType()));
if (g == null){
THtml tHtml = new THtml();
tHtml.setType(dto.getType());
tHtml.setContent(dto.getInfo());
htmlService.save(tHtml);
}else{
g.setContent(dto.getInfo());
htmlService.updateById(g);
}
return R.ok();
}
@GetMapping("/getIntegralRule")
@ApiOperation(tags = {"小程序-充电记录"},value = "获取积分规则设置")
public AjaxResult getIntegralRule(){
TIntegralRule one = integralRuleService.getOne(null);
return AjaxResult.success(one);
}
}