server/src/main/java/doumeemes/api/common/AntelopeController.java
@@ -21,8 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Iterator; import java.util.Map; /** @@ -33,10 +38,8 @@ @RestController @RequestMapping("/lingyang") public class AntelopeController extends BaseController { @Autowired private SystemLoginService systemLoginService; /** * @author Eva.Caesar Liu * @date 2022/04/18 18:12 @@ -60,4 +63,24 @@ public ApiResponse<String> loginDemo( @RequestParam("token") String token , HttpServletRequest request) throws Exception{ return ApiResponse.success(systemLoginService.loginLingYangDemo( token, request)); } @ApiOperation(value = "å¯¼å ¥", notes = "å¯¼å ¥", httpMethod = "POST", position = 6) @ApiImplicitParams({ @ApiImplicitParam(name = "folder", value = "æä»¶å¤¹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class), }) @PostMapping(value = "/importBatch", headers = "content-type=multipart/form-data") public ApiResponse importmaterial(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception { CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); String r = null; if (multipartResovler.isMultipart(request)) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Iterator<String> it = multipartRequest.getFileNames(); while (it.hasNext()) { MultipartFile file = multipartRequest.getFile((String) it.next());// file r = systemLoginService.importLyAuth(file,request); break; } } return ApiResponse.success( r); } } server/src/main/java/doumeemes/biz/system/impl/SystemUserBizImpl.java
@@ -383,6 +383,9 @@ cu.setUserId(userId); } companyUserService.create(cu); CompanyUserExtListVO userModel = new CompanyUserExtListVO(); BeanUtils.copyProperties(cu, userModel); com.setUserModel(userModel); if(StringUtils.equals(userParam.getManager(),Constants.ONE+"")){ //妿æ¯ç®¡çåè§è²ï¼ç»å®é»è®¤è§è² SystemRole sr = new SystemRole(); server/src/main/java/doumeemes/config/shiro/ShiroConfig.java
@@ -105,6 +105,7 @@ map.put("/dingding/getDingdingCorpId", "anon"); map.put("/lingyang/login", "anon"); map.put("/lingyang/loginDemo", "anon"); map.put("/lingyang/importBatch", "anon"); map.put("/edgp/**", "anon"); // - æ¾è¡swagger map.put("/doc.html", "anon"); server/src/main/java/doumeemes/core/utils/dingding/LingyangUtil.java
@@ -6,6 +6,9 @@ import com.iflytek.antelope.other.client.sdk.UserInfoSdk; import lombok.extern.slf4j.Slf4j; import java.io.*; import java.util.Scanner; @Slf4j public class LingyangUtil { @@ -19,10 +22,49 @@ public static void main(String[] args) { JSONObject j = new JSONObject(); j.put(LINGYANG_AESKEY,"vczfadepbqrdcdae"); j.put(LINGYANG_APPKEY,"rqwryznqsl"); j.put(LINGYANG_SECRET,"b2da06d8bb4eae0f0701649571640a203e80ccdc"); System.out.println(j.toJSONString()); // j.put(LINGYANG_AESKEY,"vczfadepbqrdcdae"); // j.put(LINGYANG_APPKEY,"rqwryznqsl"); // j.put(LINGYANG_SECRET,"b2da06d8bb4eae0f0701649571640a203e80ccdc"); // System.out.println(j.toJSONString()); try { File file = new File("D:\\doumeeplant.log"); FileWriter out = new FileWriter(new File("D:\\out1.log")); BufferedWriter writer = new BufferedWriter(out); BufferedReader br = new BufferedReader(new FileReader(file)); String line; int lineNum = 1; int num = 1; int tNum = -1; while ((line = br.readLine()) != null) { if(line.contains("\"manager\":\"0\"") ){num++; tNum++; writer.write(line.replace("ç»æï¼","")); writer.newLine(); System.out.printf("[%d]: %s%n", lineNum, line); // è¾åºè¿ä¸è¡ } /* if (line.contains("ç¾ç¾å¹³å°è·åç¨æ·ä¿¡æ¯")) { // 妿è¿ä¸è¡å å«å ³é®è¯ System.out.printf("[%d]: %s%n", lineNum, line); // è¾åºè¿ä¸è¡ num++; tNum++; }else if(tNum >=0 && tNum <=2){ System.out.printf("[%d]: %s%n", lineNum, line); // è¾åºè¿ä¸è¡ tNum ++; } if(tNum ==3){ tNum=-1; }*/ lineNum++; } out.close(); System.out.println(num); }catch (Exception e){ e.getMessage(); } } /*public LingyangUtil(String param){ JSONObject p = JSONObject.parseObject(param); @@ -52,4 +94,5 @@ return null; } } server/src/main/java/doumeemes/dao/business/dto/AutoLoginUserDTO.java
@@ -1,9 +1,11 @@ package doumeemes.dao.business.dto; import cn.afterturn.easypoi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** @@ -14,13 +16,22 @@ @ApiModel("䏿¹å¹³å°ææç»å½ç¨æ·ä¿¡æ¯") public class AutoLoginUserDTO { private String userId; @Excel(name="ä¼ä¸åç§°",orderNum ="0") private String name; @Excel(name="ææºå·",orderNum ="3") private String phone; private String orgName; @Excel(name="ä¿¡ç¨ä»£ç ",orderNum ="1") private String creditCode; private String userinfo; private String manager; private String remark; private int origin; private String ordercode; @Excel(name="æ¶é´",orderNum ="2",databaseFormat ="yyyy/dd/MM HH:mm" ) private Date date; } server/src/main/java/doumeemes/dao/business/model/BizLingyang.java
@@ -41,6 +41,9 @@ @ApiModelProperty(value = "ä¼ä¸ç»ä¸ä¿¡ç¨ä»£ç ") @ExcelColumn(name="ä¼ä¸ç»ä¸ä¿¡ç¨ä»£ç ") private String creditCode; @ApiModelProperty(value = "ç¾ç¾è®¢åå·") @ExcelColumn(name="ç¾ç¾è®¢åå·") private String orderCode; @ApiModelProperty(value = "åºç¨å¯ä¸æ è¯") @ExcelColumn(name="åºç¨å¯ä¸æ è¯") server/src/main/java/doumeemes/dao/business/model/Company.java
@@ -86,6 +86,9 @@ @ApiModelProperty(value = "ç»è¥èå´") @ExcelColumn(name="ç»è¥èå´") private String businessScope; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "è¥ä¸æé") @ExcelColumn(name="è¥ä¸æé") server/src/main/java/doumeemes/dao/ext/dto/LingYangUserDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ package doumeemes.dao.ext.dto; import cn.afterturn.easypoi.excel.annotation.Excel; import com.iflytek.antelope.other.client.dto.resp.OrgMemberDTO; import com.iflytek.antelope.other.client.dto.resp.OrgOrderDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** * @author T14 */ @Data @ApiModel("ä¼ä¸ç»å½ç»è®¡æ¥è¯¢ç±»") public class LingYangUserDto { private String userId; @Excel(name="ä¼ä¸åç§°",orderNum ="1") private String name; @Excel(name="ææºå·",orderNum ="3") private String phone; private String orgName; private String creditCode; private String manager; private List<OrgMemberDTO> orgMembers; private List<OrgOrderDTO> orgOrders; private Integer accountStatus; private String rId; @Excel(name="订åå·",orderNum ="2") private String orderCode; @Excel(name="æ¶é´",orderNum ="4") private Date date; } server/src/main/java/doumeemes/service/ext/CompanyExtService.java
@@ -11,6 +11,7 @@ import doumeemes.dao.ext.vo.CompanyInfoListVO; import javax.servlet.http.HttpServletRequest; import java.util.Date; /** * ä¼ä¸ä¿¡æ¯Serviceå®ä¹ @@ -31,7 +32,7 @@ String getDingdingProCode(Integer companyId); String getDingdingTicekt(Integer companyId); Company createByLingyang(UserDTO user,String pwd); Company createByLingyang(UserDTO user, Date date,String remark, String pwd); Integer createByPlat(CompanyInitDataDTO user, HttpServletRequest request); Integer updateByPlat(CompanyInitDataDTO user, HttpServletRequest request); server/src/main/java/doumeemes/service/ext/impl/CompanyExtServiceImpl.java
@@ -331,7 +331,7 @@ } @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Company createByLingyang(UserDTO user, String pwd){ public Company createByLingyang(UserDTO user,Date date,String remark, String pwd){ AutoLoginUserDTO param = new AutoLoginUserDTO(); param.setOrgName(user.getOrgName()); param.setName(user.getName()); @@ -341,6 +341,8 @@ param.setManager(user.getManager()); param.setUserinfo(JSONObject.toJSONString(user)); param.setOrigin(Constants.COMPANY_ORIGIN.lingyang); param.setDate(date!=null ?date:new Date()); param.setRemark(remark); return createByThirdParam(param,pwd); } public Company createByThirdParam(AutoLoginUserDTO user, String pwd){ @@ -356,13 +358,15 @@ //妿ä¼ä¸ä¿¡æ¯ä¸ºç©ºï¼æ°å¢ä¼ä¸ä¿¡æ¯ com = new Company(); com.setDeleted(Constants.ZERO); com.setCreateTime(new Date()); com.setCreateTime(user.getDate()!=null?user.getDate():new Date()); com.setIsNew(Constants.ONE); // com.setOrigin(Constants.THREE); com.setCreditCode(user.getCreditCode()); com.setName(user.getOrgName()); com.setLingyangInfo(user.getUserinfo()); com.setLegalPersonPhone(user.getPhone()); //æµè¯ç¾ç¾æå¨å¯¼å ¥ï¼æ è®°ï¼ com.setRemark(user.getRemark()); //é»è®¤éå¶äººå10 if(user.getOrigin() == Constants.COMPANY_ORIGIN.lingyang){ int userNum = 10; server/src/main/java/doumeemes/service/ext/impl/WorkorderExtServiceImpl.java
@@ -235,9 +235,9 @@ .eq("MATERIAL_ID",w.getMaterialId()) .eq("DEPART_ID",w.getDepartId()) .eq("DELETED",Constants.ZERO) .eq("STATUS",Constants.ONE) // .eq("STATUS",Constants.ONE) ); w.setPapercode(b.getPapercode()); w.setPapercode(b!=null ?b.getPapercode():null); /* RouteProcedure currentRouteProcedure = routeProcedureExtMapper.selectOne(new QueryWrapper<RouteProcedure>() .eq("ROUTE_ID",b.getRouteId()) server/src/main/java/doumeemes/service/system/SystemLoginService.java
@@ -3,6 +3,7 @@ import com.iflytek.antelope.other.client.dto.resp.UserDTO; import doumeemes.dao.business.dto.CompanyInitDataDTO; import doumeemes.dao.system.dto.LoginDTO; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -28,4 +29,6 @@ String loginEdgpDemo(String token, HttpServletRequest request ); String getDingdingCorpId(Integer companyId); String importLyAuth(MultipartFile file,HttpServletRequest request) ; } server/src/main/java/doumeemes/service/system/impl/SystemLoginServiceImpl.java
@@ -1,6 +1,7 @@ package doumeemes.service.system.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iflytek.antelope.other.client.dto.resp.UserDTO; import doumeemes.biz.system.SystemDictDataBiz; import doumeemes.config.shiro.ShiroToken; @@ -13,10 +14,16 @@ import doumeemes.core.utils.dingding.LingyangUtil; import doumeemes.core.utils.edpg.EdgpServerUtil; import doumeemes.core.utils.edpg.bean.AppUserInfoModel; import doumeemes.core.utils.excel.EasyExcelUtil; import doumeemes.dao.business.BizLingyangMapper; import doumeemes.dao.business.dto.AutoLoginUserDTO; import doumeemes.dao.business.model.BizLingyang; import doumeemes.dao.business.model.Company; import doumeemes.dao.business.model.CompanyUser; import doumeemes.dao.business.model.Material; import doumeemes.dao.ext.CompanyExtMapper; import doumeemes.dao.ext.CompanyUserExtMapper; import doumeemes.dao.ext.dto.LingYangUserDto; import doumeemes.dao.ext.dto.QueryCompanyUserExtDTO; import doumeemes.dao.ext.vo.CompanyExtListVO; import doumeemes.dao.ext.vo.CompanyUserExtListVO; @@ -31,13 +38,18 @@ import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.subject.Subject; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; import java.util.Random; @Slf4j @Service @@ -54,6 +66,8 @@ @Autowired private CompanyUserExtMapper companyUserExtMapper; @Autowired private BizLingyangMapper bizLingyangMapper; @Autowired private CompanyExtMapper companyExtMapper; @@ -173,6 +187,98 @@ systemLoginLogService.create(loginLog); throw ee; } } // @Transactional(rollbackFor = {BusinessException.class,Exception.class}) @Override public String importLyAuth(MultipartFile file,HttpServletRequest request) { //è§£æexcel List<AutoLoginUserDTO> materialList = EasyExcelUtil.importExcel(file, 0, 1, AutoLoginUserDTO.class); if (materialList == null || materialList.size() == 0) { throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "å¯¼å ¥æ°æ®å 容æè¯¯ï¼"); } int num = 0; for(AutoLoginUserDTO u : materialList){ UserDTO user = new UserDTO(); BeanUtils.copyProperties(u, user); user.setManager("1"); user.setOrgName(user.getName()); Date date = null; if(StringUtils.isBlank(user.getName())){ continue; } try { date = new Date(u.getDate().getTime()+ (long) Math.random()*60*1000); }catch (Exception e){ } boolean r = logiglingyangModel(user,date,"lingyang_import",request,false); num = r?(num+1):num; } return "æåå¯¼å ¥ã"+num+"ã个ï¼å¤±è´¥ã"+(materialList.size()-num)+"ã个"; } public boolean logiglingyangModel(UserDTO user,Date date,String remark, HttpServletRequest request,boolean isDemo){ SystemLoginLog loginLog = new SystemLoginLog(); loginLog.setLoginUsername("lingyangAuto_"+JSONObject.toJSONString(user)); loginLog.setLoginTime(date); loginLog.setOrgin(Constants.USER_LOGIN_ORIGIN.lingyang); loginLog.setSystemVersion(systemVersion); loginLog.setIp(Utils.User_Client.getIP(request)); loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp())); loginLog.setPlatform(Utils.User_Client.getPlatform(request)); loginLog.setClientInfo(Utils.User_Client.getBrowser(request)); loginLog.setOsInfo(Utils.User_Client.getOS(request)); loginLog.setServerIp(Utils.Server.getIP()); String mobile = null; if(user == null){ return false; } //æ¥è¯¢ä¼ä¸ä¿¡æ¯ Company qc = new Company(); qc.setDeleted(Constants.ZERO); qc.setCreditCode(user.getCreditCode()); qc.setOrigin(Constants.COMPANY_ORIGIN.lingyang); //æ ¹æ®è¡æ¿åºä»£ç æ¥è¯¢ä¼ä¸ä¿¡æ¯ if(companyExtMapper.selectOne(new QueryWrapper<>(qc).last(" limit 1") )!=null){ return false; } Company com = companyExtService.createByLingyang(user,date,remark,systemDictDataBiz.queryByCode(Constants.DEFAULT,Constants.USER_PWD).getCode()); if(com == null){ return false; } //ä¼ä¸ç¨æ·ä¿¡æ¯ CompanyUserExtListVO model =com.getUserModel(); if(model != null && StringUtils.isNotBlank(model.getPhone())){ mobile=model.getPhone(); }else{ //è·åç¾ç¾ææºå· mobile= user.getPhone(); } loginLog.setLoginUsername(mobile); loginLog.setUserId(model.getUserId()); loginLog.setCompanyId(com.getId()); loginLog.setCompanyUserId(model.getId()); loginLog.setSuccess(Boolean.TRUE); systemLoginLogService.create(loginLog); CompanyUser cu = new CompanyUser(); cu.setLingyangUserid(user.getUserId()); cu.setId(model.getId()); cu.setName(user.getName());//忥ç¾ç¾çåå cu.setUpdateTime(new Date()); //æ´æ°ç¨æ·ç»å®çééä¿¡æ¯ companyUserExtMapper.updateById(cu); BizLingyang biz = new BizLingyang(); biz.setActionTimes(1); biz.setCreateTime(date); biz.setCreditCode(user.getCreditCode()); biz.setCompanyId(com.getId()); biz.setAppKey(systemDictDataBiz.queryByCode(Constants.LINGYANG_PARAM,Constants.LINGYANG_APPKEY ).getCode()); biz.setUserPhone(user.getPhone()); // biz.setRemark(remark); bizLingyangMapper.insert(biz); return true; } @Override public String getDingdingCorpId(Integer companyId){ @@ -434,7 +540,7 @@ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT); } //æ¥è¯¢ä¼ä¸ä¿¡æ¯ Company com = companyExtService.createByLingyang(user,systemDictDataBiz.queryByCode(Constants.DEFAULT,Constants.USER_PWD).getCode()); Company com = companyExtService.createByLingyang(user,new Date(),null,systemDictDataBiz.queryByCode(Constants.DEFAULT,Constants.USER_PWD).getCode()); if(com == null){ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT); }