Browse Source

Merge branch 'user_info_complaint'

zoujiajian 3 năm trước cách đây
mục cha
commit
9a2c8deb0e
30 tập tin đã thay đổi với 535 bổ sung85 xóa
  1. 15 0
      netflix-common/src/main/java/com/cyksj/common/util/StringUtil.java
  2. 13 0
      netflix-dao/src/main/java/com/cyksj/mapper/UserComplaintMapper.java
  3. 3 0
      netflix-dao/src/main/java/com/cyksj/mapper/UserMapper.java
  4. 1 2
      netflix-dao/src/main/java/com/cyksj/model/dto/UserWhoami.java
  5. 3 0
      netflix-dao/src/main/java/com/cyksj/model/entity/User.java
  6. 67 0
      netflix-dao/src/main/java/com/cyksj/model/entity/UserComplaint.java
  7. 1 0
      netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonView.java
  8. 3 0
      netflix-dao/src/main/java/com/cyksj/model/manage/views/UserView.java
  9. 8 6
      netflix-dao/src/main/java/com/cyksj/model/request/UserReq.java
  10. 1 1
      netflix-dao/src/main/java/com/cyksj/model/response/LoginPhoneRep.java
  11. 1 0
      netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java
  12. 43 0
      netflix-dao/src/main/java/com/cyksj/model/views/UserComplaintFrontView.java
  13. 49 0
      netflix-dao/src/main/java/com/cyksj/model/views/UserComplaintView.java
  14. 1 5
      netflix-service/src/main/java/com/cyksj/common/EnvCommonService.java
  15. 13 7
      netflix-service/src/main/java/com/cyksj/service/gzh/factory/EventMsgService.java
  16. 14 0
      netflix-service/src/main/java/com/cyksj/service/user/UserComplaintService.java
  17. 10 0
      netflix-service/src/main/java/com/cyksj/service/user/UserService.java
  18. 24 0
      netflix-service/src/main/java/com/cyksj/service/user/impl/UserComplaintServiceImpl.java
  19. 47 13
      netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java
  20. 11 2
      netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsPopularizeController.java
  21. 4 1
      netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java
  22. 54 0
      netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserComplaintController.java
  23. 4 1
      netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java
  24. 4 1
      netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java
  25. 0 12
      netflix-web/src/main/java/com/cyksj/web/controller/manage/form/FormController.java
  26. 7 1
      netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java
  27. 45 25
      netflix-web/src/main/java/com/cyksj/web/controller/user/AuthorizationController.java
  28. 8 2
      netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java
  29. 58 0
      netflix-web/src/main/java/com/cyksj/web/controller/user/UserComplaintController.java
  30. 23 6
      netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

+ 15 - 0
netflix-common/src/main/java/com/cyksj/common/util/StringUtil.java

@@ -42,6 +42,8 @@ public final class StringUtil {
 
 	public static final String randomStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#&/_-";
 
+	private static final String baseStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+
 	/**
 	 * provate constructor
 	 */
@@ -422,6 +424,19 @@ public final class StringUtil {
 		}
 	}
 
+	public static String randomString(Integer length) {
+		if (length == null || length < 0) {
+			length = 6;
+		}
+		Integer baseLength = baseStr.length();
+		StringBuilder sb = new StringBuilder(length);
+		for (int i = 0; i < length; i++) {
+			int number = RandomUtil.randomInt(baseLength);
+			sb.append(randomStr.charAt(number));
+		}
+		return sb.toString();
+	}
+
 	/**
 	 * 生成4位\6位随机数
 	 */

+ 13 - 0
netflix-dao/src/main/java/com/cyksj/mapper/UserComplaintMapper.java

@@ -0,0 +1,13 @@
+package com.cyksj.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cyksj.model.entity.UserComplaint;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaintMapper
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:25
+ */
+public interface UserComplaintMapper extends BaseMapper<UserComplaint> {
+}

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/mapper/UserMapper.java

@@ -47,4 +47,7 @@ public interface UserMapper extends BaseMapper<User> {
 
     @Update("update user set balance = balance - #{subBalance} where id = #{userId} and balance = #{userBalance}")
     Integer deductUserBalance(@Param("userId") Long userId, @Param("userBalance") BigDecimal userBalance, @Param("subBalance") BigDecimal subBalance);
+
+    @Select("select id from user where show_id = #{showId} limit 1")
+    Long getUserIdByShowId(String showId);
 }

+ 1 - 2
netflix-dao/src/main/java/com/cyksj/model/dto/UserWhoami.java

