package com.casic.missiles.controller; import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.application.enums.LoginType; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; import com.casic.missiles.service.Impl.eqpt.GenericEqptDataProvider; import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.security.NoSuchAlgorithmException; import java.util.Map; import static com.casic.missiles.core.util.HttpContext.getIp; /** * 仅为mock登录使用 * * @author lenovo */ @Controller @RequestMapping("/route") @Slf4j public class MockController extends BaseController { /** * 获取mockToken */ @GetMapping("/mockToken") @ResponseBody public Object mockToken(String username, String password) { super.getSession().setAttribute(PermissionConstants.IS_APP, false); SuccessResponseData resultData = new SuccessResponseData(); if (StrUtil.hasEmpty(username, password)) { username = "dxzz"; password = "111111"; } Subject currentUser = ShiroKit.getSubject(); try { Map<String, String> key = RSAUtils.genKeyPair(); ShiroKit.getSession().setAttribute(PermissionConstants.PRIVATE_KEY, key.get(RSAUtils.RSAPrivateKey)); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } //token自定义 CasicCustomToken token = new CasicCustomToken(username, password); token.setType(LoginType.PASSWORD); token.setRememberMe(false); try { currentUser.login(token); } catch (Exception e) { e.printStackTrace(); } AuthUser shiroUser = ShiroKit.getUser(); super.getSession().setAttribute("shiroUser", shiroUser); super.getSession().setAttribute("username", shiroUser.getAccount()); super.getSession().setAttribute(PermissionConstants.SESSION_KEY, shiroUser.getId()); LogManager.me().executeLog(LogTaskFactory.loginLog(shiroUser.getId(), getIp())); ShiroKit.getSession().setAttribute("sessionFlag", true); resultData.setData(new LoginSuccessDTO(ShiroKit.getSession().getId().toString(), null)); resultData.setMessage("登录成功"); return resultData; } /** * 测试所用类 */ @GetMapping("/test") @ResponseBody public void test(Long id) { GenericEqptDataProvider genericEqptDataProvider = SpringContextUtil.getBean(GenericEqptDataProvider.class); //检定 BizBusinessDeviceMeasureApprovalMapper measureApprovalMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); BizBusinessDeviceMeasureApproval deviceMeasureApproval = measureApprovalMapper.selectById(id); genericEqptDataProvider.excuteStandardBuildAsyn(deviceMeasureApproval, deviceMeasureApproval.getId(), deviceMeasureApproval.getCertificateWordFile(), deviceMeasureApproval.getOriginalRecordWordFile()); //核查 // BizEquipmentStandardCheckRecordApprovalMapper checkApprovalMapper = SpringContextUtil.getBean(BizEquipmentStandardCheckRecordApprovalMapper.class); // BizEquipmentStandardCheckRecordApproval checkApproval = checkApprovalMapper.selectById(id); // genericEqptDataProvider.excuteCheckTaskAsyn(checkApproval, id, checkApproval.getCheckRecordWordFile()); //进行证书报告生成,并在远程注册服务器注册 } // //批量生成测试用户 // @Autowired // private UserMapper userMapper; // // @GetMapping("/ge") // public void ge() { // for (int i = 1; i < 1910; i++) { // User user = new User(); // user.setAccount("TEST"+i); // user.setName("TEST"+i); // user.setDeptId(1734400240108224513l); // user.setLastTime(Timestamp.valueOf("2023-12-14 14:43:14")); // user.setRoleId("1701913046218780674"); // user.setCreateTime(Timestamp.valueOf("2023-12-14 06:07:52")); // user.setCreateUser(1l); // user.setSalt("21pm3"); // user.setPassword("eeb684f003092f2c1512eefde3e64549"); // user.setStatus("1"); // userMapper.insert(user); // } // } }