Sfoglia il codice sorgente

feat: 同步数据方法调整

Ritchie 1 anno fa
parent
commit
e7ba4423b1

File diff suppressed because it is too large
+ 4 - 4
src/main/java/com/szwl/aspect/MyWebMvcConfigurer.java


+ 35 - 0
src/main/java/com/szwl/controller/SyncOldAdminController.java

@@ -41,6 +41,41 @@ public class SyncOldAdminController {
     }
 
 
+    @ApiOperation(value = "给指定时间范围内的所有旧系统用户设置新系统权限")
+    @PostMapping("/addAllRoleInTime")
+    public ResponseModel<?> addAllRoleInTime(String startTime, String endTime) {
+        if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
+            return R.fail("参数不能为空");
+        }
+        // 查看该时间范围内的用户
+        List<TAdmin> oldAdminList = R.getDataIfSuccess(syncOldFeign.getAdminInTime(startTime, endTime));
+        for (TAdmin admin : oldAdminList) {
+            Long adminId = admin.getId();
+            // 查询该 adminId 有没有权限
+            LambdaQueryWrapper<SysRole> lqw = Wrappers.lambdaQuery();
+            lqw.eq(SysRole::getAdminId, adminId);
+            List<SysRole> sysRoleList = sysRoleService.list(lqw);
+            if (sysRoleList.isEmpty()) {
+                LambdaQueryWrapper<SysRole> wrapper = Wrappers.lambdaQuery();
+                wrapper.eq(SysRole::getAdminId, "1");
+                wrapper.eq(SysRole::getRoleName, "商家");
+                SysRole template = sysRoleService.getOne(wrapper);
+                SysRole role = new SysRole();
+                role.setAdminId(adminId);
+                role.setMenuCodesJson(template.getMenuCodesJson());
+                role.setRoleName("商家");
+                sysRoleService.save(role);
+
+                SysUserRole sysUserRole = new SysUserRole();
+                sysUserRole.setRoleId(role.getRoleId());
+                sysUserRole.setUserId(String.valueOf(adminId));
+                sysUserRoleService.save(sysUserRole);
+            }
+        }
+        return R.ok("添加" + startTime + "至" + endTime + "的权限成功");
+    }
+
+
     @ApiOperation(value = "给用户 adminId 添加 sys_role 和 sys_user_role")
     @PostMapping("/addSysRole")
     public ResponseModel<?> addSysRole(Long adminId) {

+ 56 - 5
src/main/java/com/szwl/controller/SyncOldAllController.java

@@ -6,15 +6,16 @@ import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.entity.TAdmin;
 import com.szwl.model.entity.TEquipment;
 import com.szwl.service.TAdminService;
+import com.szwl.service.TEquipmentService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-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 org.apache.commons.lang.StringUtils;
+import org.springframework.web.bind.annotation.*;
 
+import java.lang.annotation.ElementType;
 import java.util.Map;
+import java.util.Optional;
 
 @Slf4j
 @Api(value = "/syncOldAll", tags = {"根据设备&用户同步旧系统数据"})
@@ -24,12 +25,62 @@ public class SyncOldAllController {
 
     SyncOldFeign syncOldFeign;
     TAdminService adminService;
+    TEquipmentService equipmentService;
 
-    public SyncOldAllController(SyncOldFeign syncOldFeign, TAdminService adminService) {
+    public SyncOldAllController(SyncOldFeign syncOldFeign, TAdminService adminService, TEquipmentService equipmentService) {
         this.syncOldFeign = syncOldFeign;
         this.adminService = adminService;
+        this.equipmentService = equipmentService;
     }
 
+
+//    @ApiOperation(value = "")
+//    @GetMapping("/getAllDataByAdminIdClientId")
+//    public ResponseModel<?> getAllDataByAdminIdClientId(Long adminId, String clientId) {
+//        if (StringUtils.isEmpty(clientId) || adminId == null) {
+//            return R.fail("参数不能为空");
+//        }
+//
+//        // 先设置这个账户的权限
+//        String s = adminService.addSysRole(adminId);
+//        if ("success".equals(s)) {
+////            return R.ok("添加" + adminId + "的权限成功");
+//        } else {
+//            return R.fail("设备权限失败");
+//        }
+//
+//        // 同步该设备信息
+//        Optional<String> result = equipmentService.syncOneEquipmentByClientId(clientId);
+//        if (result.isPresent() && "success".equals(result.get())) {
+//            return R.ok("同步设备编号" + clientId + "的 equipment 信息成功");
+//        } else {
+//            return R.fail("同步设备数据失败");
+//        }
+//
+//
+////        if("success".equals(s1)) {
+////            return R.ok();
+////
+////        }
+////        if ("success".equals(s1)) {
+////            return R.ok("同步设备编号" + clientId + "的 equipment 信息成功");
+////        } else {
+////            return R.fail("设备权限失败");
+////        }
+//
+//
+//        // 同步花型
+//
+//        // 同步分销
+//
+//        // 同步汇聚支付
+//
+//        // 同步订单
+//
+////        return R.ok();
+//    }
+
+
     @ApiOperation(value = "根据设备同步旧系统所有数据")
     @PostMapping("/byClient")
     public ResponseModel<?> byClient(@RequestBody Map<String, String> params) {

+ 95 - 89
src/main/java/com/szwl/controller/SyncOldEquipmentController.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @Slf4j
 @Api(value = "/syncOldEquipment", tags = {"同步旧系统的 equipment 设备数据"})
@@ -170,7 +171,7 @@ public class SyncOldEquipmentController {
             equipment.setCompanyType(companyType);
             equipment.setPaymentType(paymentType);
 
-            equipmentService.save(oldEquipment);
+            equipmentService.saveOrUpdate(equipment);
 
             return R.ok("同步设备编号" + clientId + "的 equipment 信息成功");
 
@@ -198,13 +199,12 @@ public class SyncOldEquipmentController {
         if (adminId != null) {
             List<TEquipment> oldEquipmentList = R.getDataIfSuccess(syncOldFeign.getEquipmentByAdminId(adminId));
 
+            // 先查看新系统该账户名下有无设备信息
+//            LambdaQueryWrapper<TEquipment> lqw = Wrappers.lambdaQuery();
+//            lqw.eq(TEquipment::getAdminId, adminId);
+//            List<TEquipment> newEquipmentList = equipmentService.list(lqw);
 
-            LambdaQueryWrapper<TEquipment> lqw = Wrappers.lambdaQuery();
-            lqw.eq(TEquipment::getAdminId, adminId);
-            List<TEquipment> newEquipmentList = equipmentService.list(lqw);
-
-
-            if (newEquipmentList.isEmpty()) {
+//            if (newEquipmentList.isEmpty()) {
                 // 伪批量插入
 //                equipmentService.saveBatch(oldEquipmentList);
                 // 真批量插入
@@ -219,7 +219,7 @@ public class SyncOldEquipmentController {
                     Long areaId = oldEquipment.getAreaId();
                     String cabinetHd = oldEquipment.getCabinetHd();
                     String cabinetTm = oldEquipment.getCabinetTm();
-//                    String clientId = oldEquipment.getClientId();
+                    String clientId = oldEquipment.getClientId();
                     String contactName = oldEquipment.getContactName();
                     String contactPhone = oldEquipment.getContactPhone();
                     String operationalPhone = oldEquipment.getOperationalPhone();
@@ -282,7 +282,7 @@ public class SyncOldEquipmentController {
                     equipment.setAreaId(areaId);
                     equipment.setCabinetHd(cabinetHd);
                     equipment.setCabinetTm(cabinetTm);
-//                    equipment.setClientId(clientId);
+                    equipment.setClientId(clientId);
                     equipment.setContactName(contactName);
                     equipment.setContactPhone(contactPhone);
                     equipment.setOperationalPhone(operationalPhone);
@@ -335,34 +335,33 @@ public class SyncOldEquipmentController {
                     equipment.setCompanyType(companyType);
                     equipment.setPaymentType(paymentType);
 
-                    equipmentService.save(oldEquipment);
+                    equipmentService.saveOrUpdate(equipment);
 
                 }
 
-            }
-//            else {
-//                for (TEquipment oldEquipment : oldEquipmentList) {
-//                    for (TEquipment newEquipment : newEquipmentList) {
-//                        if (newEquipment.getId().equals(oldEquipment.getId())) {
-//                            return R.fail("新系统已存在相同id的记录");
-//                        }
-//                        else {
-//                            equipmentService.save(oldEquipment);
-//                        }
-//                    }
-//                }
+//            } else {
+////                for (TEquipment oldEquipment : oldEquipmentList) {
+////                    for (TEquipment newEquipment : newEquipmentList) {
+////                        if (newEquipment.getId().equals(oldEquipment.getId())) {
+////                            return R.fail("新系统已存在相同id的记录");
+////                        }
+////                        else {
+////                            equipmentService.save(oldEquipment);
+////                        }
+////                    }
+////                }
+//                return R.fail("新系统中已存在该账户的设备信息");
 //            }
 
-
-            return R.ok("批量插入成功");
+            return R.ok("同步" + adminId + "名下所有机器设备信息成功");
         } else {
-            return R.fail("旧系统用户不存在");
+            return R.fail("旧系统中不存在该用户");
         }
     }
 
-    @ApiOperation(value = "同步旧系统某一时间段内的所有 t_equipment ") // 废弃~~~ 改用 getEquipmentByAdmin
-    @PostMapping("/syncEquipmentsInTime")
-    public ResponseModel<?> syncEquipmentsInTime(String startTime, String endTime) {
+    @ApiOperation(value = "同步旧系统某一时间段内的所有 t_equipment ")
+    @PostMapping("/syncAllEquipmentInTime")
+    public ResponseModel<?> syncAllEquipmentInTime(String startTime, String endTime) {
         if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) {
             List<TEquipment> oldEquipmentList = R.getDataIfSuccess(syncOldFeign.getEquipmentInTime(startTime, endTime));
 
@@ -434,70 +433,77 @@ public class SyncOldEquipmentController {
                 String paymentType = oldEquipment.getPaymentType();
                 String companyType = oldEquipment.getCompanyType();
 
-                TEquipment equipment = new TEquipment();
-                equipment.setId(id);
-                equipment.setCreateDate(createDate);
-                equipment.setModifyDate(modifyDate);
-                equipment.setAdminId(adminId);
-                equipment.setAdminLevel(adminLevel);
-                equipment.setAdminPwd(adminPwd);
-                equipment.setAreaId(areaId);
-                equipment.setCabinetHd(cabinetHd);
-                equipment.setCabinetTm(cabinetTm);
-                equipment.setClientId(clientId);
-                equipment.setContactName(contactName);
-                equipment.setContactPhone(contactPhone);
-                equipment.setOperationalPhone(operationalPhone);
-                equipment.setOperationalName(operationalName);
-                equipment.setFurnaceSp(furnaceSp);
-                equipment.setFurnaceTm(furnaceTm);
-                equipment.setGuestPwd(guestPwd);
-                equipment.setIsNetWork(isNetWork);
-                equipment.setIsUsing(isUsing);
-                equipment.setLastUpdateTime(lastUpdateTime);
-                equipment.setLatitude(latitude);
-                equipment.setLongitude(longitude);
-                equipment.setManagerId(managerId);
-                equipment.setSelfName(selfName);
-                equipment.setChannel(channel);
-                equipment.setName(name);
-                equipment.setNetWorkingMode(netWorkingMode);
-                equipment.setOperator(operator);
-                equipment.setPayType(payType);
-                equipment.setProductTotal(productTotal);
-                equipment.setSimNo(simNo);
-                equipment.setSn(sn);
-                equipment.setAdminUserName(adminUserName);
-                equipment.setAgencyId(agencyId);
-                equipment.setMerchantId(merchantId);
-                equipment.setCompanyPhone(companyPhone);
-                equipment.setPersonageId(personageId);
-                equipment.setType(type);
-                equipment.setFullName(fullName);
-                equipment.setPushUpdateTime(pushUpdateTime);
-                equipment.setTimeRuleId(timeRuleId);
-                equipment.setGtClientId(gtClientId);
-                equipment.setEqeStatus(eqeStatus);
-                equipment.setIsBlocked(isBlocked);
-                equipment.setMessageReceiver(messageReceiver);
-                equipment.setIsSleep(isSleep);
-                equipment.setAdvancedParameters(advancedParameters);
-                equipment.setVolume(volume);
-                equipment.setCommonParameters(commonParameters);
-                equipment.setNetwork(network);
-                equipment.setOffTime(offTime);
-                equipment.setBootTime(bootTime);
-                equipment.setPlcVersion(plcVersion);
-                equipment.setEquimentType(equipmentType);
-                equipment.setEndDate(endDate);
-                equipment.setFlowers(flowers);
-                equipment.setMachineType(machineType);
+                // 查看新系统有没有这台机
+                LambdaQueryWrapper<TEquipment> lqw = Wrappers.lambdaQuery();
+                lqw.eq(TEquipment::getClientId, clientId);
+                TEquipment isNewEquipment = equipmentService.getOne(lqw);
+                if (Objects.isNull(isNewEquipment)) {
+
+                    TEquipment equipment = new TEquipment();
+                    equipment.setId(id);
+                    equipment.setCreateDate(createDate);
+                    equipment.setModifyDate(modifyDate);
+                    equipment.setAdminId(adminId);
+                    equipment.setAdminLevel(adminLevel);
+                    equipment.setAdminPwd(adminPwd);
+                    equipment.setAreaId(areaId);
+                    equipment.setCabinetHd(cabinetHd);
+                    equipment.setCabinetTm(cabinetTm);
+                    equipment.setClientId(clientId);
+                    equipment.setContactName(contactName);
+                    equipment.setContactPhone(contactPhone);
+                    equipment.setOperationalPhone(operationalPhone);
+                    equipment.setOperationalName(operationalName);
+                    equipment.setFurnaceSp(furnaceSp);
+                    equipment.setFurnaceTm(furnaceTm);
+                    equipment.setGuestPwd(guestPwd);
+                    equipment.setIsNetWork(isNetWork);
+                    equipment.setIsUsing(isUsing);
+                    equipment.setLastUpdateTime(lastUpdateTime);
+                    equipment.setLatitude(latitude);
+                    equipment.setLongitude(longitude);
+                    equipment.setManagerId(managerId);
+                    equipment.setSelfName(selfName);
+                    equipment.setChannel(channel);
+                    equipment.setName(name);
+                    equipment.setNetWorkingMode(netWorkingMode);
+                    equipment.setOperator(operator);
+                    equipment.setPayType(payType);
+                    equipment.setProductTotal(productTotal);
+                    equipment.setSimNo(simNo);
+                    equipment.setSn(sn);
+                    equipment.setAdminUserName(adminUserName);
+                    equipment.setAgencyId(agencyId);
+                    equipment.setMerchantId(merchantId);
+                    equipment.setCompanyPhone(companyPhone);
+                    equipment.setPersonageId(personageId);
+                    equipment.setType(type);
+                    equipment.setFullName(fullName);
+                    equipment.setPushUpdateTime(pushUpdateTime);
+                    equipment.setTimeRuleId(timeRuleId);
+                    equipment.setGtClientId(gtClientId);
+                    equipment.setEqeStatus(eqeStatus);
+                    equipment.setIsBlocked(isBlocked);
+                    equipment.setMessageReceiver(messageReceiver);
+                    equipment.setIsSleep(isSleep);
+                    equipment.setAdvancedParameters(advancedParameters);
+                    equipment.setVolume(volume);
+                    equipment.setCommonParameters(commonParameters);
+                    equipment.setNetwork(network);
+                    equipment.setOffTime(offTime);
+                    equipment.setBootTime(bootTime);
+                    equipment.setPlcVersion(plcVersion);
+                    equipment.setEquimentType(equipmentType);
+                    equipment.setEndDate(endDate);
+                    equipment.setFlowers(flowers);
+                    equipment.setMachineType(machineType);
 //                equipment.setApkVersion();
 //                equipment.setCouponStatus();
-                equipment.setCompanyType(companyType);
-                equipment.setPaymentType(paymentType);
+                    equipment.setCompanyType(companyType);
+                    equipment.setPaymentType(paymentType);
 
-                equipmentService.save(oldEquipment);
+                    equipmentService.save(equipment);
+                }
             }
             return R.ok("同步" + startTime + "至" + endTime + "的 equipment 信息成功");
         } else {

+ 111 - 0
src/main/java/com/szwl/controller/SyncOldJoinpayMchController.java

@@ -1,17 +1,24 @@
 package com.szwl.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.szwl.feign.bean.SyncOldFeign;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
+import com.szwl.model.entity.TAdmin;
 import com.szwl.model.entity.TJoinpayMch;
 import com.szwl.service.TJoinpayMchService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
 import java.util.Objects;
 
 @Slf4j
@@ -28,6 +35,110 @@ public class SyncOldJoinpayMchController {
         this.syncOldFeign = syncOldFeign;
     }
 
+    @ApiOperation(value = "同步某一时间段内的所有用户的汇聚支付信息")
+    @PostMapping("/syncAllJoinpayInTime")
+    public ResponseModel<?> syncAllJoinpayInTime(String startTime, String endTime) {
+        if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) {
+            List<TAdmin> oldAdminList = R.getDataIfSuccess(syncOldFeign.getAdminInTime(startTime, endTime));
+            for (TAdmin oldAdmin : oldAdminList) {
+                Long adminId = oldAdmin.getId();
+                TJoinpayMch oldJoinpayMch = R.getDataIfSuccess(syncOldFeign.getJoinpayMchByAdminId(adminId));
+                if (Objects.nonNull(oldJoinpayMch)) {
+                    // 查看新系统有没有这个汇聚信息
+                    LambdaQueryWrapper<TJoinpayMch> lqw = Wrappers.lambdaQuery();
+                    lqw.eq(TJoinpayMch::getAdminId, adminId);
+                    TJoinpayMch isNewJoinpay = joinpayMchService.getOne(lqw);
+                    if (Objects.isNull(isNewJoinpay)) {
+                        // 新系统没有这个用户的汇聚信息
+                        Date createDate = oldJoinpayMch.getCreateDate();
+                        Date modifyDate = oldJoinpayMch.getModifyDate();
+//                    Long adminId1 = oldJoinpayMch.getAdminId();
+                        BigDecimal altAvilBalance = oldJoinpayMch.getAltAvilBalance();
+                        BigDecimal altGuarBalance = oldJoinpayMch.getAltGuarBalance();
+                        BigDecimal altMainBalance = oldJoinpayMch.getAltMainBalance();
+                        String altMchName = oldJoinpayMch.getAltMchName();
+                        String altMchNo = oldJoinpayMch.getAltMchNo();
+                        String altMchShortName = oldJoinpayMch.getAltMchShortName();
+                        Integer altMerchantType = oldJoinpayMch.getAltMerchantType();
+                        String bankAccountName = oldJoinpayMch.getBankAccountName();
+                        String bankAccountNo = oldJoinpayMch.getBankAccountNo();
+                        Integer bankAccountType = oldJoinpayMch.getBankAccountType();
+                        String bankChannelNo = oldJoinpayMch.getBankChannelNo();
+                        String bizCode = oldJoinpayMch.getBizCode();
+                        String busiContactMobileNo = oldJoinpayMch.getBusiContactMobileNo();
+                        String busiContactName = oldJoinpayMch.getBusiContactName();
+                        String idCardExpiry = oldJoinpayMch.getIdCardExpiry();
+                        String idCardNo = oldJoinpayMch.getIdCardNo();
+                        String legalPerson = oldJoinpayMch.getLegalPerson();
+                        String licenseExpiry = oldJoinpayMch.getLicenseExpiry();
+                        String licenseNo = oldJoinpayMch.getLicenseNo();
+                        String loginName = oldJoinpayMch.getLoginName();
+                        String manageAddr = oldJoinpayMch.getManageAddr();
+                        String manageScope = oldJoinpayMch.getManageScope();
+                        String orderStatus = oldJoinpayMch.getOrderStatus();
+                        String phoneNo = oldJoinpayMch.getPhoneNo();
+                        String respCode = oldJoinpayMch.getRespCode();
+                        Integer riskDay = oldJoinpayMch.getRiskDay();
+                        Integer settDateType = oldJoinpayMch.getSettDateType();
+                        Integer settMode = oldJoinpayMch.getSettMode();
+                        String status = oldJoinpayMch.getStatus();
+                        String signStatus = oldJoinpayMch.getSignStatus();
+                        String signTrxNo = oldJoinpayMch.getSignTrxNo();
+                        String approveNote = oldJoinpayMch.getApproveNote();
+                        String approveStatus = oldJoinpayMch.getApproveStatus();
+                        String type = oldJoinpayMch.getType();
+                        String step = oldJoinpayMch.getStep();
+
+                        TJoinpayMch newJoinPay = new TJoinpayMch();
+                        newJoinPay.setCreateDate(createDate);
+                        newJoinPay.setModifyDate(modifyDate);
+                        newJoinPay.setAdminId(adminId);
+                        newJoinPay.setAltAvilBalance(altAvilBalance);
+                        newJoinPay.setAltGuarBalance(altGuarBalance);
+                        newJoinPay.setAltMainBalance(altMainBalance);
+                        newJoinPay.setAltMchName(altMchName);
+                        newJoinPay.setAltMchNo(altMchNo);
+                        newJoinPay.setAltMchShortName(altMchShortName);
+                        newJoinPay.setAltMerchantType(altMerchantType);
+                        newJoinPay.setBankAccountName(bankAccountName);
+                        newJoinPay.setBankAccountNo(bankAccountNo);
+                        newJoinPay.setBankAccountType(bankAccountType);
+                        newJoinPay.setBankChannelNo(bankChannelNo);
+                        newJoinPay.setBizCode(bizCode);
+                        newJoinPay.setBusiContactMobileNo(busiContactMobileNo);
+                        newJoinPay.setBusiContactName(busiContactName);
+                        newJoinPay.setIdCardExpiry(idCardExpiry);
+                        newJoinPay.setIdCardNo(idCardNo);
+                        newJoinPay.setLegalPerson(legalPerson);
+                        newJoinPay.setLicenseExpiry(licenseExpiry);
+                        newJoinPay.setLicenseNo(licenseNo);
+                        newJoinPay.setLoginName(loginName);
+                        newJoinPay.setManageAddr(manageAddr);
+                        newJoinPay.setManageScope(manageScope);
+                        newJoinPay.setOrderStatus(orderStatus);
+                        newJoinPay.setPhoneNo(phoneNo);
+                        newJoinPay.setRespCode(respCode);
+                        newJoinPay.setRiskDay(riskDay);
+                        newJoinPay.setSettDateType(settDateType);
+                        newJoinPay.setSettMode(settMode);
+                        newJoinPay.setStatus(status);
+                        newJoinPay.setSignStatus(signStatus);
+                        newJoinPay.setSignTrxNo(signTrxNo);
+                        newJoinPay.setApproveNote(approveNote);
+                        newJoinPay.setApproveStatus(approveStatus);
+                        newJoinPay.setType(type);
+                        newJoinPay.setStep(step);
+                        joinpayMchService.save(newJoinPay);
+                    }
+                }
+            }
+            return R.ok("同步" + startTime + "至" + endTime + "的汇聚支付信息成功");
+        } else {
+            return R.fail("参数不能为空");
+        }
+
+    }
+
     @ApiOperation(value = "根据用户id同步汇聚支付信息")
     @PostMapping("/syncJoinpayMchByAdminId")
     public ResponseModel<?> syncJoinpayMchByAdminId(Long adminId) {

+ 73 - 13
src/main/java/com/szwl/controller/SyncOldProductController.java

@@ -14,11 +14,12 @@ import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.omg.CORBA.Object;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -40,25 +41,84 @@ public class SyncOldProductController {
         this.syncOldFeign = syncOldFeign;
     }
 
+    @ApiOperation(value = "同步旧系统所有设备的花型数据")
+    @PostMapping("/syncAllProductInTime")
+    public ResponseModel<?> syncAllProductInTime(String startTime, String endTime) {
+        if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
+            return R.fail("参数为空");
+        }
+        // 获取时间段内的设备
+        List<TEquipment> oldEquipmentList = R.getDataIfSuccess(syncOldFeign.getEquipmentInTime(startTime, endTime));
+
+        for (TEquipment oldEquipment : oldEquipmentList) {
+            // 看着台设备的花型数据是否存在新系统
+            Long id = oldEquipment.getId();
+            LambdaQueryWrapper<TProduct> lqw = Wrappers.lambdaQuery();
+            lqw.eq(TProduct::getEquipmentId, id);
+            List<TProduct> isNewProductList = productService.list(lqw);
+            if (isNewProductList.isEmpty()) {
+                // 根据设备获取花型数据
+                String equipmentId = String.valueOf(oldEquipment.getId());
+                List<TProduct> oldProductList = R.getDataIfSuccess(syncOldFeign.getProductByEquipmentId(equipmentId));
+                for (TProduct oldProduct : oldProductList) {
+                    Date createDate = oldProduct.getCreateDate();
+                    Date modifyDate = oldProduct.getModifyDate();
+                    BigDecimal codePrice = oldProduct.getCodePrice();
+                    Long equipmentId1 = oldProduct.getEquipmentId();
+                    String name = oldProduct.getName();
+                    String productName = oldProduct.getProductName();
+                    BigDecimal rmbPrice = oldProduct.getRmbPrice();
+                    Boolean sellStatus = oldProduct.getSellStatus();
+                    String showType = oldProduct.getShowType();
+                    String no = oldProduct.getNo();
+
+                    TProduct newProduct = new TProduct();
+                    newProduct.setCreateDate(createDate);
+                    newProduct.setModifyDate(modifyDate);
+                    newProduct.setCodePrice(codePrice);
+                    newProduct.setEquipmentId(equipmentId1);
+                    newProduct.setName(name);
+                    newProduct.setProductName(productName);
+                    newProduct.setRmbPrice(rmbPrice);
+                    newProduct.setSellStatus(sellStatus);
+                    newProduct.setShowType(showType);
+                    newProduct.setNo(no);
+
+                    productService.save(newProduct);
+
+                }
+//                productService.saveOrUpdateBatch(oldProductList);
+//                productService.saveBatch(oldProductList);
+            }
+        }
+
+        return R.ok("同步设备" + startTime + "至" + endTime + "期间所有的花型数据成功");
+    }
 
     @ApiOperation(value = "同步花型数据")
     @PostMapping("/syncProductByEquipmentId")
-    public ResponseModel<?> syncProductByEquipmentId(String equipmentId) {
-        if (StringUtils.isEmpty(equipmentId)) {
+    public ResponseModel<?> syncProductByEquipmentId(String clientId) {
+        if (StringUtils.isEmpty(clientId)) {
             return R.fail("参数不能为空");
         }
 
-        LambdaQueryWrapper<TProduct> wrapper = Wrappers.lambdaQuery();
-        wrapper.eq(TProduct::getEquipmentId, equipmentId);
-        TProduct product = productService.getOne(wrapper);
-        if (Objects.isNull(product)) {
-            List<TProduct> productList = R.getDataIfSuccess(syncOldFeign.getProductByEquipmentId(equipmentId));
+        LambdaQueryWrapper<TEquipment> lqw = Wrappers.lambdaQuery();
+        lqw.eq(TEquipment::getClientId,clientId);
+        TEquipment equipment = equipmentService.getOne(lqw);
+        String equipmentId = String.valueOf(equipment.getId());
+
+//        LambdaQueryWrapper<TProduct> wrapper = Wrappers.lambdaQuery();
+//        wrapper.eq(TProduct::getEquipmentId, equipmentId);
+//        List<TProduct> productList = productService.list(wrapper);
+//        if (Objects.isNull(productList)) {
+            List<TProduct> oldProductList = R.getDataIfSuccess(syncOldFeign.getProductByEquipmentId(equipmentId));
 //            TProduct newProduct = new TProduct();
-            productService.saveBatch(productList);
-            return R.ok("同步" + equipmentId + "的花型数据成功");
-        } else {
-            return R.fail("花型数据已存在");
-        }
+//            productService.saveBatch(oldProductList);
+            productService.saveOrUpdateBatch(oldProductList);
+            return R.ok("同步设备" + equipmentId + "的花型数据成功");
+//        } else {
+//            return R.fail("花型数据已存在");
+//        }
     }
 
 }

+ 23 - 1
src/main/java/com/szwl/controller/SyncOldProportionController.java

@@ -5,15 +5,19 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.szwl.feign.bean.SyncOldFeign;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
+import com.szwl.model.entity.TAdmin;
+import com.szwl.model.entity.TJoinpayMch;
 import com.szwl.model.entity.TProportion;
 import com.szwl.service.TProportionService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
 import java.util.Objects;
 
 @Slf4j
@@ -31,6 +35,24 @@ public class SyncOldProportionController {
         this.proportionService = proportionService;
     }
 
+    @ApiOperation(value = "同步时间范围内的所有分销信息")
+    @PostMapping("/syncAllProportionInTime")
+    public ResponseModel<?> syncAllProportionInTime(String startTime, String endTime) {
+        if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
+            return R.fail("参数为空");
+        }
+        // 获取所有用户
+        List<TAdmin> oldAdminList = R.getDataIfSuccess(syncOldFeign.getAdminInTime(startTime, endTime));
+        for (TAdmin oldAdmin : oldAdminList) {
+            Long adminId = oldAdmin.getId();
+            // 根据用户同步分销
+            TProportion proportion = R.getDataIfSuccess(syncOldFeign.getProportionByAdminId(adminId));
+            if (Objects.nonNull(proportion)) {
+                proportionService.saveOrUpdate(proportion);
+            }
+        }
+        return R.ok("同步" + startTime + "至" + endTime + "时间范围内分销信息成功");
+    }
 
     @ApiOperation(value = "根据用户id同步分销信息")
     @PostMapping("/syncProportionByAdminId")
@@ -41,7 +63,7 @@ public class SyncOldProportionController {
 
         TProportion proportion = R.getDataIfSuccess(syncOldFeign.getProportionByAdminId(adminId));
         if (Objects.nonNull(proportion)) {
-            proportionService.save(proportion);
+            proportionService.saveOrUpdate(proportion);
         }
         return R.ok("同步用户" + adminId + "分销信息成功");
     }

+ 21 - 3
src/main/java/com/szwl/controller/TAdminController.java

@@ -84,6 +84,24 @@ public class TAdminController {
 
     private static final Logger logger = LoggerFactory.getLogger(TAdminController.class);
 
+    @ApiOperation(value = "通过username查看用户的id和ifForeign")
+    @GetMapping("/getIdIfForeign")
+    public ResponseModel<TAdmin> getIdIfForeign(@RequestParam String username) {
+        if (StringUtils.isEmpty(username)) {
+            return R.fail("username为空");
+        }
+        LambdaQueryWrapper<TAdmin> lqw = Wrappers.lambdaQuery();
+        lqw.eq(TAdmin::getUsername, username);
+        List<TAdmin> list = tAdminService.list(lqw);
+        if (list.isEmpty()) {
+            return R.fail("username有误");
+        } else if (list.size() > 1) {
+            return R.fail("username不唯一");
+        } else {
+            return R.ok(list.get(0));
+        }
+    }
+
 
     @ApiOperation(value = "获取账户类型")
     @GetMapping("/getAdminType")
@@ -102,7 +120,7 @@ public class TAdminController {
     @ApiOperation(value = "判断是否海外用户")
     @GetMapping("/getIfForeign/{adminId}")
     public ResponseModel<?> getIfForeign(@PathVariable Long adminId) {
-        if (adminId != null){
+        if (adminId != null) {
             LambdaQueryWrapper<TAdmin> wrapper = Wrappers.lambdaQuery();
             wrapper.eq(TAdmin::getId, adminId);
             TAdmin one = tAdminService.getOne(wrapper);
@@ -981,7 +999,7 @@ public class TAdminController {
         if (adminId == 2739) {
             updateWrapper.eq("company_type", 1);
         }
-        updateWrapper.set("pay_platform",payPlatform);
+        updateWrapper.set("pay_platform", payPlatform);
         tAdminService.update(null, updateWrapper);
         return R.ok();
     }
@@ -1006,7 +1024,7 @@ public class TAdminController {
             boolean save = sysUserRoleService.save(sysUserRole);
             return R.ok("success");
         }
-        return R.fail(ResponseCodesEnum.A0001,"fail");
+        return R.fail(ResponseCodesEnum.A0001, "fail");
     }
 }
 

+ 18 - 0
src/main/java/com/szwl/controller/TEquipmentController.java

@@ -99,6 +99,24 @@ public class TEquipmentController {
     // 超时时间为30秒
     private static final int TIMEOUT = 30000;
 
+    @ApiOperation(value = "设备是否存在")
+    @GetMapping("/getEquipmentBool")
+    public ResponseModel<Boolean> getEquipmentBool(String clientId) {
+        if (StringUtils.isEmpty(clientId)) {
+            return R.fail("clientId参数不能为空");
+        }
+        LambdaQueryWrapper<TEquipment> lqw = Wrappers.lambdaQuery();
+        lqw.eq(TEquipment::getClientId, clientId);
+        List<TEquipment> equipmentList = tEquipmentService.list(lqw);
+        if (equipmentList.isEmpty()) {
+            return R.fail("设备clientId不存在");
+        } else if (equipmentList.size() > 1) {
+            return R.fail("设备clientId不唯一");
+        } else {
+            return R.ok(true);
+        }
+    }
+
     /**
      * @param adminName     商户的登录名
      * @param equipmentName 机器名称

+ 3 - 0
src/main/java/com/szwl/service/TAdminService.java

@@ -1,6 +1,7 @@
 package com.szwl.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.bo.UserDetailBO;
 import com.szwl.model.entity.TAdmin;
 import com.szwl.model.query.TAdminParam;
@@ -22,4 +23,6 @@ public interface TAdminService extends MyIService<TAdmin> {
     IPage<TAdmin> pageByXml(IPage page, TAdminParam param);
 
     UserDetailBO getUserDetailBO(TAdmin tAdmin);
+
+    String addSysRole(Long adminId);
 }

+ 3 - 0
src/main/java/com/szwl/service/TEquipmentService.java

@@ -4,6 +4,8 @@ import com.szwl.model.entity.TEquipment;
 import com.szwl.model.query.StatisticsParam;
 import com.szwl.service.base.MyIService;
 
+import java.util.Optional;
+
 /**
  * <p>
  *  服务类
@@ -22,4 +24,5 @@ public interface TEquipmentService extends MyIService<TEquipment> {
 
     public String findMachineUseNum(StatisticsParam param);
 
+    Optional<String> syncOneEquipmentByClientId(String clientId);
 }

+ 31 - 0
src/main/java/com/szwl/service/impl/TAdminServiceImpl.java

@@ -8,7 +8,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.szwl.manager.TokenManager;
 import com.szwl.model.bo.R;
+import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.bo.UserDetailBO;
+import com.szwl.model.entity.SysRole;
+import com.szwl.model.entity.SysUserRole;
 import com.szwl.model.entity.TAdmin;
 import com.szwl.mapper.TAdminMapper;
 import com.szwl.model.entity.TArea;
@@ -75,4 +78,32 @@ public class TAdminServiceImpl extends ServiceImpl<TAdminMapper, TAdmin> impleme
         return userDetailBO;
     }
 
+    @Override
+    public String addSysRole(Long adminId) {
+        if (adminId == null) {
+            return "参数为空";
+        }
+        // 查询该 adminId 有没有权限
+        LambdaQueryWrapper<SysRole> lqw = Wrappers.lambdaQuery();
+        lqw.eq(SysRole::getAdminId, adminId);
+        List<SysRole> sysRoleList = sysRoleService.list(lqw);
+        if (sysRoleList.size() == 0) {
+            LambdaQueryWrapper<SysRole> wrapper = Wrappers.lambdaQuery();
+            wrapper.eq(SysRole::getAdminId, "1");
+            wrapper.eq(SysRole::getRoleName, "商家");
+            SysRole template = sysRoleService.getOne(wrapper);
+            SysRole role = new SysRole();
+            role.setAdminId(adminId);
+            role.setMenuCodesJson(template.getMenuCodesJson());
+            role.setRoleName("商家");
+            sysRoleService.save(role);
+
+            SysUserRole sysUserRole = new SysUserRole();
+            sysUserRole.setRoleId(role.getRoleId());
+            sysUserRole.setUserId(String.valueOf(adminId));
+            sysUserRoleService.save(sysUserRole);
+        }
+        return "success";
+    }
+
 }

+ 148 - 0
src/main/java/com/szwl/service/impl/TEquipmentServiceImpl.java

@@ -2,6 +2,8 @@ package com.szwl.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.szwl.feign.bean.SyncOldFeign;
+import com.szwl.model.bo.R;
 import com.szwl.model.entity.TEquipment;
 import com.szwl.mapper.TEquipmentMapper;
 import com.szwl.model.query.StatisticsParam;
@@ -14,7 +16,10 @@ import org.springframework.amqp.core.MessageProperties;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * <p>
@@ -30,6 +35,11 @@ public class TEquipmentServiceImpl extends ServiceImpl<TEquipmentMapper, TEquipm
     private AmqpTemplate amqpTemplate;
     @Autowired
     TEquipmentMapper tEquipmentMapper;
+    @Resource
+    SyncOldFeign syncOldFeign;
+    @Resource
+    TEquipmentService equipmentService;
+
     @Override
     public String sentMessage(String clientId, String json) {
         LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
@@ -69,6 +79,144 @@ public class TEquipmentServiceImpl extends ServiceImpl<TEquipmentMapper, TEquipm
         return tEquipmentMapper.findMachineUseNum(param);
     }
 
+    @Override
+    public Optional<String> syncOneEquipmentByClientId(String clientId) {
+        if (StringUtils.isNotEmpty(clientId)) {
+            TEquipment oldEquipment = R.getDataIfSuccess(syncOldFeign.getEquipmentByClientId(clientId));
+
+            Long id = oldEquipment.getId();
+            Date createDate = oldEquipment.getCreateDate();
+            Date modifyDate = oldEquipment.getModifyDate();
+            Long adminId = oldEquipment.getAdminId();
+            String adminLevel = oldEquipment.getAdminLevel();
+            String adminPwd = oldEquipment.getAdminPwd();
+            Long areaId = oldEquipment.getAreaId();
+            String cabinetHd = oldEquipment.getCabinetHd();
+            String cabinetTm = oldEquipment.getCabinetTm();
+//            String clientId = oldEquipment.getClientId();
+            String contactName = oldEquipment.getContactName();
+            String contactPhone = oldEquipment.getContactPhone();
+            String operationalPhone = oldEquipment.getOperationalPhone();
+            String operationalName = oldEquipment.getOperationalName();
+            String furnaceSp = oldEquipment.getFurnaceSp();
+            String furnaceTm = oldEquipment.getFurnaceTm();
+            String guestPwd = oldEquipment.getGuestPwd();
+            Boolean isNetWork = oldEquipment.getIsNetWork();
+            Boolean isUsing = oldEquipment.getIsUsing();
+            Date lastUpdateTime = oldEquipment.getLastUpdateTime();
+            Double latitude = oldEquipment.getLatitude();
+            Double longitude = oldEquipment.getLongitude();
+            String managerId = oldEquipment.getManagerId();
+            String selfName = oldEquipment.getSelfName();
+            String channel = oldEquipment.getChannel();
+            String name = oldEquipment.getName();
+            String netWorkingMode = oldEquipment.getNetWorkingMode();
+            String operator = oldEquipment.getOperator();
+            Integer payType = oldEquipment.getPayType();
+            Integer productTotal = oldEquipment.getProductTotal();
+            String simNo = oldEquipment.getSimNo();
+            String sn = oldEquipment.getSn();
+            String adminUserName = oldEquipment.getAdminUserName();
+            Long agencyId = oldEquipment.getAgencyId();
+            Long merchantId = oldEquipment.getMerchantId();
+            String companyPhone = oldEquipment.getCompanyPhone();
+            Long personageId = oldEquipment.getPersonageId();
+            Integer type = oldEquipment.getType();
+            String fullName = oldEquipment.getFullName();
+            Date pushUpdateTime = oldEquipment.getPushUpdateTime();
+            Long timeRuleId = oldEquipment.getTimeRuleId();
+            String gtClientId = oldEquipment.getGtClientId();
+            Integer eqeStatus = oldEquipment.getEqeStatus();
+            Boolean isBlocked = oldEquipment.getIsBlocked();
+            String messageReceiver = oldEquipment.getMessageReceiver();
+            Boolean isSleep = oldEquipment.getIsSleep();
+            String advancedParameters = oldEquipment.getAdvancedParameters();
+            String volume = oldEquipment.getVolume();
+            String commonParameters = oldEquipment.getCommonParameters();
+            String network = oldEquipment.getNetwork();
+            String offTime = oldEquipment.getOffTime();
+            String bootTime = oldEquipment.getBootTime();
+            String plcVersion = oldEquipment.getPlcVersion();
+            String equipmentType = oldEquipment.getEquimentType();
+            Date endDate = oldEquipment.getEndDate();
+            String flowers = oldEquipment.getFlowers();
+            String machineType = oldEquipment.getMachineType();
+//                String apkVersion = oldEquipment.getApkVersion(); // 旧系统没有
+//                String couponStatus = oldEquipment.getCouponStatus(); // 旧系统没有
+            String paymentType = oldEquipment.getPaymentType();
+            String companyType = oldEquipment.getCompanyType();
+
+            TEquipment equipment = new TEquipment();
+            equipment.setId(id);
+            equipment.setCreateDate(createDate);
+            equipment.setModifyDate(modifyDate);
+            equipment.setAdminId(adminId);
+            equipment.setAdminLevel(adminLevel);
+            equipment.setAdminPwd(adminPwd);
+            equipment.setAreaId(areaId);
+            equipment.setCabinetHd(cabinetHd);
+            equipment.setCabinetTm(cabinetTm);
+            equipment.setClientId(clientId);
+            equipment.setContactName(contactName);
+            equipment.setContactPhone(contactPhone);
+            equipment.setOperationalPhone(operationalPhone);
+            equipment.setOperationalName(operationalName);
+            equipment.setFurnaceSp(furnaceSp);
+            equipment.setFurnaceTm(furnaceTm);
+            equipment.setGuestPwd(guestPwd);
+            equipment.setIsNetWork(isNetWork);
+            equipment.setIsUsing(isUsing);
+            equipment.setLastUpdateTime(lastUpdateTime);
+            equipment.setLatitude(latitude);
+            equipment.setLongitude(longitude);
+            equipment.setManagerId(managerId);
+            equipment.setSelfName(selfName);
+            equipment.setChannel(channel);
+            equipment.setName(name);
+            equipment.setNetWorkingMode(netWorkingMode);
+            equipment.setOperator(operator);
+            equipment.setPayType(payType);
+            equipment.setProductTotal(productTotal);
+            equipment.setSimNo(simNo);
+            equipment.setSn(sn);
+            equipment.setAdminUserName(adminUserName);
+            equipment.setAgencyId(agencyId);
+            equipment.setMerchantId(merchantId);
+            equipment.setCompanyPhone(companyPhone);
+            equipment.setPersonageId(personageId);
+            equipment.setType(type);
+            equipment.setFullName(fullName);
+            equipment.setPushUpdateTime(pushUpdateTime);
+            equipment.setTimeRuleId(timeRuleId);
+            equipment.setGtClientId(gtClientId);
+            equipment.setEqeStatus(eqeStatus);
+            equipment.setIsBlocked(isBlocked);
+            equipment.setMessageReceiver(messageReceiver);
+            equipment.setIsSleep(isSleep);
+            equipment.setAdvancedParameters(advancedParameters);
+            equipment.setVolume(volume);
+            equipment.setCommonParameters(commonParameters);
+            equipment.setNetwork(network);
+            equipment.setOffTime(offTime);
+            equipment.setBootTime(bootTime);
+            equipment.setPlcVersion(plcVersion);
+            equipment.setEquimentType(equipmentType);
+            equipment.setEndDate(endDate);
+            equipment.setFlowers(flowers);
+            equipment.setMachineType(machineType);
+//                equipment.setApkVersion();
+//                equipment.setCouponStatus();
+            equipment.setCompanyType(companyType);
+            equipment.setPaymentType(paymentType);
+
+            equipmentService.save(equipment);
+
+            return Optional.of("success");
+        } else {
+            return Optional.empty();
+        }
+    }
+
 //    @Override
 //    public Integer insertBatchSomeColumn(List<TEquipment> entityList) {
 //        return tEquipmentMapper.insertBatchSomeColumn(entityList);

+ 0 - 1
src/test/java/com/szwl/ApplicationTests.java

@@ -7,5 +7,4 @@ import org.springframework.boot.test.context.SpringBootTest;
 @SpringBootTest
 class ApplicationTests {
 
-
 }