diff --git a/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cStaffController.java b/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cStaffController.java index f30e843..5f52124 100644 --- a/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cStaffController.java +++ b/emis-oms-biz-web/src/main/java/com/xdadan/erp/oms/web/Oms2cStaffController.java @@ -82,41 +82,86 @@ public class Oms2cStaffController extends BaseController return AjaxResult.error("手机号不能为空"); } - if (StringUtils.isNotEmpty(user.getPhone()) - && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) - { - return AjaxResult.error("新增子账户失败,手机号码已存在"); - } - - String monthPayCode=user.getMonthlyPayCode(); - + // 判断当前用户是否允许添加子账号 + SysOmsUser currentUser = SecurityUtils.getLoginUser().getUser(); + String monthPayCode=currentUser.getMonthlyPayCode(); if(StringUtils.isEmpty(monthPayCode)){ - return AjaxResult.error("非月结主账号不允许添加子账号"); + return AjaxResult.error("非主账号不允许添加子账号"); } - user.setCustomerName(user.getNickName()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - // 父账号 - user.setMainUserId(SecurityUtils.getLoginUser().getUser().getId()); + if(currentUser.getPhone().equals(user.getPhone())){ + return AjaxResult.error("该手机号和当前登录手机号相同,可直接使用手机号登录"); + } - userService.insertSysOmsUserByPhone(user); - // 关联子账号月结账号 + SysOmsUser oldSysOmsUser=userService.selectUserByPhoneNumber(user.getPhone()); - // 生成流水号 - String applySeqNo = DBUtil.getSeqNoByLen(8); + if(oldSysOmsUser!=null){ + + if(oldSysOmsUser.getMainUserId()!=null ) { + if ( oldSysOmsUser.getMainUserId() != currentUser.getId()) { + return AjaxResult.error("该手机号已存在子账号"); + } + } + + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + user.setMainUserId(SecurityUtils.getLoginUser().getUser().getId()); + user.setBlOpenOms("1"); + userService.updateSysOmsUser(user); + + // 已绑定无需再绑定 + EmisMonthpayUseApply applayQuery=new EmisMonthpayUseApply(); + applayQuery.setCustomerCode(oldSysOmsUser.getCustomerCode()); + applayQuery.setCustNo(monthPayCode); + List listSend=emisMonthpayUseApplyService.selectEmisMonthpayUseApplyList(applayQuery); + if(CollectionUtil.isEmpty(listSend)) { + // 生成流水号 + String applySeqNo = DBUtil.getSeqNoByLen(8); + EmisMonthpayUseApply emisMonthpayUseApply = new EmisMonthpayUseApply(); + emisMonthpayUseApply.setCustomerCode(oldSysOmsUser.getCustomerCode()); + emisMonthpayUseApply.setCustNo(monthPayCode); + emisMonthpayUseApply.setApplySeq(applySeqNo); + emisMonthpayUseApply.setApplyName("子账号直接绑定月结账号"); + emisMonthpayUseApply.setMsgCode("1234"); + emisMonthpayUseApply.setApplyDate(new Date()); + emisMonthpayUseApply.setAuditStatus(1); + emisMonthpayUseApplyService.insertEmisMonthpayUseApply(emisMonthpayUseApply); + } + } + else{ + + user.setCustomerName(user.getNickName()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + + // 父账号 + user.setMainUserId(SecurityUtils.getLoginUser().getUser().getId()); + userService.insertSysOmsUserByPhone(user); + + // 生成流水号 + String applySeqNo = DBUtil.getSeqNoByLen(8); + + EmisMonthpayUseApply emisMonthpayUseApply = new EmisMonthpayUseApply(); + emisMonthpayUseApply.setCustomerCode(user.getCustomerCode()); + emisMonthpayUseApply.setCustNo(monthPayCode); + emisMonthpayUseApply.setApplySeq(applySeqNo); + emisMonthpayUseApply.setApplyName("新增子账号绑定月结账号"); + emisMonthpayUseApply.setMsgCode("1234"); + emisMonthpayUseApply.setApplyDate(new Date()); + emisMonthpayUseApply.setAuditStatus(1); + emisMonthpayUseApplyService.insertEmisMonthpayUseApply(emisMonthpayUseApply); + + } - EmisMonthpayUseApply emisMonthpayUseApply = new EmisMonthpayUseApply(); - emisMonthpayUseApply.setCustomerCode(getLoginUser().getUser().getCustomerCode()); - emisMonthpayUseApply.setCustNo(monthPayCode); - emisMonthpayUseApply.setApplySeq(applySeqNo); - emisMonthpayUseApply.setApplyName("子账号直接绑定月结账号"); - emisMonthpayUseApply.setMsgCode("1234"); - emisMonthpayUseApply.setApplyDate(new Date()); - emisMonthpayUseApply.setAuditStatus(0); - emisMonthpayUseApplyService.insertEmisMonthpayUseApply(emisMonthpayUseApply); return AjaxResult.success("添加子账号成功"); } + @Log(title = "OMS用户编辑", businessType = BusinessType.UPDATE) + @PostMapping("/editOmsUser") + public AjaxResult editOmsUser(@Validated @RequestBody SysOmsUser user) + { + return toAjax(userService.updateSysOmsUser(user)); + } + + }