@@ -15,8 +15,7 @@ import java.io.Serializable;
 @Setter
 @Accessors(chain = true)
 public class UserWhoami implements Serializable {
-
-    private Long id;
+    private String showId;
 
     /**
      * 名称

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/User.java

@@ -28,6 +28,9 @@ public class User extends BaseEntity implements Serializable{
     private String nickname ;
     /** 头像;头像 */
     private String headimgurl ;
+
+    private String showId;
+
     /** 开放平台唯一id;开放平台唯一id */
     private String unionid ;
 

+ 67 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/UserComplaint.java

@@ -0,0 +1,67 @@
+package com.cyksj.model.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaint
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:23
+ */
+@Getter
+@Setter
+public class  UserComplaint extends BaseEntity{
+	private Long userId;
+
+	/**
+	 * 投诉类型
+	 * 1、客服,2、平台
+	 */
+	@NotNull
+	private Integer type;
+
+	/**
+	 * 投诉平台id
+	 */
+	private Long goodsId;
+
+
+	/**
+	 * 投诉客服凭证
+	 */
+	private String csCard;
+
+	/**
+	 * 投诉内容
+	 */
+	@NotNull
+	@Length(max = 255)
+	private String content;
+
+	/**
+	 * 投诉截图凭证
+	 */
+	@Length(max = 1000, message = "图片过多")
+	private String img;
+
+	/**
+	 * 投诉状态
+	 */
+	private Status status;
+
+	@Getter
+	public enum Status{
+		processing("处理中"),
+		success("已处理"),
+		;
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+	}
+}

+ 1 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/OrderDonView.java

@@ -66,6 +66,7 @@ public class OrderDonView {
     private Integer months;
 
     @DbField("o.user_id")
+    @JsonIgnore
     private Long userId;
 
     @DbField("o.money")

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/manage/views/UserView.java

@@ -67,6 +67,9 @@ public class UserView {
     @DbField("case when u.login_phone != '' then 'phone' when u.email != '' then 'email' when u.open_id != '' then 'wechat' else 'wechat' end")
     private String register;
 
+    @DbField("u.show_id")
+    private String showId;
+
     /**
      * 登录注册手机号
      */

+ 8 - 6
netflix-dao/src/main/java/com/cyksj/model/request/UserReq.java

@@ -1,11 +1,9 @@
 package com.cyksj.model.request;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
 /*
  *项目名: netflix
  *文件名: UserReq
@@ -15,9 +13,13 @@ import javax.validation.constraints.NotNull;
 @Getter
 @Setter
 public class UserReq {
-	@NotNull(message = "性别不能为空")
 	private Integer sex;
 
-	@NotEmpty(message = "头像不能为空")
-	private String headImg;
+	@JsonProperty("headimgurl")
+	private String headimgurl;
+
+	/**
+	 * 用户昵称
+	 */
+	private String nickname;
 }

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/response/LoginPhoneRep.java

@@ -18,7 +18,7 @@ import lombok.Setter;
 public class LoginPhoneRep {
 	private String saToken;
 
-	private Long uid;
+	private String showId;
 
 	private String nickname;
 

+ 1 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -67,6 +67,7 @@ public class RenewalView {
     private Integer secondType;
 
     @DbField("gr.user_id")
+    @JsonIgnore
     private Long userId;
 
     @DbField("gr.expiry_time")

+ 43 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserComplaintFrontView.java

@@ -0,0 +1,43 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaintFrontView
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:50
+ */
+@Getter
+@Setter
+@SearchBean(tables = "user_complaint uc left join goods_don g on g.id = uc.goods_id")
+public class UserComplaintFrontView {
+
+	@DbField("uc.type")
+	private Integer type;
+
+	@DbField("uc.user_id")
+	@JsonIgnore
+	private Long userId;
+
+	@DbField("uc.title")
+	private String title;
+
+	@DbField("uc.cs_card")
+	private String csCard;
+
+	@DbField("uc.content")
+	private String content;
+
+	@DbField("uc.img")
+	private String img;
+
+	@DbField("uc.created_time")
+	private Date createdTime;
+}

+ 49 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserComplaintView.java

@@ -0,0 +1,49 @@
+package com.cyksj.model.views;
+
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaintView
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:36
+ */
+@Getter
+@Setter
+@SearchBean(tables = "user_complaint uc left join goods_don g on g.id = uc.goods_id")
+public class UserComplaintView {
+	@DbField("uc.id")
+	private Long id;
+
+	@DbField("uc.user_id")
+	private Long userId;
+
+	@DbField("uc.nickname")
+	private String nickname;
+
+	@DbField("uc.type")
+	private Integer type;
+
+	@DbField("uc.goods_id")
+	private Long goodsId;
+
+	@DbField("uc.title")
+	private String title;
+
+	@DbField("uc.cs_card")
+	private String csCard;
+
+	@DbField("uc.content")
+	private String content;
+
+	@DbField("uc.img")
+	private String img;
+
+	@DbField("uc.created_time")
+	private Date createdTime;
+}

+ 1 - 5
netflix-service/src/main/java/com/cyksj/common/EnvCommonService.java

@@ -24,8 +24,6 @@ public class EnvCommonService {
 
 	public static String DISTRIBUTE_DEFAULT_URL_PREFIX;
 
-	public static String DISTRIBUTE_DESIGN_URL_PREFIX;
-
 	@Value(value = "${spring.profiles.active}")
 	private String env;
 
@@ -54,8 +52,6 @@ public class EnvCommonService {
 		if (!DISTRIBUTE_DEFAULT_URL_PREFIX.endsWith("/")) {
 			DISTRIBUTE_DEFAULT_URL_PREFIX += "/";
 		}
-		DISTRIBUTE_DEFAULT_URL_PREFIX += "yinhe/web?sharedId=%s";
-
-		DISTRIBUTE_DESIGN_URL_PREFIX = DISTRIBUTE_DEFAULT_URL_PREFIX.replace("sharedId", "dsCode");
+		DISTRIBUTE_DEFAULT_URL_PREFIX += "%s";
 	}
 }

+ 13 - 7
netflix-service/src/main/java/com/cyksj/service/gzh/factory/EventMsgService.java

@@ -157,13 +157,19 @@ public class EventMsgService implements GzhMsgService {
 				String dsCode = gzhDto.getDsCode();
 				if (StrUtil.isNotBlank(dsCode)) {
 					dsCode = dsCode.trim();
-					UserDistributePopularize distributePopularize = distributePopularizeMapper.selectOne(Wrappers.lambdaQuery(UserDistributePopularize.class)
-							.eq(UserDistributePopularize::getCode, dsCode)
-							.select(UserDistributePopularize::getUserId, UserDistributePopularize::getId).last("limit 1"));
-					if (distributePopularize != null) {
-						log.info("渠道sharedId:{}设置固定推广链接PC扫码用户分销", distributePopularize.getUserId());
-						sharedId = distributePopularize.getUserId();
-						dsPopularizeId = distributePopularize.getId();
+					User sharedUser = userService.getOne(Wrappers.lambdaQuery(User.class)
+							.eq(User::getShowId, dsCode).last("limit 1"));
+					if (sharedUser != null) {
+						sharedId = sharedUser.getId();
+					} else {
+						UserDistributePopularize distributePopularize = distributePopularizeMapper.selectOne(Wrappers.lambdaQuery(UserDistributePopularize.class)
+								.eq(UserDistributePopularize::getCode, dsCode)
+								.select(UserDistributePopularize::getUserId, UserDistributePopularize::getId).last("limit 1"));
+						if (distributePopularize != null) {
+							log.info("渠道sharedId:{}设置固定推广链接PC扫码用户分销", distributePopularize.getUserId());
+							sharedId = distributePopularize.getUserId();
+							dsPopularizeId = distributePopularize.getId();
+						}
 					}
 				}
 				if (sharedId != null) {

+ 14 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserComplaintService.java

@@ -0,0 +1,14 @@
+package com.cyksj.service.user;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cyksj.model.entity.UserComplaint;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaintService
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:28
+ */
+public interface UserComplaintService extends IService<UserComplaint> {
+	void insertUserComplaint(UserComplaint userComplaint);
+}

+ 10 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserService.java

@@ -31,4 +31,14 @@ public interface UserService extends IService<User> {
     List<Long> getRelationUserIdList(Long userId, User selectUser);
 
 	List<Long> getUserIdsByNickname(String nickname);
+
+    /**
+     * 设置用户展示id
+     */
+	String getUserShowId(Long userId);
+
+	/**
+	 * 根据showId 获取用户id
+	 */
+	Long getUserIdByShowId(String showId);
 }

+ 24 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/UserComplaintServiceImpl.java

@@ -0,0 +1,24 @@
+package com.cyksj.service.user.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.mapper.UserComplaintMapper;
+import com.cyksj.model.entity.UserComplaint;
+import com.cyksj.service.user.UserComplaintService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaintServiceImpl
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:28
+ */
+@Service
+@RequiredArgsConstructor
+public class UserComplaintServiceImpl extends ServiceImpl<UserComplaintMapper,UserComplaint> implements UserComplaintService {
+
+	@Override
+	public void insertUserComplaint(UserComplaint userComplaint) {
+		save(userComplaint);
+	}
+}

+ 47 - 13
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -9,6 +9,7 @@ import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.mapper.UserMapper;
 import com.cyksj.mapper.channel.ChannelPopularizeMapper;
 import com.cyksj.mapper.manage.cps.UserDistributePopularizeMapper;
@@ -24,6 +25,7 @@ import com.cyksj.service.sys.SysConfigService;
 import com.cyksj.service.user.UserService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
@@ -100,13 +102,20 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		}
 		Long dsPopularizeId = null;
 		if (StrUtil.isNotBlank(dsCode)) {
-			UserDistributePopularize distributePopularize = distributePopularizeMapper.selectOne(Wrappers.lambdaQuery(UserDistributePopularize.class)
-					.eq(UserDistributePopularize::getCode, dsCode)
-					.select(UserDistributePopularize::getUserId, UserDistributePopularize::getId).last("limit 1"));
-			if (distributePopularize != null) {
-				log.info("渠道sharedId:{}设置固定推广链接用户分销", distributePopularize.getUserId());
-				sharedId = distributePopularize.getUserId();
-				dsPopularizeId = distributePopularize.getId();
+			dsCode = dsCode.trim();
+			User sharedUser = getOne(Wrappers.lambdaQuery(User.class)
+					.eq(User::getShowId, dsCode).last("limit 1"));
+			if (sharedUser != null) {
+				sharedId = sharedUser.getId();
+			} else {
+				UserDistributePopularize distributePopularize = distributePopularizeMapper.selectOne(Wrappers.lambdaQuery(UserDistributePopularize.class)
+						.eq(UserDistributePopularize::getCode, dsCode)
+						.select(UserDistributePopularize::getUserId, UserDistributePopularize::getId).last("limit 1"));
+				if (distributePopularize != null) {
+					log.info("渠道sharedId:{}设置固定推广链接用户分销", distributePopularize.getUserId());
+					sharedId = distributePopularize.getUserId();
+					dsPopularizeId = distributePopularize.getId();
+				}
 			}
 		}
 		if (sharedId != null && isNewUser) {
@@ -129,13 +138,15 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
     @Override
     public UserWhoami whoami(long userId) {
-        User user = this.getById(userId);
-        Assert.notNull(user,"业务处理失败,请联系客服");
-        UserWhoami userWhoami = new UserWhoami();
-
-        BeanUtil.copyProperties(user, userWhoami);
+	    User user = this.getById(userId);
+	    Assert.notNull(user, "业务处理失败,请联系客服");
+	    UserWhoami userWhoami = new UserWhoami();
+	    if (StrUtil.isEmpty(user.getShowId())) {
+		    user.setShowId(getUserShowId(userId));
+	    }
+	    BeanUtil.copyProperties(user, userWhoami);
 
-        return userWhoami;
+	    return userWhoami;
     }
 
     @Override
@@ -246,4 +257,27 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 	public List<Long> getUserIdsByNickname(String nickname) {
 		return userMapper.selectListByNickname(nickname);
 	}
+
+	@Override
+	public String getUserShowId(Long userId) {
+		Integer update = 0;
+		String showId = null;
+		while (update != 1) {
+			showId = StringUtil.randomString(5);
+			try {
+				update = userMapper.update(null, Wrappers.lambdaUpdate(User.class)
+						.set(User::getShowId, showId)
+						.eq(User::getId, userId));
+			} catch (DuplicateKeyException e) {
+				update = 0;
+			}
+		}
+		return showId;
+	}
+
+	@Override
+	public Long getUserIdByShowId(String showId) {
+		return userMapper.getUserIdByShowId(showId);
+	}
+
 }

+ 11 - 2
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsPopularizeController.java

@@ -1,12 +1,15 @@
 package com.cyksj.web.controller.cps;
 
+import cn.hutool.core.util.StrUtil;
 import com.cyksj.common.EnvCommonService;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.entity.User;
 import com.cyksj.model.entity.UserDistributePopularize;
 import com.cyksj.model.views.UserDistributePopularizeView;
 import com.cyksj.service.cps.CpsPopularizeService;
+import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpCpsManageUser;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -37,6 +40,8 @@ public class CpsPopularizeController {
 
 	private final EnvCommonService envCommonService;
 
+	private final UserService userService;
+
 	/**
 	 * 渠道推广链接列表
 	 */
@@ -47,7 +52,7 @@ public class CpsPopularizeController {
 		builder.put("userId", String.format("and user_id = %s", cpsUserId));
 		SearchResult<UserDistributePopularizeView> search = beanSearcher.search(UserDistributePopularizeView.class, builder.build());
 		search.getDataList().forEach(data -> {
-			data.setPopularizeLink(String.format(envCommonService.DISTRIBUTE_DESIGN_URL_PREFIX, data.getCode()));
+			data.setPopularizeLink(String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, data.getCode()));
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
@@ -58,13 +63,17 @@ public class CpsPopularizeController {
 	@GetMapping("/get/default")
 	public Result<UserDistributePopularizeView> getDefaultDetail() {
 		long cpsUserId = StpCpsManageUser.getLoginIdAsLong();
+		User user = userService.getById(cpsUserId);
 		UserDistributePopularizeView view = Optional.ofNullable(cpsPopularizeService.getDefaultPopularizeDetail(cpsUserId)).orElseGet(()->{
 			UserDistributePopularizeView newPopularizeView = new UserDistributePopularizeView();
 			newPopularizeView.setOrders(0);
 			newPopularizeView.setOrdersMoney(BigDecimal.ZERO);
 			return newPopularizeView;
 		});
-		view.setPopularizeLink(String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, cpsUserId));
+		if (StrUtil.isEmpty(user.getShowId())) {
+			user.setShowId(userService.getUserShowId(user.getId()));
+		}
+		view.setPopularizeLink(String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, user.getShowId()));
 		return GatewayResponse.SUCCESS.newBuilder().toResult(view);
 	}
 

+ 4 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -89,7 +89,7 @@ public class CmsOrderController {
 
 	@GetMapping("/get")
 	@SaCheckPermission("order:view")
-	public Result<SearchResult<OrderDonBackView>> get(Long channelId, String account) {
+	public Result<SearchResult<OrderDonBackView>> get(Long channelId, String account, String showId) {
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		if (channelId != null) {
 			List<Long> popularizeIds = channelPopularizeMapper.getPopularizeIdByChannelId(channelId);
@@ -104,6 +104,9 @@ public class CmsOrderController {
 				builder.field(OrderDonBackView::getRelationId).op(Operator.IsNull);
 			}
 		}
+		if (StrUtil.isNotBlank(showId)) {
+			builder.field(OrderDonBackView::getUserId, userService.getUserIdByShowId(showId));
+		}
 		SearchResult<OrderDonBackView> search = beanSearcher.search(OrderDonBackView.class, builder.build());
 		search.getDataList().forEach(data -> {
 			if (data.getPopularizeId() != null) {

+ 54 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsUserComplaintController.java

@@ -0,0 +1,54 @@
+package com.cyksj.web.controller.manage;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.entity.UserComplaint;
+import com.cyksj.model.views.UserComplaintView;
+import com.cyksj.service.user.UserComplaintService;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/*
+ *项目名: netflix
+ *文件名: CmsUserComplaintController
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:34
+ */
+@RestController
+@RequestMapping("/manage/user/complaint")
+@RequiredArgsConstructor
+public class CmsUserComplaintController {
+	private final UserComplaintService userComplaintService;
+
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	/**
+	 * 投诉列表
+	 */
+	@GetMapping("/get")
+	public Result<SearchResult<UserComplaintView>> get() {
+		SearchResult<UserComplaintView> search = beanSearcher.search(UserComplaintView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+
+	/**
+	 * 修改投诉状态
+	 */
+	@PutMapping("/put")
+	public Result<String> updateUserComplaintStatus(@RequestBody UserComplaint userComplaint) {
+		Long id = userComplaint.getId();
+		UserComplaint.Status status = userComplaint.getStatus();
+		userComplaintService.update(null, Wrappers.lambdaUpdate(UserComplaint.class)
+				.set(UserComplaint::getStatus, status)
+				.eq(UserComplaint::getId, id));
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
+}

+ 4 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -100,12 +100,15 @@ public class CmsAccountController {
 
 	@GetMapping("/get")
 	@SaCheckPermission("account:view")
-	public Result<SearchResult<AccountView>> get(Long userId, String nickName, String submitAccount, String expiryStartTime, String expiryEndTime, Boolean expiredAll, Boolean existsExpired, Boolean existsExpiredToday) {
+	public Result<SearchResult<AccountView>> get(Long userId, String showId, String nickName, String submitAccount, String expiryStartTime, String expiryEndTime, Boolean expiredAll, Boolean existsExpired, Boolean existsExpiredToday) {
 		MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
 		if (StrUtil.isNotEmpty(expiryStartTime) || StrUtil.isNotEmpty(expiryEndTime)) {
 			mapBuilder.field(AccountView::getExpiryTime, expiryStartTime, expiryEndTime)
 					.op(Operator.Between);
 		}
+		if (StrUtil.isNotEmpty(showId)) {
+			userId = userMapper.getUserIdByShowId(showId);
+		}
 
 		if (userId != null || StringUtils.isNotBlank(nickName) || StringUtils.isNotBlank(submitAccount)) {
 			List<Long> accountIds = homeGroupMapper.getAccountIdsByUserIdOrNickNameOrSubmitAccount(userId, nickName, submitAccount);

+ 4 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -145,13 +145,16 @@ public class DistributeController {
 	 * 固定推广者列表
 	 */
 	@GetMapping
-	public Result<SearchResult<UserDistributeViews>> distributeList(String nickname, String startTime, String endTime) {
+	public Result<SearchResult<UserDistributeViews>> distributeList(String nickname, String showId, String startTime, String endTime) {
 		long adminId = StpUtil.getLoginIdAsLong();
 		MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
 		//是否是商务人员
 		if (userBusinessRateService.isBusiness(adminId)) {
 			builder.field(UserDistributeViews::getBusinessId, adminId);
 		}
+		if (StrUtil.isNotBlank(showId)) {
+			builder.field(UserDistributeViews::getUserId, userMapper.getUserIdByShowId(showId));
+		}
 		if (StrUtil.isNotBlank(nickname)) {
 			List<Long> userIds = userMapper.selectListByNickname(nickname);
 			builder.field(UserDistributeViews::getUserId, userIds).op(Operator.InList);

+ 0 - 12
netflix-web/src/main/java/com/cyksj/web/controller/manage/form/FormController.java

@@ -140,12 +140,6 @@ public class FormController {
 		if (endTime != null) {
 			endDate = DateUtil.date(endTime);
 		}
-		if (startDate == null) {
-			startDate = DateUtil.beginOfDay(DateTime.now());
-		}
-		if (endDate == null) {
-			endDate = DateUtil.offsetDay(startDate, 1);
-		}
 		if (promotionId != null) {
 			QuestionnairePromotion byId = promotionService.getById(promotionId);
 			if (byId == null) throw BusinessRuntimeException.getInstance("问卷不存在");
@@ -186,12 +180,6 @@ public class FormController {
 		if (endTime != null) {
 			endDate = DateUtil.date(endTime);
 		}
-		if (startDate == null) {
-			startDate = DateUtil.beginOfDay(DateTime.now());
-		}
-		if (endDate == null) {
-			endDate = DateUtil.offsetDay(startDate, 1);
-		}
 		formService.exportQuestionInfo(promotionId, startDate, endDate, response);
 	}
 }

+ 7 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupController.java

@@ -16,6 +16,7 @@ import com.cyksj.dto.Result;
 import com.cyksj.enums.BusinessType;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.mapper.GroupsRelationMapper;
+import com.cyksj.mapper.UserMapper;
 import com.cyksj.model.entity.Account;
 import com.cyksj.model.entity.GroupsTrips;
 import com.cyksj.model.entity.GroupsTripsAccountReplaceRecord;
@@ -61,10 +62,15 @@ public class CmsGroupController {
 
     private final GroupsRelationMapper relationMapper;
 
+    private final UserMapper userMapper;
+
     @GetMapping("/get")
     @SaCheckPermission("group:view")
-    public Result<SearchResult<GroupsTrips>> get(String account, Long userId, String nickName, String submitAccount, Boolean isEmpty) {
+    public Result<SearchResult<GroupsTrips>> get(String account, Long userId, String showId, String nickName, String submitAccount, Boolean isEmpty) {
         MapBuilder mapBuilder = MapUtils.flatBuilder(request.getParameterMap());
+        if (StrUtil.isNotBlank(showId)) {
+            userId = userMapper.getUserIdByShowId(showId);
+        }
         if (userId != null || StringUtils.isNotBlank(nickName) || StringUtils.isNotBlank(submitAccount)) {
             List<Long> ids = relationMapper.getAccountIdsByUserIdOrNickNameOrSubmitAccount(userId, nickName, submitAccount);
             if (ids.isEmpty()) {

+ 45 - 25
netflix-web/src/main/java/com/cyksj/web/controller/user/AuthorizationController.java

@@ -96,39 +96,41 @@ public class AuthorizationController {
     @GetMapping(value = "/weChat")
     public void base(String url, String dsCode, Long sharedId, Integer dsType, Long popularizeId, String authType, HttpServletResponse response) throws Exception {
 
-        log.info("微信授权转跳. url: {},authType:{}",url,authType);
+        log.info("微信授权转跳. url: {},authType:{}", url, authType);
 
         // 无论是否为老用户 均转跳到授权页面
         // 若授权过 则无需再次授权 直接回调 /user/wechat/redirect
         // 新用户同意授权后 也会回调 /user/wechat/redirect
 
         Long mappingId = SEQUENCE.nextId();
-        redisService.set(mappingId.toString(),url,60*60*24L);
+        redisService.set(mappingId.toString(), url, 60 * 60 * 24L);
         if (StrUtil.isNotBlank(dsCode)) {
             dsCode = dsCode.trim();
         }
         AuthRedirect redirect = new AuthRedirect().setMappingId(mappingId).setSharedId(sharedId).setDsType(dsType).setPid(popularizeId).setDsCode(dsCode);
         String state = Codec.DoBase64.custom().setData(Jsons.toJson(redirect)).encodeAsText();
 
-        response.sendRedirect(authorizationService.createUrl(state,authType));
+        response.sendRedirect(authorizationService.createUrl(state, authType));
 
     }
 
 
     /**
      * 全量授权
+     *
      * @author chan
      * @date 2021-10-11 上午11:57
      */
     @GetMapping(value = "/weChat/baseRedirect")
     public void redirect(String code, String state, HttpServletResponse response) throws Exception {
-        AuthToken token = weChatService.getAuthToken(code,weChatConfig.getAppid());
+        AuthToken token = weChatService.getAuthToken(code, weChatConfig.getAppid());
 
         baseRedirect(token, state, User.RegisterEnv.wx, response);
     }
 
     /**
      * 静默授权
+     *
      * @author chan
      * @date 2021-10-11 上午11:58
      */
@@ -140,18 +142,18 @@ public class AuthorizationController {
         String json = Codec.DoBase64.custom().setData(state).decodeAsText();
         AuthRedirect re = Jsons.parseObject(json, AuthRedirect.class);
 
-        AuthToken token = weChatService.getAuthToken(code,weChatConfig.getAppid());
+        AuthToken token = weChatService.getAuthToken(code, weChatConfig.getAppid());
 
         //  查询用户期望转跳的url
         String url = redisService.getStr(re.getMappingId().toString());
         String data = Codec.DoBase64.custom().setData(token.getOpenid()).encodeAsText();
 
-        Cookie cookie = new Cookie("openKey",data);
+        Cookie cookie = new Cookie("openKey", data);
         cookie.setMaxAge(31536000);
         cookie.setPath("/");
         response.addCookie(cookie);
 
-        log.info("微信授权转跳. url: {}",url);
+        log.info("微信授权转跳. url: {}", url);
         response.sendRedirect(url);
 
     }
@@ -160,11 +162,11 @@ public class AuthorizationController {
      * 微信js-sdk 权限验证
      */
     @RequestMapping(value = "/jsTicket", method = RequestMethod.GET)
-    public Result<JsSdkTicket> ticket(String appId, String url) throws Exception{
+    public Result<JsSdkTicket> ticket(String appId, String url) throws Exception {
         if (StringUtils.isBlank(url)) {
             throw BusinessRuntimeException.getInstance("请输入授权网址.");
         }
-        return GatewayResponse.SUCCESS.newBuilder().toResult(authorizationService.getJsTicket(Optional.ofNullable(appId).orElse(weChatConfig.getAppid()),url));
+        return GatewayResponse.SUCCESS.newBuilder().toResult(authorizationService.getJsTicket(Optional.ofNullable(appId).orElse(weChatConfig.getAppid()), url));
 
     }
 
@@ -204,10 +206,14 @@ public class AuthorizationController {
      * 网页微信授权登录
      */
     @GetMapping("/wx/authLogin")
-    public Result<String> wxAuthorize(Long sharedId, Integer dsType, Long popularizeId, String dsCode) throws Exception {
+    public Result<String> wxAuthorize(Long sharedId, Integer dsType, Long popularizeId, String dsCode, String type) throws Exception {
         String wxAuthUrl = redisService.getStr(RedisService.key.WX_LOGIN_AUTH_URI.getNameFormat(wxOpenPlatYHLXLoginConfig.getAppId()));
         Long mappingId = SEQUENCE.nextId();
-        redisService.set(mappingId.toString(), wxOpenPlatYHLXLoginConfig.getLoginUrl(), 60 * 60 * 24L);
+        String loginUrl = wxOpenPlatYHLXLoginConfig.getLoginUrl();
+        if (StrUtil.isNotBlank(type)) {
+            loginUrl = String.format("https://nf.video/%s/web", type);
+        }
+        redisService.set(mappingId.toString(), loginUrl, 60 * 60 * 24L);
         if (StrUtil.isNotBlank(dsCode)) {
             dsCode = dsCode.trim();
         }
@@ -269,10 +275,12 @@ public class AuthorizationController {
         }
         StpUserUtil.login(userId);
         String token = StpUserUtil.getTokenValue();
-
+        if (StrUtil.isEmpty(user.getShowId())) {
+            user.setShowId(userService.getUserShowId(userId));
+        }
         JSONObject jsonObject = new JSONObject();
         jsonObject.putOpt("saToken", token);
-        jsonObject.putOpt("uid", userId);
+        jsonObject.putOpt("showId", user.getShowId());
         jsonObject.putOpt("nickname", user.getNickname());
         jsonObject.putOpt("img", user.getHeadimgurl());
 
@@ -326,7 +334,7 @@ public class AuthorizationController {
         } else phoneCodeMapper.updateById(phoneCode);
         if (!isFree) {
             SmsUtil.sendTencent(phone, code);
-        }else {
+        } else {
             // 发送短信
             SmsUtil.sendLuoKey2Msg(phone, String.format("尊敬的用户,您的验证码为%s,此验证码仅用于银河录像。【银河录像局】", code));
         }
@@ -383,7 +391,7 @@ public class AuthorizationController {
                 throw BusinessRuntimeException.getInstance("手机验证码错误,请重新输入");
             }
             wrapper.eq(User::getLoginPhone, loginReq.getPhone());
-        }else if (loginReq.getType() == 2){
+        } else if (loginReq.getType() == 2) {
             if (StrUtil.isEmpty(loginReq.getEmail())) {
                 throw BusinessRuntimeException.getInstance("邮箱不能为空");
             }
@@ -396,7 +404,7 @@ public class AuthorizationController {
             }
             wrapper.eq(User::getEmail, loginReq.getEmail());
             redisService.del(RedisService.key.EMAIL_CODE_KEY.getNameFormat(loginReq.getEmail()));
-        }else {
+        } else {
             throw BusinessRuntimeException.getInstance("系统异常,请刷新页面重新操作");
         }
         //保存用户信息
@@ -406,13 +414,19 @@ public class AuthorizationController {
         Long dsPopularizeId = null;
         if (StrUtil.isNotBlank(dsCode)) {
             dsCode = dsCode.trim();
-            UserDistributePopularize distributePopularize = distributePopularizeMapper.selectOne(Wrappers.lambdaQuery(UserDistributePopularize.class)
-                    .eq(UserDistributePopularize::getCode, dsCode)
-                    .select(UserDistributePopularize::getUserId, UserDistributePopularize::getId).last("limit 1"));
-            if (distributePopularize != null) {
-                log.info("渠道sharedId:{}设置固定推广链接PC用户分销", distributePopularize.getUserId());
-                sharedId = distributePopularize.getUserId();
-                dsPopularizeId = distributePopularize.getId();
+            User sharedUser = userService.getOne(Wrappers.lambdaQuery(User.class)
+                    .eq(User::getShowId, dsCode).last("limit 1"));
+            if (sharedUser != null) {
+                sharedId = sharedUser.getId();
+            } else {
+                UserDistributePopularize distributePopularize = distributePopularizeMapper.selectOne(Wrappers.lambdaQuery(UserDistributePopularize.class)
+                        .eq(UserDistributePopularize::getCode, dsCode)
+                        .select(UserDistributePopularize::getUserId, UserDistributePopularize::getId).last("limit 1"));
+                if (distributePopularize != null) {
+                    log.info("渠道sharedId:{}设置固定推广链接PC用户分销", distributePopularize.getUserId());
+                    sharedId = distributePopularize.getUserId();
+                    dsPopularizeId = distributePopularize.getId();
+                }
             }
         }
         if (user == null) {
@@ -442,7 +456,10 @@ public class AuthorizationController {
         }
         //写回登陆信息
         StpUserUtil.login(user.getId());
-        LoginPhoneRep loginPhoneRep = new LoginPhoneRep(StpUserUtil.getTokenValue(), user.getId(), user.getNickname(), user.getHeadimgurl());
+        if (StrUtil.isEmpty(user.getShowId())) {
+            user.setShowId(userService.getUserShowId(user.getId()));
+        }
+        LoginPhoneRep loginPhoneRep = new LoginPhoneRep(StpUserUtil.getTokenValue(), user.getShowId(), user.getNickname(), user.getHeadimgurl());
         return GatewayResponse.SUCCESS.newBuilder().toResult(loginPhoneRep);
     }
 
@@ -468,7 +485,10 @@ public class AuthorizationController {
         cookie.setPath("/");
         response.addCookie(cookie);
         JSONObject jsonObject = new JSONObject();
-        jsonObject.putOpt("uid", user.getId());
+        if (StrUtil.isEmpty(user.getShowId())) {
+            user.setShowId(userService.getUserShowId(user.getId()));
+        }
+        jsonObject.putOpt("showId", user.getShowId());
         jsonObject.putOpt("nickName", user.getNickname());
 
         Cookie userInfo = new Cookie("info", Base64.encode(jsonObject.toString()));

+ 8 - 2
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -29,6 +29,7 @@ import com.cyksj.model.request.TransferAccountsReq;
 import com.cyksj.model.views.*;
 import com.cyksj.service.order.OrderDonService;
 import com.cyksj.service.user.UserBenefitsService;
+import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpUserUtil;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
@@ -61,6 +62,8 @@ public class DistributePopularizeController {
 
 	private final UserMapper userMapper;
 
+	private final UserService userService;
+
 	private final BeanSearcher beanSearcher;
 
 	private final GoodsDonMapper goodsDonMapper;
@@ -124,12 +127,15 @@ public class DistributePopularizeController {
 	@GetMapping("/get/detail")
 	public Result<DistributePopularizeView> getDetail() {
 		Long userId = StpUserUtil.getLoginIdAsLong();
+		User user = userMapper.selectById(userId);
+		if (StrUtil.isEmpty(user.getShowId())) {
+			user.setShowId(userService.getUserShowId(userId));
+		}
 		DistributePopularizeView distributePopularizeView = new DistributePopularizeView();
-		String dsUrl = String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, userId);
+		String dsUrl = String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, user.getShowId());
 //		distributePopularizeView.setUrl(String.format("https://%s/8081/api/auth/weChat?url=https://%s/yinhe/web&sharedId=%s", domain, domain, userId));
 		distributePopularizeView.setUrl(dsUrl);
 		distributePopularizeView.setUrlCode(QrCodeUtil.generateAsBase64(distributePopularizeView.getUrl(), QrConfig.create(), "png"));
-		User user = userMapper.selectById(userId);
 		distributePopularizeView.setGotPoints(user.getPoints());
 		Integer orders = userDistributeMapper.count(userId);
 		distributePopularizeView.setDistributeOrders(orders);

+ 58 - 0
netflix-web/src/main/java/com/cyksj/web/controller/user/UserComplaintController.java

@@ -0,0 +1,58 @@
+package com.cyksj.web.controller.user;
+
+import com.cyksj.common.annotation.NoSubmit;
+import com.cyksj.dto.Result;
+import com.cyksj.enums.GatewayResponse;
+import com.cyksj.model.entity.UserComplaint;
+import com.cyksj.model.views.UserComplaintFrontView;
+import com.cyksj.service.user.UserComplaintService;
+import com.cyksj.web.util.StpUserUtil;
+import com.ejlchina.searcher.BeanSearcher;
+import com.ejlchina.searcher.SearchResult;
+import com.ejlchina.searcher.util.MapUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/*
+ *项目名: netflix
+ *文件名: UserComplaintController
+ *创建者: JavaZou
+ *创建时间:2023/6/16 11:26
+ */
+@RestController
+@RequestMapping("/applets/user/complaint")
+@RequiredArgsConstructor
+public class UserComplaintController {
+	private final UserComplaintService userComplaintService;
+
+	private final BeanSearcher beanSearcher;
+
+	private final HttpServletRequest request;
+
+	/**
+	 * 用户投诉
+	 */
+	@PostMapping
+	@NoSubmit
+	public Result<String> insert(@RequestBody @Validated UserComplaint userComplaint) {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		userComplaint.setUserId(userId);
+		userComplaintService.insertUserComplaint(userComplaint);
+		return GatewayResponse.SUCCESS.newBuilder().toResult("投诉成功");
+	}
+
+	/**
+	 * 我的投诉列表
+	 */
+	@GetMapping("/get")
+	public Result<SearchResult<UserComplaintFrontView>> get() {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		SearchResult<UserComplaintFrontView> search = beanSearcher.search(UserComplaintFrontView.class, MapUtils.flatBuilder(request.getParameterMap())
+				.field(UserComplaintFrontView::getUserId, userId)
+				.build());
+		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
+	}
+}

+ 23 - 6
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -1,6 +1,7 @@
 package com.cyksj.web.controller.user;
 
 import cn.hutool.core.date.DateTime;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.exception.BusinessRuntimeException;
@@ -224,16 +225,32 @@ public class UserController {
     }
 
     /**
-     * 用户修改头像
+     * 修改用户信息
      */
-    @PutMapping("/put/headImg")
-    public Result<String> updateHeadImg(@RequestBody @Validated UserReq request) {
+    @PutMapping("/update/userInfo")
+    public Result<String> updateHeadImg(@RequestBody UserReq request) {
         long userId = StpUserUtil.getLoginIdAsLong();
         User user = userService.getById(userId);
         if (user == null) throw BusinessRuntimeException.getGatewayApiCode(GatewayApiCode.CMS_TOKEN_VALID);
-        user.setSex(request.getSex());
-        user.setHeadimgurl(request.getHeadImg());
-        userService.updateById(user);
+        Boolean isFlag = false;
+        if (StrUtil.isNotBlank(request.getNickname())) {
+            if (request.getNickname().length() > 32) {
+                throw BusinessRuntimeException.getInstance("名称过长");
+            }
+            user.setNickname(request.getNickname());
+            isFlag = true;
+        }
+        if (request.getSex() != null) {
+            user.setSex(request.getSex());
+            isFlag = true;
+        }
+        if (StrUtil.isNotBlank(request.getHeadimgurl())) {
+            user.setHeadimgurl(request.getHeadimgurl());
+            isFlag = true;
+        }
+        if (isFlag) {
+            userService.updateById(user);
+        }
         return GatewayResponse.SUCCESS.newBuilder().toResult();
     }