zhangchen преди 11 часа
родител
ревизия
af7cf94f76

+ 4 - 0
alien-entity/src/main/java/shop/alien/entity/store/LifeUserPersonalizationSetting.java

@@ -72,6 +72,10 @@ public class LifeUserPersonalizationSetting implements Serializable {
     @TableField("auto_refresh")
     private Integer autoRefresh;
 
+    @ApiModelProperty(value = "个人主页设置 0关闭 1打开")
+    @TableField("personal_homepage_setting")
+    private Integer personalHomepageSetting;
+
     @ApiModelProperty(value = "删除标记 0未删除 1已删除")
     @TableField("delete_flag")
     @TableLogic

+ 1 - 1
alien-entity/src/main/resources/mapper/OrderReviewMapper.xml

@@ -63,7 +63,7 @@
             orv.created_time
         FROM lawyer_order_review orv
         LEFT JOIN life_user lu ON lu.id = orv.user_id AND lu.delete_flag = 0
-        LEFT JOIN lawyer_user lu2 ON lu2.id = orv.lawyer_user_id AND lu2.delete_flag = 0
+        LEFT JOIN lawyer_user lu2 ON lu2.id = orv.lawyer_user_id
         LEFT JOIN law_firm lf ON lf.id = lu2.firm_id AND lf.delete_flag = 0
         LEFT JOIN life_like_record llr ON CONVERT(llr.huifu_id, CHAR) = CONVERT(orv.id, CHAR)
             AND llr.type = '7' 

+ 25 - 1
alien-store/src/main/java/shop/alien/store/service/impl/LifeUserPersonalizationSettingServiceImpl.java

@@ -22,7 +22,8 @@ public class LifeUserPersonalizationSettingServiceImpl
         extends ServiceImpl<LifeUserPersonalizationSettingMapper, LifeUserPersonalizationSetting>
         implements LifeUserPersonalizationSettingService {
 
-    private static final String CACHE_KEY_PREFIX = "alien:store:life:user:personalization:";
+    /** v2:含 personalHomepageSetting,与 v1 区分以淘汰旧缓存结构 */
+    private static final String CACHE_KEY_PREFIX = "alien:store:life:user:personalization:v2:";
     private static final long CACHE_TTL_SECONDS = 7 * 24 * 3600L;
 
     @Autowired
@@ -35,6 +36,12 @@ public class LifeUserPersonalizationSettingServiceImpl
         if (validated != null) {
             return validated;
         }
+
+        // 设定个人主页设置
+        R<String> homepageValidated = validatePersonalHomepageSetting(setting);
+        if (homepageValidated != null) {
+            return homepageValidated;
+        }
         boolean result = this.save(setting);
         if (result) {
             invalidatePersonalizationCache(setting.getUserId());
@@ -100,6 +107,10 @@ public class LifeUserPersonalizationSettingServiceImpl
         if (validated != null) {
             return validated;
         }
+        R<String> homepageValidated = validatePersonalHomepageSetting(setting);
+        if (homepageValidated != null) {
+            return homepageValidated;
+        }
         boolean result = this.updateById(setting);
         if (result) {
             Integer uid = setting.getUserId() != null ? setting.getUserId() : existing.getUserId();
@@ -135,6 +146,18 @@ public class LifeUserPersonalizationSettingServiceImpl
         return null;
     }
 
+    /** 非空时须为 0 或 1 */
+    private static R<String> validatePersonalHomepageSetting(LifeUserPersonalizationSetting incoming) {
+        Integer v = incoming.getPersonalHomepageSetting();
+        if (v == null) {
+            return null;
+        }
+        if (v != 0 && v != 1) {
+            return R.fail("personalHomepageSetting 只能为 0 或 1");
+        }
+        return null;
+    }
+
     @Override
     public R<LifeUserPersonalizationSetting> getInfoById(Integer id) {
         log.info("LifeUserPersonalizationSettingServiceImpl.getInfoById, id={}", id);
@@ -262,6 +285,7 @@ public class LifeUserPersonalizationSettingServiceImpl
         s.setFollowSystemFont(1);
         s.setChatFontLevel(0);
         s.setAutoRefresh(1);
+        s.setPersonalHomepageSetting(1);
         return s;
     }