| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- package com.template.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.template.annotation.DESRespondSecret;
- import com.template.api.SmartGradeControllerAPI;
- import com.template.common.utils.*;
- import com.template.config.ControlConfig;
- import com.template.model.pojo.SmartGrade;
- import com.template.model.pojo.SmartSchool;
- import com.template.model.request.insertSmartGradeRequest;
- import com.template.model.request.updateSmartGradeRequest;
- import com.template.model.result.CommonResult;
- import com.template.model.result.PageUtils;
- import com.template.model.vo.BsGradeNoVo;
- import com.template.model.vo.BsGradeVo;
- import com.template.model.vo.SemesterVo;
- import com.template.services.SmartGradeService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import java.net.URLDecoder;
- import java.net.URLEncoder;
- import java.util.ArrayList;
- import java.util.List;
- import static com.template.common.utils.AesTestOne.decrypt;
- /**
- * <p>
- * 年级表 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2023-12-25
- */
- @RestController
- //返回参数加密注解
- @DESRespondSecret
- public class SmartGradeController implements SmartGradeControllerAPI {
- @Resource
- private ControlConfig controlConfig;
- @Autowired
- private SmartGradeService smartGradeService;
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult insertSmartGrade(SmartGrade smartGrade, BindingResult bindingResult) {
- return null;
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult updateSmartGradeById(updateSmartGradeRequest usgr, BindingResult bindingResult) throws Exception {
- if (bindingResult.hasErrors()) {
- String st = paramUtils.getParamError(bindingResult);
- return CommonResult.fail(st);
- }
- //数据ID是否有效
- SmartGrade oldData = smartGradeService.querySmartGradeById(usgr.getId());
- if (oldData == null) {
- return CommonResult.fail("年级数据无效,更新失败");
- }
- //判断重复性
- SmartGrade existData = smartGradeService.existSmartGradeData(usgr.getGradeNo(), usgr.getGradeName());
- if (existData != null && existData.getId().equals(usgr.getId())) {
- return CommonResult.fail("该年级数据已在系统中存在,请勿重复添加");
- }
- //region 修改百胜中的年级数据
- String appId = controlConfig.getAppId();
- String schoolno = controlConfig.getSchoolCode();
- String timestamp = TimeExchange.DateNowTimeStamo();
- String gradeName = usgr.getGradeName();
- String appSecret = controlConfig.getAppSecret();
- String url = controlConfig.getUrl() + "grade/update";
- JSONObject jsonobject = new JSONObject();
- jsonobject.put("appid", appId);
- String str = "{\"grade_no\":\"" + oldData.getBsGradeNo() + "\",\"grade_name\":\"" + gradeName + "\"}";
- String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
- jsonobject.put("data", aesStr);
- jsonobject.put("schoolno", schoolno);
- jsonobject.put("timestamp", timestamp);
- //appid=ymdd36ed157ac423e2&carNo=赣U123659&parkKey=wdcmq9rc&rand=9.94995525689689966&reserveEndTime=2023-12-22 20:12:10&reserveTime=2023-12-21 18:12:10&version=v1.0&50596cd243dc4547b4c05f01f8ea02a4
- String md5Str = "appid=" + appId + "&data={\"grade_no\":\"" + oldData.getBsGradeNo() + "\",\"grade_name\":\"" + gradeName + "\"}" + "&schoolno=" + schoolno + "×tamp=" + timestamp + "&key=" + appSecret;
- String sign = CommonUtil.MD5(md5Str);
- //sign签名
- jsonobject.put("sign", sign);
- //返回的结果中 code为1表示成功
- String result = RequestUtils.httpPost(url, jsonobject.toJSONString());
- if (result.contains("更新成功")) {
- oldData.setGradeNo(usgr.getGradeNo());
- oldData.setName(usgr.getGradeName());
- int updateGrade = smartGradeService.updateSmartGrade(oldData);
- if (updateGrade <= 0) {
- return CommonResult.fail("年级信息更新失败");
- }
- } else {
- return CommonResult.fail("年级信息更新失败");
- }
- //endregion
- return CommonResult.ok("年级信息更新成功");
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult queryPageSmartGrades(int currentPage, int pageCount, String name) {
- PageUtils<SmartGrade> result = smartGradeService.queryPageSmartGrade(currentPage, pageCount, name);
- return CommonResult.ok(result);
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult deleteSmartGradeById(int id) {
- return null;
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult querySmartGrades() {
- List<SmartGrade> datas = smartGradeService.getSmartGrades();
- List<SemesterVo> result = new ArrayList<>();
- for (SmartGrade data : datas) {
- SemesterVo model = new SemesterVo();
- model.setId(data.getId());
- model.setName(data.getName());
- result.add(model);
- }
- return CommonResult.ok(result);
- }
- @Override
- @DESRespondSecret(validated = true)
- public CommonResult insertSmartGradeToBaisheng(insertSmartGradeRequest isgr, BindingResult bindingResult) throws Exception {
- if (bindingResult.hasErrors()) {
- String st = paramUtils.getParamError(bindingResult);
- return CommonResult.fail(st);
- }
- //判断重复性
- int existCount = smartGradeService.existSmartGrade(isgr.getGradeNo(), isgr.getGradeName());
- if (existCount > 0) {
- return CommonResult.fail("该年级数据已在系统中存在,请勿重复添加");
- }
- String appId = controlConfig.getAppId();
- String schoolno = controlConfig.getSchoolCode();
- String timestamp = TimeExchange.DateNowTimeStamo();
- String gradeName = isgr.getGradeName();
- String appSecret = controlConfig.getAppSecret();
- String url = controlConfig.getUrl() + "grade/create";
- JSONObject jsonobject = new JSONObject();
- jsonobject.put("appid", appId);
- String str = "{\"grade_name\":\"" + gradeName + "\"}";
- String aesStr = URLEncoder.encode(AesTestOne.encrypt(str, controlConfig.getAppSecret()), "UTF-8");
- jsonobject.put("data", aesStr);
- jsonobject.put("schoolno", schoolno);
- jsonobject.put("timestamp", timestamp);
- //appid=ymdd36ed157ac423e2&carNo=赣U123659&parkKey=wdcmq9rc&rand=9.94995525689689966&reserveEndTime=2023-12-22 20:12:10&reserveTime=2023-12-21 18:12:10&version=v1.0&50596cd243dc4547b4c05f01f8ea02a4
- String md5Str = "appid=" + appId + "&data={\"grade_name\":\"" + gradeName + "\"}" + "&schoolno=" + schoolno + "×tamp=" + timestamp + "&key=" + appSecret;
- String sign = CommonUtil.MD5(md5Str);
- //sign签名
- jsonobject.put("sign", sign);
- //返回的结果中 code为1表示成功
- String result = RequestUtils.httpPost(url, jsonobject.toJSONString());
- if (result.contains("添加成功")) {
- ObjectMapper objectMapper = new ObjectMapper();
- BsGradeVo grade = objectMapper.readValue(result, BsGradeVo.class);
- // URL解码
- String decodedUrl = URLDecoder.decode(grade.getData(), "UTF-8");
- BsGradeNoVo gradeNo = objectMapper.readValue(decrypt(decodedUrl, controlConfig.getAppSecret()), BsGradeNoVo.class);
- SmartGrade smartGrade = new SmartGrade();
- smartGrade.setGradeNo(isgr.getGradeNo());
- smartGrade.setName(isgr.getGradeName());
- smartGrade.setBsGradeNo(gradeNo.getGrade_no());
- int insertResult = smartGradeService.insertSmartGrade(smartGrade);
- return insertResult > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
- } else {
- return CommonResult.fail("添加失败");
- }
- }
- }
|