| Line 1... |
Line 1... |
| 1 |
package com.spice.profitmandi.service.user;
|
1 |
package com.spice.profitmandi.service.user;
|
| 2 |
|
2 |
|
| 3 |
import java.nio.charset.StandardCharsets;
|
3 |
import java.nio.charset.StandardCharsets;
|
| 4 |
import java.time.LocalDateTime;
|
4 |
import java.time.LocalDateTime;
|
| 5 |
import java.util.ArrayList;
|
5 |
import java.util.ArrayList;
|
| - |
|
6 |
import java.util.Arrays;
|
| 6 |
import java.util.HashMap;
|
7 |
import java.util.HashMap;
|
| 7 |
import java.util.HashSet;
|
8 |
import java.util.HashSet;
|
| 8 |
import java.util.List;
|
9 |
import java.util.List;
|
| 9 |
import java.util.Map;
|
10 |
import java.util.Map;
|
| 10 |
import java.util.Set;
|
11 |
import java.util.Set;
|
| Line 69... |
Line 70... |
| 69 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
70 |
import com.spice.profitmandi.dao.repository.user.AddressRepository;
|
| 70 |
import com.spice.profitmandi.dao.repository.user.CartRepository;
|
71 |
import com.spice.profitmandi.dao.repository.user.CartRepository;
|
| 71 |
import com.spice.profitmandi.dao.repository.user.CounterRepository;
|
72 |
import com.spice.profitmandi.dao.repository.user.CounterRepository;
|
| 72 |
import com.spice.profitmandi.dao.repository.user.PrivateDealUserAddressMappingRepository;
|
73 |
import com.spice.profitmandi.dao.repository.user.PrivateDealUserAddressMappingRepository;
|
| 73 |
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
|
74 |
import com.spice.profitmandi.dao.repository.user.PrivateDealUserRepository;
|
| - |
|
75 |
import com.spice.profitmandi.service.offers.PartnerCriteria;
|
| 74 |
|
76 |
|
| 75 |
import in.shop2020.model.v1.inventory.StateInfo;
|
77 |
import in.shop2020.model.v1.inventory.StateInfo;
|
| 76 |
import in.shop2020.model.v1.user.CartStatus;
|
78 |
import in.shop2020.model.v1.user.CartStatus;
|
| 77 |
|
79 |
|
| 78 |
@Component
|
80 |
@Component
|
| Line 579... |
Line 581... |
| 579 |
address.setLine1(customAddress.getLine1());
|
581 |
address.setLine1(customAddress.getLine1());
|
| 580 |
address.setLine2(customAddress.getLine2());
|
582 |
address.setLine2(customAddress.getLine2());
|
| 581 |
address.setCity(customAddress.getCity());
|
583 |
address.setCity(customAddress.getCity());
|
| 582 |
address.setPinCode(customAddress.getPinCode());
|
584 |
address.setPinCode(customAddress.getPinCode());
|
| 583 |
State state = stateRepository.selectByName(customAddress.getState());
|
585 |
State state = stateRepository.selectByName(customAddress.getState());
|
| 584 |
if (state==null) {
|
586 |
if (state == null) {
|
| 585 |
throw new ProfitMandiBusinessException("State name", "Invalid State - Pls Contact Technology", "Invalid State - Pls Contact Technology");
|
587 |
throw new ProfitMandiBusinessException("State name", "Invalid State - Pls Contact Technology",
|
| - |
|
588 |
"Invalid State - Pls Contact Technology");
|
| 586 |
}
|
589 |
}
|
| 587 |
address.setState(state.getName());
|
590 |
address.setState(state.getName());
|
| 588 |
addressRepository.persist(address);
|
591 |
addressRepository.persist(address);
|
| 589 |
LOGGER.info("Address Updated" + address);
|
592 |
LOGGER.info("Address Updated" + address);
|
| 590 |
}
|
593 |
}
|
| Line 916... |
Line 919... |
| 916 |
return customRetailer;
|
919 |
return customRetailer;
|
| 917 |
|
920 |
|
| 918 |
}
|
921 |
}
|
| 919 |
|
922 |
|
| 920 |
@Override
|
923 |
@Override
|
| 921 |
public Map<Integer, CustomRetailer> getFofoRetailerUserId(List<Integer> fofoIds)
|
924 |
public Map<Integer, CustomRetailer> getFofoRetailerUserId(List<Integer> fofoIds) {
|
| 922 |
throws ProfitMandiBusinessException {
|
- |
|
| 923 |
List<com.spice.profitmandi.dao.entity.user.User> saholicUsers = userUserRepository.selectByIds(fofoIds);
|
925 |
List<com.spice.profitmandi.dao.entity.user.User> saholicUsers = userUserRepository.selectByIds(fofoIds);
|
| 924 |
Map<Integer, com.spice.profitmandi.dao.entity.user.User> userAddressMap = saholicUsers.stream()
|
926 |
Map<Integer, com.spice.profitmandi.dao.entity.user.User> userAddressMap = saholicUsers.stream()
|
| 925 |
.filter(x -> x.getAddressId() != null).collect(Collectors.toMap(x -> x.getAddressId(), x -> x));
|
927 |
.filter(x -> x.getAddressId() != null).collect(Collectors.toMap(x -> x.getAddressId(), x -> x));
|
| 926 |
List<Address> addresses = addressRepository.selectByIds(new ArrayList<>(userAddressMap.keySet()));
|
928 |
List<Address> addresses = addressRepository.selectByIds(new ArrayList<>(userAddressMap.keySet()));
|
| 927 |
Map<Integer, CustomRetailer> customRetailersMap = new HashMap<>();
|
929 |
Map<Integer, CustomRetailer> customRetailersMap = new HashMap<>();
|
| Line 929... |
Line 931... |
| 929 |
com.spice.profitmandi.dao.entity.user.User user = userAddressMap.get(address.getId());
|
931 |
com.spice.profitmandi.dao.entity.user.User user = userAddressMap.get(address.getId());
|
| 930 |
CustomRetailer customRetailer = new CustomRetailer();
|
932 |
CustomRetailer customRetailer = new CustomRetailer();
|
| 931 |
customRetailer.setEmail(user.getEmailId());
|
933 |
customRetailer.setEmail(user.getEmailId());
|
| 932 |
customRetailer.setBusinessName(address.getName());
|
934 |
customRetailer.setBusinessName(address.getName());
|
| 933 |
customRetailer.setMobileNumber(address.getPhoneNumber());
|
935 |
customRetailer.setMobileNumber(address.getPhoneNumber());
|
| - |
|
936 |
int userId = 0;
|
| 934 |
|
937 |
try {
|
| 935 |
int userId = userAccountRepository.selectUserIdByRetailerId(user.getId());
|
938 |
userId = userAccountRepository.selectUserIdByRetailerId(user.getId());
|
| - |
|
939 |
} catch(ProfitMandiBusinessException e) {
|
| - |
|
940 |
continue;
|
| 936 |
|
941 |
}
|
| 937 |
try {
|
942 |
try {
|
| 938 |
customRetailer.setCartId(user.getActiveCartId());
|
943 |
customRetailer.setCartId(user.getActiveCartId());
|
| 939 |
PrivateDealUser pdu = privateDealUserRepository.selectById(address.getRetaierId());
|
944 |
PrivateDealUser pdu = privateDealUserRepository.selectById(address.getRetaierId());
|
| 940 |
Counter counter = counterRepository.selectById(pdu.getCounterId());
|
945 |
Counter counter = counterRepository.selectById(pdu.getCounterId());
|
| 941 |
customRetailer.setGstNumber(counter.getGstin());
|
946 |
customRetailer.setGstNumber(counter.getGstin());
|
| Line 1141... |
Line 1146... |
| 1141 |
districtMaster = districtMasterRepository.selectByShortnameNameAndStateShortName("FB", "HR");
|
1146 |
districtMaster = districtMasterRepository.selectByShortnameNameAndStateShortName("FB", "HR");
|
| 1142 |
}
|
1147 |
}
|
| 1143 |
LOGGER.info("Store id - {}", store.getId());
|
1148 |
LOGGER.info("Store id - {}", store.getId());
|
| 1144 |
com.spice.profitmandi.dao.entity.user.User user = userMap.get(store.getId());
|
1149 |
com.spice.profitmandi.dao.entity.user.User user = userMap.get(store.getId());
|
| 1145 |
String urlString = districtMaster.getStateShortName() + "/"
|
1150 |
String urlString = districtMaster.getStateShortName() + "/"
|
| 1146 |
+ Utils.getHyphenatedString(districtMaster.getName()) + "/"
|
1151 |
+ Utils.getHyphenatedString(districtMaster.getName()) + "/" + store.getCode();
|
| 1147 |
+ store.getCode();
|
- |
|
| 1148 |
fofoRetailerUrlMap.put(store.getId(), urlString);
|
1152 |
fofoRetailerUrlMap.put(store.getId(), urlString);
|
| 1149 |
LOGGER.info("Store is {} end", store);
|
1153 |
LOGGER.info("Store is {} end", store);
|
| 1150 |
|
1154 |
|
| 1151 |
}
|
1155 |
}
|
| 1152 |
return fofoRetailerUrlMap;
|
1156 |
return fofoRetailerUrlMap;
|
| Line 1156... |
Line 1160... |
| 1156 |
@Cacheable(value = "storeCodeRetailerMap", cacheManager = "oneDayCacheManager")
|
1160 |
@Cacheable(value = "storeCodeRetailerMap", cacheManager = "oneDayCacheManager")
|
| 1157 |
public Map<String, Integer> getStoreCodeRetailerMap() {
|
1161 |
public Map<String, Integer> getStoreCodeRetailerMap() {
|
| 1158 |
Map<Integer, String> map = this.getAllFofoRetailerIdUrlMap();
|
1162 |
Map<Integer, String> map = this.getAllFofoRetailerIdUrlMap();
|
| 1159 |
Map<String, Integer> returnMap = map.entrySet().stream().collect(Collectors.toMap(x -> {
|
1163 |
Map<String, Integer> returnMap = map.entrySet().stream().collect(Collectors.toMap(x -> {
|
| 1160 |
String[] splitString = x.getValue().split("/");
|
1164 |
String[] splitString = x.getValue().split("/");
|
| 1161 |
return splitString[splitString.length-1];
|
1165 |
return splitString[splitString.length - 1];
|
| 1162 |
}, x -> x.getKey()));
|
1166 |
}, x -> x.getKey()));
|
| 1163 |
LOGGER.info("returnMap {}", returnMap);
|
1167 |
LOGGER.info("returnMap {}", returnMap);
|
| 1164 |
return returnMap;
|
1168 |
return returnMap;
|
| 1165 |
}
|
1169 |
}
|
| - |
|
1170 |
|
| - |
|
1171 |
@Override
|
| - |
|
1172 |
public String getPartnerCriteriaString(PartnerCriteria partnerCriteria) {
|
| - |
|
1173 |
|
| - |
|
1174 |
StringBuilder sb = new StringBuilder();
|
| - |
|
1175 |
if (partnerCriteria.getFofoIds().size() > 0) {
|
| - |
|
1176 |
List<Integer> fofoIds = partnerCriteria.getFofoIds();
|
| - |
|
1177 |
Map<Integer, CustomRetailer> customRetailers = this.getFofoRetailerUserId(fofoIds);
|
| - |
|
1178 |
List<String> businessNames = customRetailers.values().stream().map(x->x.getBusinessName()).collect(Collectors.toList());
|
| - |
|
1179 |
sb.append(String.join(", ", businessNames));
|
| - |
|
1180 |
|
| - |
|
1181 |
} else {
|
| - |
|
1182 |
sb.append("All");
|
| - |
|
1183 |
if(partnerCriteria.getPartnerTypes().size() > 0) {
|
| - |
|
1184 |
sb.append(" ").append(String.join(", ", partnerCriteria.getPartnerTypes().stream().map(x->x.getValue()).collect(Collectors.toList())));
|
| - |
|
1185 |
}
|
| - |
|
1186 |
sb.append(" partners ");
|
| - |
|
1187 |
if(partnerCriteria.getRegionIds().size() > 0) {
|
| - |
|
1188 |
sb.append("from ");
|
| - |
|
1189 |
sb.append(String.join(", ", partnerCriteria.getRegionIds().stream().map(x-> ProfitMandiConstants.WAREHOUSE_MAP.get(x)).collect(Collectors.toList())));
|
| - |
|
1190 |
}
|
| - |
|
1191 |
}
|
| - |
|
1192 |
return sb.toString();
|
| - |
|
1193 |
}
|
| 1166 |
}
|
1194 |
}
|