Browse Source

Merge branch 'app_sfq' into develop

songfuqiang 2 years ago
parent
commit
1fe32dfb89

+ 6 - 2
backend-core/src/main/java/cn/kdan/pdf/backend/core/controller/DeviceController.java

@@ -1,12 +1,16 @@
 package cn.kdan.pdf.backend.core.controller;
 
+import cn.kdan.pdf.backend.core.params.RelationParam;
 import cn.kdan.pdf.backend.core.service.DeviceService;
+import constant.CommonConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import pojo.AppRequestParam;
 import pojo.AppResultMap;
+import pojo.Device;
 
 /**
  * @author sfq
@@ -20,8 +24,8 @@ public class DeviceController {
     private DeviceService deviceService;
 
     @PutMapping("/updateInfo")
-    public AppResultMap updateInfo(AppRequestParam param){
-        return new AppResultMap();
+    public AppResultMap<Device> updateInfo(@RequestBody AppRequestParam<RelationParam> param){
+        return new AppResultMap(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,deviceService.updateInfo(param.getData()));
     }
 
 }

+ 4 - 4
backend-core/src/main/java/cn/kdan/pdf/backend/core/controller/MembersController.java

@@ -11,10 +11,10 @@ import cn.kdan.pdf.backend.core.model.member.ModifyPasswordReq;
 import cn.kdan.pdf.backend.core.params.BindAccountParam;
 import cn.kdan.pdf.backend.core.params.UserResetPwdParams;
 import cn.kdan.pdf.backend.core.pojo.app.BindAccountVo;
+import cn.kdan.pdf.backend.core.pojo.app.MemberInfoVo;
 import cn.kdan.pdf.backend.core.pojo.app.MemberVo;
 import cn.kdan.pdf.backend.core.service.AuthService;
 import cn.kdan.pdf.backend.core.service.MemberService;
-import com.sun.org.apache.xpath.internal.objects.XString;
 import constant.CommonConstant;
 import exception.BackendRuntimeException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -165,8 +165,8 @@ public class MembersController {
      * @return 用户信息
      */
     @GetMapping("appGetMemberInfo")
-    public AppResultMap<MemberInfoResp> appGetMemberInfo(@RequestParam("subscription") String subscription, @RequestParam("withSocial") String withSocial){
-        return new AppResultMap<>(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,memberService.getMemberDetail(null));
+    public AppResultMap<MemberInfoVo> appGetMemberInfo(@RequestParam("subscription") String subscription, @RequestParam("withSocial") String withSocial){
+        return new AppResultMap<>(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,memberService.appGetMemberInfo(subscription, withSocial));
     }
 
     /**
@@ -175,7 +175,7 @@ public class MembersController {
      * @return 用户信息
      */
     @PutMapping("appModifyName")
-    public AppResultMap<MemberVo> appModifyName(@RequestParam("name") AppRequestParam<String> param){
+    public AppResultMap<MemberVo> appModifyName(@RequestBody AppRequestParam<String> param){
         return new AppResultMap<>(CommonConstant.SUCCESS,CommonConstant.CODE_SUCCESS,memberService.appModifyName(param.getData()));
     }
 

+ 10 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/enums/ProviderEnum.java

@@ -42,4 +42,14 @@ public enum ProviderEnum {
         }
         return value;
     }
+
+    public static String getNameByCode(Integer code){
+        String value = "tencent";
+        for (ProviderEnum providerEnum : ProviderEnum.values()) {
+            if(providerEnum.getValue().equals(code)){
+                value = providerEnum.getName();
+            }
+        }
+        return value;
+    }
 }

+ 1 - 1
backend-core/src/main/java/cn/kdan/pdf/backend/core/model/member/SubPricing.java

