From 393d296e43f0e5f11e524cab5446bcd3eee94e89 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Sat, 12 Jun 2021 17:47:38 +0800 Subject: [PATCH] 新增赠送项目是否计算消耗控制 --- zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java | 104 ++++++++++++++++++++++----------------------------- 1 files changed, 45 insertions(+), 59 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java b/zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java index 36b217c..e790d7c 100644 --- a/zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java +++ b/zq-erp/src/main/java/com/matrix/system/common/actions/CommonAction.java @@ -5,29 +5,26 @@ import com.matrix.core.constance.SystemErrorCode; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.AjaxResult; -import com.matrix.core.tools.LogUtil; -import com.matrix.core.tools.RSAUtils; -import com.matrix.core.tools.StringUtils; -import com.matrix.core.tools.WebUtil; +import com.matrix.core.tools.*; import com.matrix.core.web.BaseAction; import com.matrix.system.common.authority.DefaultAuthorityManager; import com.matrix.system.common.authority.strategy.AccountPasswordLogin; import com.matrix.system.common.authority.strategy.LoginStrategy; +import com.matrix.system.common.authority.strategy.ScanQrCodeLogin; import com.matrix.system.common.bean.SysUsers; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.common.dao.ProjExceptionDao; +import com.matrix.system.common.dto.WebLoginDto; import com.matrix.system.common.service.SysUsersService; import com.matrix.system.hive.dao.SysShopInfoDao; import com.matrix.system.hive.statistics.StatisticsBusinessDataJob; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import java.security.Key; import java.util.Map; +import java.util.Objects; /** * @description 通用控制器,本action未经session过验证器 @@ -37,6 +34,7 @@ */ @RequestMapping(value = "/common") @Controller +@CrossOrigin(origins = "*", maxAge = 3600) public class CommonAction extends BaseAction { @Autowired @@ -54,7 +52,7 @@ StatisticsBusinessDataJob sjobp; @RequestMapping(value = "/job") public @ResponseBody String job() { - sjobp.executeExt2(); + //sjobp.executeExt2(); return "1"; } @@ -97,17 +95,22 @@ * * 登录验证 * @author:姜友瑶 - * @param user * @return 返回类型 AjaxResult * @date 2016年8月30日 */ @RequestMapping(value = "/dologin") - public @ResponseBody AjaxResult dologin(SysUsers user) { - long sqlStart = System.currentTimeMillis(); - decryptAccountAndPassword(user); - LoginStrategy apLogin = new AccountPasswordLogin(user, sysUsersService); + public @ResponseBody AjaxResult dologin(WebLoginDto webLoginDto) { - user = authorityManager.login(apLogin); + long sqlStart = System.currentTimeMillis(); + SysUsers user=null; + if(WebLoginDto.ACCOUNT_LOGIN.equals(webLoginDto.getLoginType())){ + user= decryptAccountAndPassword(webLoginDto); + LoginStrategy apLogin = new AccountPasswordLogin(user, sysUsersService); + user = authorityManager.login(apLogin); + }else { + ScanQrCodeLogin apLogin = new ScanQrCodeLogin( sysUsersService,webLoginDto.getLoginQrCodeKey()); + user = authorityManager.login(apLogin); + } if(user.getShopId()!=null){ @@ -155,28 +158,27 @@ * @author JIANGYOUYAO * @email 935090232@qq.com * @date 2017年12月11日 - * @param user */ - private void decryptAccountAndPassword(SysUsers user) { + private SysUsers decryptAccountAndPassword(WebLoginDto webLoginDto) { String privateKey = WebUtil.getSessionAttribute(MatrixConstance.PRIVATE_KEY); if (StringUtils.isBlank(privateKey)) { throw new GlobleException(SystemErrorCode.REQUEST_INVALID); } - + SysUsers user=new SysUsers(); try { // 账号解密 - byte[] acccountData = RSAUtils.decryptByPrivateKey(user.getSuAccount(), privateKey); + byte[] acccountData = RSAUtils.decryptByPrivateKey(webLoginDto.getSuAccount(), privateKey); user.setSuAccount(new String(acccountData)); // 密码解密 - byte[] passWordData = RSAUtils.decryptByPrivateKey(user.getSuPassword(), privateKey); + byte[] passWordData = RSAUtils.decryptByPrivateKey(webLoginDto.getSuPassword(), privateKey); user.setSuPassword(new String(passWordData)); } catch (Exception e) { LogUtil.error("用户账号密码解密失败", e); throw new GlobleException(SystemErrorCode.LOGIN_FAIL); } - + return user; } @@ -248,44 +250,6 @@ } - - /** - * 移动端登录 - * @param user - * @return - */ - @RequestMapping(value = "/doHiveMobilelogin") - public @ResponseBody AjaxResult doHiveMobilelogin(SysUsers user) { - long sqlStart = System.currentTimeMillis(); - decryptAccountAndPassword(user); - LoginStrategy apLogin = new AccountPasswordLogin(user, sysUsersService); - user = authorityManager.login(apLogin); - // 获取该账户的岗位信息,并判断是否为店长 - if(user.getShopId()!=null){ - user.setShopName(sysShopInfoDao.selectById(user.getShopId()).getShopName()); - } - - AjaxResult result = new AjaxResult(); - authorityManager.initUserPower(result); - result.setStatus(AjaxResult.STATUS_SUCCESS); - LogUtil.info("#用户登录成功 账号={}#", user.getSuAccount()); - switch (user.getSuUserType()) { - // 企业管理员 - case AppConstance.USER_TYPE_ADMIN: - result.setPage(HIVE_MOBILE_REDIRECT_INDEX); - break; - // 企业用户 - case AppConstance.USER_TYPE_EMPLOYEE: - result.setPage(HIVE_MOBILE_REDIRECT_INDEX); - break; - default:// 不能识别的用户 - result.setPage("common/redirect/404"); - } - long endStart = System.currentTimeMillis(); - LogUtil.info("本次登录耗时#{}毫秒", (endStart-sqlStart)+""); - return result; - } - @GetMapping(value = "/hiveMobileLoginOut") public String hiveMobileLoginOut() { authorityManager.getLoginOut(); @@ -294,4 +258,26 @@ + @Autowired + + + /** + * 官网联系我们通知 + */ + @RequestMapping(value = "/gwLinkUs") + public @ResponseBody + AjaxResult gwLinkUs(@RequestBody Map<String , Object> param) { + + String title = "hive新客户在官网提交联系请求"; + if(Objects.nonNull(param.get("name"))){ + String content = "hive=>name:" + param.get("name") + " tel:" + param.get("tel") ; + DingDingRobotUtil.sendLink("https://oapi.dingtalk.com/robot/send?access_token=62bb902f0e3945f0ece31306b99abae043fc69a66da0ef04d89fd20bf58d88d8", content, title, "", "www.baidu.com"); + + } + + return AjaxResult.buildSuccessInstance("提交成功"); + } + + + } \ No newline at end of file -- Gitblit v1.9.1