|  |  |  | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.data.redis.core.RedisTemplate; | 
|---|
|  |  |  | import org.springframework.scheduling.annotation.Async; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private UsersMapper usersMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private IamRoleMapper iamRoleMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ShopMapper shopMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CategorySegMapper categorySegMapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | private IamInterfaceLogMapper iamInterfaceLogMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SegmentsMapper segmentsMapper; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 是否开发者 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Value("${debug_model}") | 
|---|
|  |  |  | private Boolean isDebug; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 初始化同步用户 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public void updateShopInfo(String token, String uuid, String timestamp, List<IamUpateShopModel> shopList) { | 
|---|
|  |  |  | public void updateRoleInfo(String token, String uuid, String timestamp, IamUpdateRoleModel upateModel){ | 
|---|
|  |  |  | if(upateModel == null ||StringUtils.isBlank(upateModel.getId()) ){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | isValidToken(uuid,timestamp,token); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IamRole role = iamRoleMapper.selectOne(new QueryWrapper<IamRole>().lambda() | 
|---|
|  |  |  | .eq(IamRole::getIamId,upateModel.getId()) | 
|---|
|  |  |  | .eq(IamRole::getIsdeleted,Constants.ZERO) | 
|---|
|  |  |  | .last("limit 1")); | 
|---|
|  |  |  | if(role == null){ | 
|---|
|  |  |  | role = new IamRole(); | 
|---|
|  |  |  | role.setCreateDate(new Date()); | 
|---|
|  |  |  | iamRoleMapper.insert(initRoleInfo(role,upateModel)); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | role.setEditDate(new Date()); | 
|---|
|  |  |  | iamRoleMapper.updateById(initRoleInfo(role,upateModel)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private IamRole initRoleInfo(IamRole role, IamUpdateRoleModel upateModel) { | 
|---|
|  |  |  | role.setEditDate(new Date()); | 
|---|
|  |  |  | role.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | role.setIamId(upateModel.getId()); | 
|---|
|  |  |  | role.setAppId(upateModel.getAppId()); | 
|---|
|  |  |  | role.setName(upateModel.getName()); | 
|---|
|  |  |  | role.setEid(upateModel.getEid()); | 
|---|
|  |  |  | role.setCode(upateModel.getCode()); | 
|---|
|  |  |  | role.setStatus(upateModel.getStatus()); | 
|---|
|  |  |  | role.setRegister(upateModel.getRegister()); | 
|---|
|  |  |  | role.setSyncDate(role.getEditDate()); | 
|---|
|  |  |  | role.setType(upateModel.getType()); | 
|---|
|  |  |  | role.setRemark(upateModel.getRemark()); | 
|---|
|  |  |  | role.setLabels(upateModel.getLabel()); | 
|---|
|  |  |  | role.setCustomUnique(upateModel.getCustomUnique()); | 
|---|
|  |  |  | return role; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public void updateShopInfo(String token, String uuid, String timestamp, List<IamUpdateShopModel> shopList) { | 
|---|
|  |  |  | if(shopList == null ||shopList.size() == 0){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | List<CategorySeg> categorySegList = new ArrayList<>(); | 
|---|
|  |  |  | List<Segments> segmentsList = new ArrayList<>(); | 
|---|
|  |  |  | Date date  = new Date(); | 
|---|
|  |  |  | for(IamUpateShopModel model : shopList){ | 
|---|
|  |  |  | for(IamUpdateShopModel model : shopList){ | 
|---|
|  |  |  | Shop shop = shopMapper.selectOne(new QueryWrapper<Shop>().lambda() | 
|---|
|  |  |  | .eq(Shop::getOrgId,model.getIdtOrgId()) | 
|---|
|  |  |  | .last("limit 1")); | 
|---|
|  |  |  | if(shop == null){ | 
|---|
|  |  |  | shop = new Shop(); | 
|---|
|  |  |  | shop.setCreateDate(date); | 
|---|
|  |  |  | addShops.add(initShopInfo(shop,model,date)); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | segDelOrgIds.add(shop.getOrgId()); | 
|---|
|  |  |  | updateShops.add(shop); | 
|---|
|  |  |  | segDelOrgIds.add(shop.getCode()); | 
|---|
|  |  |  | updateShops.add(initShopInfo(shop,model,date)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //处理品类数据逻辑 | 
|---|
|  |  |  | dealCategorySegData(date,shop,model.getCategory(),categorySegList,segmentsList); | 
|---|
|  |  |  | 
|---|
|  |  |  | data.setCreateDate(date); | 
|---|
|  |  |  | data.setEditDate(date); | 
|---|
|  |  |  | data.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | data.setOrgId(shop.getOrgId()); | 
|---|
|  |  |  | data.setOrgId(shop.getCode()); | 
|---|
|  |  |  | data.setSegId(model.getSegment1()); | 
|---|
|  |  |  | data.setSegId2(model.getSegment2()); | 
|---|
|  |  |  | data.setSegId3(model.getSegment3()); | 
|---|
|  |  |  | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Shop initShopInfo(Shop shop, IamUpateShopModel model, Date date) { | 
|---|
|  |  |  | if(shop == null) { | 
|---|
|  |  |  | shop = new Shop(); | 
|---|
|  |  |  | shop.setCreateDate(date); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | private Shop initShopInfo(Shop shop, IamUpdateShopModel model, Date date) { | 
|---|
|  |  |  | shop.setEditDate(date); | 
|---|
|  |  |  | shop.setOrgId(model.getIdtOrgId()); | 
|---|
|  |  |  | shop.setName(model.getIdtOrgName()); | 
|---|
|  |  |  | shop.setCode(model.getIdtOrgCode()); | 
|---|
|  |  |  | shop.setType(model.getIdtOrgFirstLevelType()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | shop.setStatus(Constants.parseIntByStr(model.getIdtOrgStatus())); | 
|---|
|  |  |  | shop.setSecondType(model.getIdtOrgSecondLevelType()); | 
|---|
|  |  |  | shop.setAttribute(model.getIdtOrgAttribute()); | 
|---|
|  |  |  | if(model.getScode()!=null){ | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) | 
|---|
|  |  |  | public void updateUserInfo(String token, String uuid, String timestamp, IamUpateUserModel upateUserModel){ | 
|---|
|  |  |  | public void updateUserInfo(String token, String uuid, String timestamp, IamUpdateUserModel upateUserModel){ | 
|---|
|  |  |  | if(upateUserModel == null ||upateUserModel.getIdtUserId() == null){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Users initUserModel(Users users, IamUpateUserModel upateUserModel) { | 
|---|
|  |  |  | private Users initUserModel(Users users, IamUpdateUserModel upateUserModel) { | 
|---|
|  |  |  | if(users == null){ | 
|---|
|  |  |  | users = new Users(); | 
|---|
|  |  |  | users.setCreateDate(new Date()); | 
|---|
|  |  |  | 
|---|
|  |  |  | users.setEditDate(new Date()); | 
|---|
|  |  |  | users.setSex(upateUserModel.getIdtUserGender()); | 
|---|
|  |  |  | users.setIamUsername(upateUserModel.getAppAccountNo()); | 
|---|
|  |  |  | users.setCode(upateUserModel.getIdtUserWorkNo()); | 
|---|
|  |  |  | users.setName(upateUserModel.getIdtUserName()); | 
|---|
|  |  |  | users.setPassword(upateUserModel.getAppAccountPwd()); | 
|---|
|  |  |  | users.setPhone(upateUserModel.getIdtUserMobile()); | 
|---|
|  |  |  | 
|---|
|  |  |  | users.setStatus(upateUserModel.getAppAccountStatus()); | 
|---|
|  |  |  | users.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | users.setRemark(JSONObject.toJSONString(upateUserModel)); | 
|---|
|  |  |  | users.setRoleNames(null); | 
|---|
|  |  |  | users.setRoleCodes(null); | 
|---|
|  |  |  | users.setCardImg("-"); | 
|---|
|  |  |  | users.setRoleIds(null); | 
|---|
|  |  |  | users.setUserTypes(null); | 
|---|
|  |  |  | if( upateUserModel.getUserTypes() !=null){ | 
|---|
|  |  |  | for(IamUserTypeModel type : upateUserModel.getUserTypes()){ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(users.getUserTypes())){ | 
|---|
|  |  |  | if(StringUtils.isBlank(users.getUserTypes())){ | 
|---|
|  |  |  | users.setUserTypes(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | users.setUserTypes("["+users.getUserTypes()+type.getIdtUserTypeCode()+"];"); | 
|---|
|  |  |  | users.setUserTypes(users.getUserTypes()+"["+type.getIdtUserTypeCode()+"];"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if( upateUserModel.getRoles() !=null){ | 
|---|
|  |  |  | for(IamUserRoleModel t : upateUserModel.getRoles()){ | 
|---|
|  |  |  | if(StringUtils.isNotBlank(users.getRoleIds())){ | 
|---|
|  |  |  | if(StringUtils.isBlank(users.getRoleIds())){ | 
|---|
|  |  |  | users.setRoleIds(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotBlank(users.getRoleNames())){ | 
|---|
|  |  |  | if(StringUtils.isBlank(users.getRoleNames())){ | 
|---|
|  |  |  | users.setRoleNames(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | users.setRoleIds("["+users.getRoleIds()+t.getId()+"];"); | 
|---|
|  |  |  | users.setRoleNames("["+users.getRoleNames()+t.getName()+"];"); | 
|---|
|  |  |  | if(StringUtils.isBlank(users.getRoleCodes())){ | 
|---|
|  |  |  | users.setRoleCodes(""); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | users.setRoleIds(users.getRoleIds()+"["+t.getId()+"];"); | 
|---|
|  |  |  | users.setRoleNames(users.getRoleNames()+"["+t.getName()+"];"); | 
|---|
|  |  |  | users.setRoleCodes(users.getRoleCodes()+"["+t.getCode()+"];"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(upateUserModel.getJobs()!=null){ | 
|---|
|  |  |  | 
|---|
|  |  |  | Shop shop = shopMapper.selectOne(new QueryWrapper<Shop>().lambda() | 
|---|
|  |  |  | .eq(Shop::getOrgId,orgId) | 
|---|
|  |  |  | .last("limit 1")); | 
|---|
|  |  |  | users.setDepartmentId(shop.getId()); | 
|---|
|  |  |  | users.setDepartmentId(shop ==null?null:shop.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return  users; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public  String getToken(String uuid,String time) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Async | 
|---|
|  |  |  | public  void  saveInterfaceLog(String url,String name, String token, String uuid, String timestamp, Object obj,Integer success,String respone){ | 
|---|
|  |  |  | public  void  saveInterfaceLog(String url,int type,String name, String token, String uuid, String timestamp, Object obj,Integer success,String respone){ | 
|---|
|  |  |  | Map<String,Object> map = new HashMap<>(); | 
|---|
|  |  |  | map.put("token",token); | 
|---|
|  |  |  | map.put("uuid",uuid); | 
|---|
|  |  |  | 
|---|
|  |  |  | log.setName(name); | 
|---|
|  |  |  | log.setIsdeleted(Constants.ZERO); | 
|---|
|  |  |  | log.setRequest(JSONObject.toJSONString(map)); | 
|---|
|  |  |  | log.setType(Constants.ONE); | 
|---|
|  |  |  | log.setType(type); | 
|---|
|  |  |  | log.setSuccess(success); | 
|---|
|  |  |  | log.setRepose(respone); | 
|---|
|  |  |  | iamInterfaceLogMapper.insert(log); | 
|---|