@@ -13,7 +13,7 @@ public class SubPricing {
     private Float price;
     private Date startDate;
     private Integer status;
-    private String targetId;
+    private Integer targetId;
     private String targetType;
     private String totalPeriod;
     private Integer totalPoints;

+ 27 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/pojo/app/MemberInfoVo.java

@@ -0,0 +1,27 @@
+package cn.kdan.pdf.backend.core.pojo.app;
+
+import cn.kdan.pdf.backend.core.model.member.MemberInfo;
+import cn.kdan.pdf.backend.core.model.member.SubPricing;
+import cn.kdan.pdf.backend.core.model.member.SubSetPricing;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author sfq
+ * @description
+ */
+@Data
+public class MemberInfoVo {
+
+    private String type;
+
+    private MemberInfo memberInfo;
+
+    private List<SubPricing> pricingList;
+
+    private List<SubSetPricing> setPricingList;
+
+    private List<SocialAccountVo> socialAccountList;
+
+}

+ 8 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/DeviceService.java

@@ -1,6 +1,8 @@
 package cn.kdan.pdf.backend.core.service;
 
 import cn.kdan.pdf.backend.core.model.Devices;
+import cn.kdan.pdf.backend.core.params.RelationParam;
+import pojo.Device;
 
 /**
  * @author : SongFuQiang
@@ -30,4 +32,10 @@ public interface DeviceService {
      */
     void update(Devices device, String uuid);
 
+    /**
+     * 更新设备信息
+     * @param param device+location
+     * @return device
+     */
+    Device updateInfo(RelationParam param);
 }

+ 9 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/MemberService.java

@@ -8,6 +8,7 @@ import cn.kdan.pdf.backend.core.model.member.ModifyPasswordReq;
 import cn.kdan.pdf.backend.core.params.BindAccountParam;
 import cn.kdan.pdf.backend.core.params.UserResetPwdParams;
 import cn.kdan.pdf.backend.core.pojo.app.BindAccountVo;
