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.account.api.feignClient.AppUserCarClient;
|
import com.ruoyi.account.api.feignClient.AppUserClient;
|
import com.ruoyi.account.api.model.TAppUser;
|
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.common.security.service.TokenService;
|
import com.ruoyi.other.api.domain.THtml;
|
import com.ruoyi.other.api.domain.TIntegralRule;
|
import com.ruoyi.other.api.domain.TVip;
|
import com.ruoyi.other.api.dto.SaveHtml;
|
import com.ruoyi.other.service.THtmlService;
|
import com.ruoyi.other.service.TIntegralRuleService;
|
import com.ruoyi.other.service.TVipService;
|
import com.ruoyi.system.api.model.LoginUserApplet;
|
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.*;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author 无关风月
|
* @since 2024-08-06
|
*/
|
@RestController
|
@RequestMapping("/integral")
|
public class TIntegralRuleController {
|
@Autowired
|
private THtmlService htmlService;
|
@Autowired
|
private TIntegralRuleService integralRuleService;
|
@Autowired
|
private AppUserClient appUserClient;
|
|
|
/**
|
* 远程调用 获取首次添加车辆可获得积分
|
* @return
|
*/
|
@PostMapping("/getAddCarIntegral")
|
public R<Integer> 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);
|
}
|
@Autowired
|
private TokenService tokenService;
|
@Autowired
|
private TVipService vipService;
|
@GetMapping("/getSet")
|
@ApiOperation(tags = {"管理后台-积分管理","小程序-个人中心-签到"},value = "获取积分设置")
|
public R<TIntegralRule> getSet() {
|
TIntegralRule res = integralRuleService.getOne(new QueryWrapper<>());
|
LoginUserApplet loginUserApplet = tokenService.getLoginUserApplet();
|
res.setIsDouble(0);
|
if (loginUserApplet!=null){
|
TAppUser data = appUserClient.getUserById(loginUserApplet.getUserId()).getData();
|
if (data.getVipEndTime()!=null && data.getVipEndTime().isAfter(LocalDateTime.now())){
|
TVip byId = vipService.getById(data.getVipId());
|
Integer doubleIntegration = byId.getDoubleIntegration();
|
if (doubleIntegration!=null&&doubleIntegration==1){
|
res.setIsDouble(1);
|
}
|
}
|
}
|
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<String> getInfo(Integer type) {
|
THtml g = htmlService.getOne(new QueryWrapper<THtml>().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<THtml>().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<String> getIntegralRule(){
|
TIntegralRule one = integralRuleService.getOne(null);
|
return AjaxResult.success(one);
|
}
|
}
|