package com.rongwei.bsserver.controller; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.rongwei.bscommon.sys.service.BsOrganizationService; import com.rongwei.bscommon.sys.service.DmTableService; import com.rongwei.bscommon.sys.service.ZhcxApiService; import com.rongwei.bscommon.sys.utils.HwSmsUtil; import com.rongwei.bscommon.sys.utils.ZhcxCommon; import com.rongwei.bsentity.dto.RectifyApiDataDto; import com.rongwei.bsentity.vo.ZhcxOutsideInspectionVo; import com.rongwei.rwadmincommon.system.vo.SysUserVo; import com.rongwei.rwcommon.base.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import com.rongwei.rwcommon.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Map; import java.util.Random; /** * @author zhuang */ @RestController @RequestMapping("/zhcxApi") @Slf4j @Api(tags = "接口相关",description = "公共接口") public class ZhcxApiController { @Autowired private ZhcxApiService zhcxApiService; @Autowired private BsOrganizationService bsOrganizationService; @Autowired private ZhcxCommon zhcxCommon; @PostMapping("/getOutsideInspectionList") @ApiOperation("根据项目查看外部报验清单") @ApiImplicitParams({ @ApiImplicitParam(name = "projectcode", value = "项目工号", dataType = "string") }) public R getOutsideInspectionList(@RequestBody Map map){ if(!map.containsKey("projectcode")){ return R.error("projectcode参数必填"); } List outsideInspectionList = zhcxApiService.getOutsideInspectionList(map); return R.ok(outsideInspectionList); } @PostMapping("/sendCode") @ApiOperation("发送验证码") @ApiImplicitParams({ @ApiImplicitParam(name = "loginType",required = true, value = "入口(PC/YD)", dataType = "string"), @ApiImplicitParam(name = "account",required = true, value = "账号", dataType = "string"), @ApiImplicitParam(name = "password",required = true, value = "密码", dataType = "string") }) public R sendCode(@RequestBody Map map){ R r = zhcxApiService.sendCode(map); return r; } @PostMapping("/gaiffp") @ApiOperation("忘记密码") @ApiImplicitParams({ @ApiImplicitParam(name = "loginType",required = true, value = "入口(PC/YD)", dataType = "string"), @ApiImplicitParam(name = "account",required = true, value = "账号", dataType = "string"), @ApiImplicitParam(name = "code",required = true, value = "验证码", dataType = "string"), @ApiImplicitParam(name = "pwd",required = true, value = "新密码", dataType = "string") }) public R getAccountInfoForForgotPassword(@RequestBody Map map){ R r = zhcxApiService.getAccountInfoForForgotPassword(map); return r; } @PostMapping("/repw") @ApiOperation("重置密码") @ApiImplicitParams({ @ApiImplicitParam(name = "loginType",required = true, value = "入口(PC/YD)", dataType = "string"), @ApiImplicitParam(name = "id",required = true, value = "用户id", dataType = "string"), @ApiImplicitParam(name = "oldpassword",required = true, value = "旧密码", dataType = "string"), @ApiImplicitParam(name = "newpassword",required = true, value = "新密码", dataType = "string") }) public R resetPassword(@RequestBody Map map){ R r = zhcxApiService.resetPassword(map); return r; } @PostMapping("/sendReviewSupervisionMail") public R sendReviewSupervisionMail(@RequestBody Map map){ R r = zhcxApiService.sendReviewSupervisionMail(map); return r; } @PostMapping("/getCoreInspectionDetailList") @ApiOperation("核心检验指标预览") @ApiImplicitParams({ @ApiImplicitParam(name = "ID",required = true, value = "核心检验指标预览ID", dataType = "string") }) public R getCoreInspectionDetailList(@RequestBody Map map){ R r = zhcxApiService.getCoreInspectionDetailList(map); return r; } @PostMapping("/forgetPwdSendSmsCode") public R forgetPwdSendSmsCode(@RequestBody Map map){ R r = zhcxApiService.forgetPwdSendSmsCode(map); return r; } @PostMapping("/forgetResetPwd") public R forgetResetPwd(@RequestBody Map map){ R r = zhcxApiService.forgetResetPwd(map); return r; } /** * @return 用户的监理、分包商等信息(如果存在) */ @PostMapping("/gpsd") @ApiOperation("用户的监理、分包商等信息(如果存在)") @ApiImplicitParams({ @ApiImplicitParam(name = "USERID",required = false, value = "用户ID", dataType = "string") }) public R getProjectStaticData(@RequestBody Map map, HttpServletRequest request){ try { SysUserVo currUser = zhcxCommon.getCurrentUser(); if (currUser == null) { return R.ok(); } Map userMap = zhcxApiService.getProjectStaticData(currUser); return R.ok(userMap); } catch (Exception e) { log.error(StringUtils.spliceErrorMsg(e), e.fillInStackTrace()); return R.error("查询用户数据异常"); } } @PostMapping("/syncBsOrgData") public void syncBsOrgData(){ log.info("删除报送组织数据"); bsOrganizationService.removeAll(); log.info("删除完成"); zhcxApiService.syncBsOrgData(); } @PostMapping("/getRectifyData") @ApiOperation("根据项目,机号查看整改数据") @ApiImplicitParams({ @ApiImplicitParam(name = "projectcode", required = true,value = "项目工号", dataType = "string"), @ApiImplicitParam(name = "machineno",required = false, value = "机号", dataType = "string") }) public R getRectifyData(@RequestBody Map map){ if(!map.containsKey("projectcode")){ return R.error("projectcode参数必填"); } List list = zhcxApiService.getRectifyData(map); return R.ok(list); } /** * 初始化无密码用户 */ @PostMapping("/initPwd") public void initPwd(){ log.info("初始化密码"); zhcxApiService.initPwd(); log.info("初始化密码成功"); } /** * 初始化无密码用户 */ @PostMapping("/syncUserData") public JSONObject syncUserData(String data){ JSONObject result = zhcxApiService.syncUserData(data); return result; } @PostMapping("/getIp") public R getIp(@RequestBody Map map){ Object uuip = map.get("uuip"); JSONObject jsonData = new JSONObject(); jsonData.put("ifReFresh", false); if (ObjectUtil.isEmpty(uuip)) { return R.ok(jsonData); } String ip = (String) uuip; int count = zhcxApiService.getIp(ip); if(count == 0){ zhcxApiService.saveIp(ip); jsonData.put("ifReFresh", true); return R.ok(jsonData); } return R.ok(jsonData); } }