+import cn.kdan.pdf.backend.core.pojo.app.MemberInfoVo;
 import cn.kdan.pdf.backend.core.pojo.app.MemberVo;
 
 public interface MemberService {
@@ -109,4 +110,12 @@ public interface MemberService {
      * @param memberId 用户ID
      */
     void deleteByMemberId(String memberId);
+
+    /**
+     * app获取用户信息
+     * @param subscription 1:不显示订阅信息 0:显示订阅信息
+     * @param withSocial 如果是QQ、微信登录,传入字段可实现第三方登录的信息。0:不显示, 1:显示
+     * @return 用户详细信息
+     */
+    MemberInfoVo appGetMemberInfo(String subscription, String withSocial);
 }

+ 3 - 2
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/SocialAccountService.java

@@ -5,6 +5,8 @@ import cn.kdan.pdf.backend.core.model.SocialAccounts;
 import cn.kdan.pdf.backend.core.params.BindAccountParam;
 import cn.kdan.pdf.backend.core.pojo.app.SocialAccountVo;
 
+import java.util.List;
+
 /**
  * @author : SongFuQiang
  * @date : 2022/12/9 16:37
@@ -28,10 +30,9 @@ public interface SocialAccountService {
     /**
      * 根据用户id查询社交账号表数据
      * @param userId 用户id
-     * @param provider 第三方
      * @return 社交账号信息
      */
-    SocialAccounts selectByMemberId(String userId, Integer provider);
+    List<SocialAccounts> selectByMemberId(String userId);
 
     /**
      * 根据用户id删除社交账号信息

+ 23 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/DeviceServiceImpl.java

@@ -3,12 +3,17 @@ package cn.kdan.pdf.backend.core.service.impl;
 import cn.kdan.pdf.backend.core.mapper.DevicesMapper;
 import cn.kdan.pdf.backend.core.model.Devices;
 import cn.kdan.pdf.backend.core.model.DevicesExample;
+import cn.kdan.pdf.backend.core.model.Members;
+import cn.kdan.pdf.backend.core.params.RelationParam;
 import cn.kdan.pdf.backend.core.service.DeviceService;
+import cn.kdan.pdf.backend.core.service.MemberService;
 import exception.BackendRuntimeException;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import pojo.Device;
 
 import javax.annotation.Resource;
 import java.util.Date;
@@ -24,6 +29,8 @@ public class DeviceServiceImpl implements DeviceService {
 
     @Resource
     private DevicesMapper devicesMapper;
+    @Resource
+    private MemberService memberService;
 
     @Override
     @Transactional(rollbackFor = BackendRuntimeException.class)
@@ -65,4 +72,20 @@ public class DeviceServiceImpl implements DeviceService {
         example.createCriteria().andMemberIdEqualTo(device.getMemberId()).andUuidEqualTo(uuid);
         devicesMapper.updateByExample(device,example);
     }
+
+    @Override
+    @Transactional(rollbackFor = BackendRuntimeException.class)
+    public Device updateInfo(RelationParam param) {
+        Members currentUser = memberService.getCurrentUser();
+        Device device = param.getDevice();
+        DevicesExample example = new DevicesExample();
+        example.createCriteria().andMemberIdEqualTo(currentUser.getId()).andUuidEqualTo(device.getUuid());
+        List<Devices> devices = devicesMapper.selectByExample(example);
+        if(!CollectionUtils.isEmpty(devices)){
+            Devices dev = devices.get(0);
+            BeanUtils.copyProperties(device,dev);
+            devicesMapper.updateByExample(dev,example);
+        }
+        return device;
+    }
 }

+ 26 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MemberServiceImpl.java

@@ -13,6 +13,7 @@ import cn.kdan.pdf.backend.core.model.member.*;
 import cn.kdan.pdf.backend.core.params.BindAccountParam;
 import cn.kdan.pdf.backend.core.params.UserResetPwdParams;
 import cn.kdan.pdf.backend.core.pojo.app.BindAccountVo;
+import cn.kdan.pdf.backend.core.pojo.app.MemberInfoVo;
 import cn.kdan.pdf.backend.core.pojo.app.MemberVo;
 import cn.kdan.pdf.backend.core.pojo.app.SocialAccountVo;
 import cn.kdan.pdf.backend.core.service.AuthService;
@@ -597,4 +598,29 @@ public class MemberServiceImpl implements MemberService {
         membersMapper.deleteByPrimaryKey(memberId);
     }
 
+    @Override
+    public MemberInfoVo appGetMemberInfo(String subscription, String withSocial) {
+        MemberInfoVo memberInfoVo = new MemberInfoVo();
+        MemberInfoResp memberDetail = getMemberDetail(null);
+        memberInfoVo.setType("members");
+        memberInfoVo.setMemberInfo(memberDetail.getMemberInfo());
+        //1:不显示订阅信息 0:显示订阅信息
+        if("0".equals(subscription)){
+            memberInfoVo.setSetPricingList(memberDetail.getSetPricingList());
+            memberInfoVo.setPricingList(memberDetail.getPricingList());
+        }
+        // 如果是QQ、微信登录,传入字段可实现第三方登录的信息。0:不显示, 1:显示
+        if("1".equals(withSocial)){
+            List<SocialAccountVo> list = new ArrayList<>();
+            List<SocialAccounts> socialAccounts = socialAccountService.selectByMemberId(memberDetail.getMemberInfo().getId());
+            for (SocialAccounts account : socialAccounts) {
+                SocialAccountVo vo = new SocialAccountVo();
+                BeanUtils.copyProperties(account,vo);
+                vo.setProvider(ProviderEnum.getNameByCode(account.getProvider()));
+                list.add(vo);
+            }
+            memberInfoVo.setSocialAccountList(list);
+        }
+        return memberInfoVo;
+    }
 }

+ 3 - 7
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/SocialAccountServiceImpl.java

@@ -60,14 +60,10 @@ public class SocialAccountServiceImpl implements SocialAccountService {
     }
 
     @Override
-    public SocialAccounts selectByMemberId(String userId, Integer provider) {
+    public List<SocialAccounts> selectByMemberId(String userId) {
         SocialAccountsExample example = new SocialAccountsExample();
-        example.createCriteria().andMemberIdEqualTo(userId).andProviderEqualTo(provider);
-        List<SocialAccounts> list = socialAccountsMapper.selectByExample(example);
-        if(CollectionUtils.isEmpty(list)){
-            return null;
-        }
-        return list.get(0);
+        example.createCriteria().andMemberIdEqualTo(userId);
+        return socialAccountsMapper.selectByExample(example);
     }
 
     @Override