|
|
@@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
4
|
4
|
import org.springframework.stereotype.Service;
|
|
5
|
5
|
import org.springframework.transaction.annotation.Transactional;
|
|
6
|
6
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
7
|
+import com.ruoyi.framework.config.ServerConfig;
|
|
7
|
8
|
import com.ruoyi.web.modules.mall.constant.MallConfigConstants;
|
|
8
|
9
|
import com.ruoyi.web.modules.mall.domain.BizMallConfig;
|
|
9
|
10
|
import com.ruoyi.web.modules.mall.dto.MallSettingSaveDTO;
|
|
|
@@ -24,6 +25,9 @@ public class MallConfigServiceImpl implements IMallConfigService, IMallConfigFac
|
|
24
|
25
|
@Autowired
|
|
25
|
26
|
private BizMallConfigMapper mallConfigMapper;
|
|
26
|
27
|
|
|
|
28
|
+ @Autowired
|
|
|
29
|
+ private ServerConfig serverConfig;
|
|
|
30
|
+
|
|
27
|
31
|
@Override
|
|
28
|
32
|
public MallSettingVO getSettings()
|
|
29
|
33
|
{
|
|
|
@@ -45,7 +49,10 @@ public class MallConfigServiceImpl implements IMallConfigService, IMallConfigFac
|
|
45
|
49
|
update.setShowSales(dto.getShowSales());
|
|
46
|
50
|
update.setAutoConfirmDays(dto.getAutoConfirmDays());
|
|
47
|
51
|
update.setAftersaleLimitDays(dto.getAftersaleLimitDays());
|
|
48
|
|
- update.setDefaultAvatar(dto.getDefaultAvatar().trim());
|
|
|
52
|
+ String avatarUrl = MallConfigSupport.normalizeDefaultAvatarUrl(
|
|
|
53
|
+ dto.getDefaultAvatar().trim(), serverConfig.getUrl());
|
|
|
54
|
+ MallConfigSupport.validateDefaultAvatarUrl(avatarUrl);
|
|
|
55
|
+ update.setDefaultAvatar(avatarUrl);
|
|
49
|
56
|
update.setUpdateBy(operator);
|
|
50
|
57
|
mallConfigMapper.update(update);
|
|
51
|
58
|
}
|
|
|
@@ -77,7 +84,7 @@ public class MallConfigServiceImpl implements IMallConfigService, IMallConfigFac
|
|
77
|
84
|
vo.setPsbLink(config.getPsbLink());
|
|
78
|
85
|
}
|
|
79
|
86
|
vo.setShowSales(MallConfigSupport.isYes(config.getShowSales()));
|
|
80
|
|
- vo.setDefaultAvatar(StringUtils.isNotEmpty(config.getDefaultAvatar()) ? config.getDefaultAvatar() : null);
|
|
|
87
|
+ vo.setDefaultAvatar(resolveDefaultAvatarUrl(config.getDefaultAvatar()));
|
|
81
|
88
|
vo.setCurrencySymbol(config.getCurrencySymbol());
|
|
82
|
89
|
return vo;
|
|
83
|
90
|
}
|
|
|
@@ -112,8 +119,7 @@ public class MallConfigServiceImpl implements IMallConfigService, IMallConfigFac
|
|
112
|
119
|
@Override
|
|
113
|
120
|
public String getDefaultAvatarUrl()
|
|
114
|
121
|
{
|
|
115
|
|
- String avatar = requireConfig().getDefaultAvatar();
|
|
116
|
|
- return StringUtils.isNotEmpty(avatar) ? avatar : null;
|
|
|
122
|
+ return resolveDefaultAvatarUrl(requireConfig().getDefaultAvatar());
|
|
117
|
123
|
}
|
|
118
|
124
|
|
|
119
|
125
|
@Override
|
|
|
@@ -159,10 +165,27 @@ public class MallConfigServiceImpl implements IMallConfigService, IMallConfigFac
|
|
159
|
165
|
vo.setAftersaleLimitDays(config.getAftersaleLimitDays());
|
|
160
|
166
|
vo.setPaidOrderCancelable(Boolean.FALSE);
|
|
161
|
167
|
vo.setShippedOrderCancelable(Boolean.FALSE);
|
|
162
|
|
- vo.setDefaultAvatar(config.getDefaultAvatar());
|
|
|
168
|
+ vo.setDefaultAvatar(resolveDefaultAvatarUrl(config.getDefaultAvatar()));
|
|
163
|
169
|
return vo;
|
|
164
|
170
|
}
|
|
165
|
171
|
|
|
|
172
|
+ private String resolveDefaultAvatarUrl(String stored)
|
|
|
173
|
+ {
|
|
|
174
|
+ if (StringUtils.isEmpty(stored))
|
|
|
175
|
+ {
|
|
|
176
|
+ return null;
|
|
|
177
|
+ }
|
|
|
178
|
+ String serverUrl = null;
|
|
|
179
|
+ try
|
|
|
180
|
+ {
|
|
|
181
|
+ serverUrl = serverConfig.getUrl();
|
|
|
182
|
+ }
|
|
|
183
|
+ catch (Exception ignored)
|
|
|
184
|
+ {
|
|
|
185
|
+ }
|
|
|
186
|
+ return MallConfigSupport.normalizeDefaultAvatarUrl(stored, serverUrl);
|
|
|
187
|
+ }
|
|
|
188
|
+
|
|
166
|
189
|
private String trimToNull(String value)
|
|
167
|
190
|
{
|
|
168
|
191
|
if (StringUtils.isEmpty(value))
|