From ee0cdbbd41c2af3974ac852c7bcb6e455a01978c Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 18 Jan 2023 02:50:18 +0800 Subject: [PATCH] //MouldPatch --- .../sm/UserMouldVideoController.java | 71 +++ .../iformall/controller/BaseController.java | 172 +------ .../controller/MouldPatchController.java | 2 +- .../controller/UserMouldVideoController.java | 89 ++++ .../controller/WxUserGrantController.java | 475 ------------------ .../interceptor/AuthorizationInterceptor.java | 1 + .../com/iformall/domain/po/sm/MouldPatch.java | 2 +- .../service/sm/MouldPatchService.java | 1 + .../service/sm/UserMouldVideoService.java | 42 ++ .../sm/impl/MouldPatchServiceImpl.java | 5 + .../sm/impl/UserMouldVideoServiceImpl.java | 64 +++ 11 files changed, 276 insertions(+), 648 deletions(-) create mode 100644 suimangAdmin/src/main/java/com/iformall/controller/sm/UserMouldVideoController.java create mode 100644 suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java create mode 100644 suimangService/src/main/java/com/iformall/service/sm/UserMouldVideoService.java create mode 100644 suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java diff --git a/suimangAdmin/src/main/java/com/iformall/controller/sm/UserMouldVideoController.java b/suimangAdmin/src/main/java/com/iformall/controller/sm/UserMouldVideoController.java new file mode 100644 index 0000000..aff3731 --- /dev/null +++ b/suimangAdmin/src/main/java/com/iformall/controller/sm/UserMouldVideoController.java @@ -0,0 +1,71 @@ +package com.iformall.controller.sm; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.sm.MouldPatch; +import com.iformall.domain.po.sm.MouldPatchSign; +import com.iformall.domain.po.sm.UserMouldVideo; +import com.iformall.service.sm.MouldPatchService; +import com.iformall.service.sm.MouldPatchSignService; +import com.iformall.service.sm.UserMouldVideoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@RequestMapping("userVideo") +@Api(description = "模板接口") +public class UserMouldVideoController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private UserMouldVideoService userMouldVideoService; + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute UserMouldVideo record, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] UserMouldVideoController::list"); + if (record == null) record = new UserMouldVideo(); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + final PageInfo page = userMouldVideoService.listAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + + @ApiOperation("根据id删除接口") + @GetMapping("/del") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + @SystemControllerLog(description = "删除") + public ResultData delete(Long id) { + logger.debug("[" + getIpAddr() + "] UserMouldVideoController::delete"); + userMouldVideoService.deleteById(id); + return new ResultData(); + } + + @ApiOperation("根据id查询接口") + @GetMapping("/findById") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + @SystemControllerLog(description = "查询") + public ResultData findById(Long id) { + logger.debug("[" + getIpAddr() + "] UserMouldVideoController::findById"); + UserMouldVideo userMouldVideo = userMouldVideoService.getById(id); + return new ResultData(userMouldVideo); + } + +} diff --git a/suimangCApi/src/main/java/com/iformall/controller/BaseController.java b/suimangCApi/src/main/java/com/iformall/controller/BaseController.java index e2f984c..a6b462f 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/BaseController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/BaseController.java @@ -102,27 +102,10 @@ public class BaseController { }); } - @Deprecated - public String getTenantId() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String tenantId = (String) request.getAttribute(Constant.TENANT_ID); - return tenantId; - } - public TenantEntity getTenantInfo() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - String tenantId = (String) request.getAttribute(Constant.TENANT_ID); - String parentTenantId = (String) request.getAttribute(Constant.PARENT_TENANT_ID); - TenantEntity tenantEntity = new TenantEntity() ; - tenantEntity.setTenantId(tenantId); - tenantEntity.setParentTenantId(parentTenantId); - return tenantEntity; + return new TenantEntity(); } - public String getFinalTenantId() { - TenantEntity tenantEntity = getTenantInfo(); - return tenantEntity.getFinalTenantId(); - } public Long getMemberId() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); @@ -132,140 +115,6 @@ public class BaseController { } return memberId; } - - public WxAppinfo getCurrentApp() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - WxAppinfo appInfo = (WxAppinfo) request.getAttribute(Constant.APP_INFO); - if(appInfo == null){ - throw new MallinkException(ErrorCode.USER_APPINFO_NOT_EXIST); - } - return appInfo; - } - - public EnumPayVersion getPayVersion() { - WxAppinfo appinfo = getCurrentApp(); - if ( null == appinfo) { - throw new MallinkException(ErrorCode.USER_APPINFO_NOT_EXIST); - } - - WxPayAccount payAccount = RedisCacheUtils.getCacheObject(objectCommonRedisTemplate, Constant.payaccountPrev+appinfo.getPayId(), WxPayAccount.class); - if (null == payAccount) { - payAccount = wxPayAccountService.getById(appinfo.getPayId()); - if (null != payAccount) { - RedisCacheUtils.cache(objectCommonRedisTemplate, Constant.payaccountPrev+appinfo.getPayId(), payAccount, 24*60*60); - } - } - if (null == payAccount) { - throw new MallinkException(ErrorCode.USER_APPINFO_NOFUND_PAYACCOUNT); - } - return EnumPayVersion.getEnum(payAccount.getPayVersion()); - } - - /** - * 微信端获取当前用户 wx_c_user,非会员 - * 请尽量多用getTenantId, getUserId - */ - public CUser getCUser() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY); - - if (baseuser == null) { - throw new MallinkException(ErrorCode.USER_IS_EMPTY); - } - if (baseuser.getRealUser() == null) { - throw new MallinkException(ErrorCode.USER_IS_EMPTY); - } - CUser user = null; - if(EnumAppPlat.WX.equals(baseuser.getAppPlat())){ - user = RedisCacheUtils.getFieldObject(baseuser, "realUser", WxCUser.class); - }else if(EnumAppPlat.TOUTIAO.equals(baseuser.getAppPlat())){ - user = RedisCacheUtils.getFieldObject(baseuser, "realUser", TtCUser.class); - }else{ - user = RedisCacheUtils.getFieldObject(baseuser, "realUser", CUser.class); - } - if(user == null){ - throw new MallinkException(ErrorCode.USER_IS_EMPTY); - } -// TenantEntity tenantEntity = getTenantInfo(); -// if (user.getTenantId() == null) { -// user.setTenantId(tenantEntity.getTenantId()); -// } -// if (user.getParentTenantId() == null) { -// user.setParentTenantId(tenantEntity.getParentTenantId()); -// } - return user; - } - - public EnumPayWay getPayWay(){ - EnumAppPlat appPlat = getCUser().getAppPlat(); - if(EnumAppPlat.WX.equals(appPlat)){ - return EnumPayWay.PAY_WAY_WECHAT; - }else if (EnumAppPlat.TOUTIAO.equals(appPlat)){ - return EnumPayWay.PAY_WAY_TT; - } - return null; - } - - public void removeCacheCUser() { - HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY); - cUserTokenService.removeTokenCache(baseuser.getToken()); - } - - private WxCUserBasicInfo getCacheMember(Long memberId,String finalTenantId,String key,long seconds) throws MallinkException { - // 缓存 - WxCUserBasicInfo member = RedisCacheUtils.getCacheObject(objectCommonRedisTemplate, key, WxCUserBasicInfo.class); - if(null == member) { - member = wxCUserBasicInfoService.getById(memberId,finalTenantId); - if (member == null) { - throw new MallinkException(ErrorCode.USER_IS_EMPTY); - } - - RedisCacheUtils.cache(objectCommonRedisTemplate, key, member, seconds); - } - return member; - } - - public WxCUserBasicInfo getCacheMember() throws MallinkException { - Long memberId = getMemberId(); - String key = "webapp:member:"+memberId; - return getCacheMember(memberId,getFinalTenantId(), key, 3600*24*3); - } - - /*此处缓存短暂时间,因为积分、成长值记录*/ - public WxCUserBasicInfo getShortCacheMember(Long memberId,String finalTenantId) throws Exception { - String key = "webapp:short:member:"+memberId; - return getCacheMember(memberId,finalTenantId, key, 100); - } - - public void removeCacheMember(Long memberId) { - String key = "webapp:member:"+memberId; - RedisCacheUtils.removeCache(objectCommonRedisTemplate, key); - String shortKey = "webapp:short:member:"+memberId; - RedisCacheUtils.removeCache(objectCommonRedisTemplate, shortKey); - } - - public WxMaService getWeappService(String appId) { - if(isFmOpen) { - return openService.getWxOpenComponentService().getWxMaServiceByAppid(appId); - } else { - WxAppinfo appinfo = wxAppinfoService.getOnlyByAppIdFromRedis(appId); - if (appinfo == null) { - return null; - } - WxMaService service = maUtil.getWeappService(appinfo); - return service; - } - - } - - public WxMaService getWeappServiceByAppInfo(WxAppinfo appinfo) { - if(!isFmOpen) { - WxMaService service = maUtil.getWeappService(appinfo); - return service; - } - return null; - } public String getIpAddr() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); @@ -273,23 +122,4 @@ public class BaseController { return ipaddress; } - /** - * 根据扩展字段获取tenantId - */ - public String getTenantId(String attach){ - if(StringUtils.isNotBlank(attach)){ - try{ - Map map = JSONObject.parseObject(attach, Map.class); - String tenantId = map.get("tenantId").toString(); - if(StringUtils.isNotBlank(tenantId)){ - return tenantId; - } - }catch (Exception e){ - - } - } - return null; - } - - } diff --git a/suimangCApi/src/main/java/com/iformall/controller/MouldPatchController.java b/suimangCApi/src/main/java/com/iformall/controller/MouldPatchController.java index 8c93296..6609826 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/MouldPatchController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/MouldPatchController.java @@ -45,7 +45,7 @@ public class MouldPatchController extends BaseController { record.setSendType(EnumMouldSendType.auto.getCode()); record.setStatus(EnumaMouldPatchStatus.put_on.getCode()); record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); - final PageInfo page = mouldPatchService.listAsPage(record, pageNum, pageSize); + final PageInfo page = mouldPatchService.cListAsPage(record, pageNum, pageSize); return new ResultData(page); } diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java new file mode 100644 index 0000000..e7e7a17 --- /dev/null +++ b/suimangCApi/src/main/java/com/iformall/controller/UserMouldVideoController.java @@ -0,0 +1,89 @@ +package com.iformall.controller; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.sm.MouldPatch; +import com.iformall.domain.po.sm.MouldPatchSign; +import com.iformall.domain.po.sm.UserMouldVideo; +import com.iformall.enums.EnumMouldSendType; +import com.iformall.enums.EnumaMouldPatchStatus; +import com.iformall.service.sm.MouldPatchService; +import com.iformall.service.sm.MouldPatchSignService; +import com.iformall.service.sm.UserMouldVideoService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@RequestMapping("/api/userVideo") +@Api(description = "模板接口") +public class UserMouldVideoController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private UserMouldVideoService userMouldVideoService; + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute UserMouldVideo record, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] UserMouldVideoController::list"); + if (record == null) record = new UserMouldVideo(); + record.setUserId(getMemberId()); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + final PageInfo page = userMouldVideoService.cListAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("根据id查询接口") + @GetMapping("/findById") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + public ResultData findById(Long id) { + logger.debug("[" + getIpAddr() + "] MouldPatchController::findById"); + UserMouldVideo userMouldVideo = userMouldVideoService.getById(id); + return new ResultData(userMouldVideo); + } + + @ApiOperation("新增接口") + @PostMapping("saveOrUpdate") + public ResultData saveOrUpdate(@RequestBody UserMouldVideo record) { + logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate"); + record.setUserId(getMemberId()); + return userMouldVideoService.saveOrUpdate(record); + } + + @ApiOperation("生成视频") + @PostMapping("createVideo") + public ResultData create(@RequestBody UserMouldVideo record) { + logger.debug("[" + getIpAddr() + "] MouldPatchController::saveOrUpdate"); + if(record.getId() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + UserMouldVideo mouldVideo = userMouldVideoService.getById(record.getId()); + if(mouldVideo == null || !mouldVideo.getUserId().equals(getMemberId())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到用户数据"); + } + + + UserMouldVideo mouldVideoUpd = new UserMouldVideo(); + mouldVideoUpd.setId(record.getId()); +// mouldVideoUpd.setVideoId(); +// mouldVideoUpd.setVideoPath(); +// mouldVideoUpd.setVideoTime(); + return userMouldVideoService.saveOrUpdate(mouldVideoUpd); + } + +} diff --git a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 23c0ab6..d17ede4 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -1,27 +1,15 @@ package com.iformall.controller; -import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; -import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.google.code.kaptcha.Producer; import com.iformall.annotation.AuthIgnore; -import com.iformall.annotation.TenantIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; -import com.iformall.domain.po.base.TenantEntity; -import com.iformall.domain.vo.MallUserInfoVo; -import com.iformall.domain.vo.WxCUserVo; -import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.enums.*; -import com.iformall.exception.MallinkException; import com.iformall.service.*; import com.iformall.service.cuser.CUserServiceFactory; -import com.iformall.service.wechat.FmOpenService; import com.iformall.utils.Constant; -import com.iformall.utils.IPUtil; import com.iformall.utils.PasswordHelper; import com.iformall.utils.RedisCacheUtils; import io.swagger.annotations.Api; @@ -30,31 +18,19 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; import javax.imageio.ImageIO; -import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException; -import java.io.PrintWriter; -import java.math.BigDecimal; -import java.net.URLEncoder; -import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; @RestController @@ -250,455 +226,4 @@ public class WxUserGrantController extends BaseController { } } - - @PostMapping("/updateScene") - @ApiOperation(value = "用户更新scene", notes = "{\"scene\":\"string\"}") - public ResultData updateScene(@RequestBody Map map) { - logger.info(map.toString()); - String scene = map.get("scene"); - CUser user = getCUser(); - if (StringUtils.isBlank(user.getScene()) || - user.getScene().equalsIgnoreCase(Constant.UNDEFINED)) { - if(StringUtils.isNotBlank(scene) && scene.equalsIgnoreCase(Constant.UNDEFINED)) { - user.setScene(scene); - cuserFactory.getCUserService(user.getAppPlat()).updateScene(user); - removeCacheCUser(); - } - } - return new ResultData(); - } - - @PostMapping("/updateLBS") - @ApiOperation(value = "用户更新位置信息", notes = "{\"latitude\":\"string\",\"longitude\":\"string\"}") - public ResultData updateLBS(@RequestBody Map map) { - logger.info(map.toString()); - String longitude = map.get("longitude"); - String latitude = map.get("latitude"); - CUser user = getCUser(); - if (!StringUtils.isBlank(longitude)) - user.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude))); - if (!StringUtils.isBlank(latitude)) - user.setLatitude(BigDecimal.valueOf(Double.valueOf(latitude))); - cuserFactory.getCUserService(user.getAppPlat()).updateLBS(user); - return new ResultData(); - } - - @PostMapping("/updateExtInfo") - @ApiOperation(value = "用户更新扩展信息(手机)", notes = "{\"systemInfo\":\"string\"}") - public ResultData updateExtInfo(@RequestBody Map map) { - logger.debug(map.toString()); - String systemInfo = map.get("systemInfo"); - CUser user = getCUser(); - if (StringUtils.isNotBlank(systemInfo)) { - JSONObject extraInfo = new JSONObject(); - extraInfo.put("systemInfo", JSONObject.parseObject(systemInfo)); - user.setExtraInfo(extraInfo.toJSONString()); - } - cuserFactory.getCUserService(user.getAppPlat()).updateExtInfo(user); - return new ResultData(); - } - - /** - * 获取用户的昵称等信息 - * - * @param map - * @return - */ - @PostMapping("/getUserInfo") - @ApiOperation(value = "授权后获取用户的昵称,unionId等信息", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}") - public ResultData getUserInfo(@RequestBody Map map) { - logger.info(map.toString()); - Map resultMap = new HashMap(); - String encryptedData = map.get("encryptedData"); - String iv = map.get("iv"); - if (StringUtils.isBlank(encryptedData)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "encryptedData不能为空"); - } - if (StringUtils.isBlank(iv)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv不能为空"); - } - CUser user = getCUser(); - if (user != null) { - WxAppinfo wxAppinfo = wxAppinfoService.getOnlyByAppIdFromRedis(user.getAppId()); - if(wxAppinfo == null){ - return new ResultData(ErrorCode.APP_ID_NOT_FOUND); - } - try { - // 解密用户信息 - cuserFactory.getCUserService(user.getAppPlat()).decryptUserInfo(encryptedData, iv,user,wxAppinfo,isFmOpen); - resultMap.put("openId", user.getOpenId()); - resultMap.put("unionId", user.getUnionId()); - resultMap.put("msg", "获取用户信息成功!"); - return new ResultData(resultMap); - } catch (MallinkException e) { - return new ResultData(e.getErrorCode(), e.getMessage()); - } catch (Exception e) { - logger.error(e.getMessage(), e); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "解密并保存出错", resultMap); - } - } else { - return new ResultData(ErrorCode.USER_LOGIN_FAILED); - } - } - - /** - * 授权后获取用户的手机号等信息 - * - * @param map - * @return - */ - @PostMapping("/getUserPhone") - @ApiOperation(value = "授权后获取用户的手机号", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}") - public ResultData getUserPhone(@RequestBody Map map) { - logger.info(map.toString()); - String encryptedData = map.get("encryptedData"); - String iv = map.get("iv"); - //登录凭证不能为空 - if (StringUtils.isBlank(encryptedData)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "encryptedData 不能为空"); - } - if (StringUtils.isBlank(iv)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); - } - - Map resultMap = new HashMap(); - CUser user = getCUser(); - if (user == null) { - return new ResultData(ErrorCode.USER_IS_EMPTY); - } - WxAppinfo wxAppinfo = wxAppinfoService.getOnlyByAppIdFromRedis(user.getAppId()); - if(wxAppinfo == null){ - return new ResultData(ErrorCode.APP_ID_NOT_FOUND); - } - - try { - // 解密 - String phone = cuserFactory.getCUserService(user.getAppPlat()).decryptPhoneNoInfo(encryptedData, iv, user, wxAppinfo, isFmOpen); - resultMap.put("msg", "授权手机成功!"); - resultMap.put("phone", phone); - } catch (MallinkException e) { - return new ResultData(e.getErrorCode(), e.getMessage()); - }catch (Exception e) { - this.logger.error(e.getMessage(), e); - return new ResultData(ErrorCode.DB_FAIL.getCode(), "解密并保存出错", resultMap); - } - - return new ResultData(resultMap); - } - - /** - * 检查微信用户状态 - * - * @return - */ - @RequestMapping("/checkWechatStatus") - @ApiOperation(value = "判断用户是否完成授权", notes = "") - public ResultData checkWechatStatus() { - Map resultMap = new HashMap(); - CUser user = getCUser(); - if (StringUtils.isNoneEmpty(user.getNickName())) { - resultMap.put("nickName", user.getNickName()); - } else { - logger.warn("用户昵称未授权,跳转到用户授权页!"); - return new ResultData(ErrorCode.NICK_NAME_NOT_FOUND.getCode(), "用户昵称未授权,请跳转到用户昵称授权页!", resultMap); - } - if (StringUtils.isNotBlank(user.getPhone())) { - resultMap.put("phone", user.getPhone()); - } else { - if (StringUtils.isBlank(user.getPhone())) { - logger.warn("用户手机号未授权,跳转到授权手机号页!"); - return new ResultData(ErrorCode.PHONE_NOT_FOUND.getCode(), "用户手机号未授权,请跳转到授权手机号页!", resultMap); - } - if (user.getPhone().contains("*")) { - logger.warn("用户手机号已加密,跳转到手工输入手机号页!"); - return new ResultData(ErrorCode.PHONE_IS_ENCRYPTED.getCode(), "用户手机号已加密,手工输入手机号页!", resultMap); - } - } - return new ResultData(Result.SUCCESS, "是老用户,已完成用户昵称/手机号授权", resultMap); - } - - /** - * 检查用户状态 - * - * @return - */ - @RequestMapping("/checkUserStatus") - @ApiOperation(value = "判断用户是否完成昵称授权", notes = "") - public ResultData checkUserStatus() { - Map resultMap = new HashMap(); - CUser user = getCUser(); - if (StringUtils.isNoneEmpty(user.getNickName())) { - resultMap.put("nickName", user.getNickName()); - } else { - logger.warn("用户昵称未授权,跳转到用户授权页!"); - return new ResultData(ErrorCode.NICK_NAME_NOT_FOUND.getCode(), "用户昵称未授权,请跳转到用户昵称授权页!", resultMap); - } - return new ResultData(Result.SUCCESS, "是老用户,已完成用户昵称授权", resultMap); - } - - /** - * 检查用户状态 - * - * @return - */ - @RequestMapping("/checkPhoneStatus") - @ApiOperation(value = "判断用户是否完成手机授权", notes = "") - public ResultData checkPhoneStatus() { - Map resultMap = new HashMap(); - CUser user = getCUser(); - if (StringUtils.isNotBlank(user.getPhone())) { - resultMap.put("phone", user.getPhone()); - } else { - if (StringUtils.isBlank(user.getPhone())) { - logger.warn("用户手机号未授权,跳转到授权手机号页!"); - return new ResultData(ErrorCode.PHONE_NOT_FOUND.getCode(), "用户手机号未授权,请跳转到授权手机号页!", resultMap); - } - if (user.getPhone().contains("*")) { - logger.warn("用户手机号已加密,跳转到手工输入手机号页!"); - return new ResultData(ErrorCode.PHONE_IS_ENCRYPTED.getCode(), "用户手机号已加密,手工输入手机号页!", resultMap); - } - } - return new ResultData(Result.SUCCESS, "是老用户,已完成手机号授权", resultMap); - } - -// @RedisCache //导致更改手机号后数据更新不及时 - @ApiOperation("获取当前用户信息") - @GetMapping("/userinfo") - public ResultData getUserInfo() { - CUser user = getCUser(); - - WxCUserVo userVo = new WxCUserVo(); - org.springframework.beans.BeanUtils.copyProperties(user, userVo); - userVo.setScore(0); - userVo.setCredit(0); - if(user.basicInfoIs()){ - WxCUserBasicInfo wxCUserBasicInfo; - try { - wxCUserBasicInfo = getShortCacheMember(user.getUserId(),getFinalTenantId()); - //WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(user.getUserId()); - if (wxCUserBasicInfo != null) { - userVo.setAvatarUrl(wxCUserBasicInfo.getAvatarUrl()); - userVo.setNickName(wxCUserBasicInfo.getNickName()); - userVo.setScore(wxCUserBasicInfo.getPoins()); - userVo.setCredit(wxCUserBasicInfo.getCredit()); - userVo.setName(wxCUserBasicInfo.getName()); - userVo.setBirthdate(wxCUserBasicInfo.getBirthdate()); - userVo.setSex(wxCUserBasicInfo.getSex()); - userVo.setHeight(wxCUserBasicInfo.getHeight()); - userVo.setWeight(wxCUserBasicInfo.getWeight()); - userVo.setAddress(wxCUserBasicInfo.getAddress()); - userVo.setStatus(wxCUserBasicInfo.getStatus()); - } - } catch (Exception e) { - logger.error("userinfo error.",e); - } - - } - - if (userVo.getScore() == null) - userVo.setScore(0); - Integer levelScore = 0; - Integer levelTarget= 0; - userVo.setLevelName(WxLevelConfigService.DEFAULT_LEVEL); - List levelList = wxLevelConfigService.getByTenantInfo(getTenantInfo()); - if (levelList.size() > 0) - levelTarget = levelList.get(0).getPoints(); - for (int i = 0; i= levelConfig.getPoints()) { - userVo.setLevelId(levelConfig.getId()); - userVo.setLevelName(levelConfig.getLevel()); - levelScore = levelConfig.getPoints(); - if (i+1 < levelList.size()) - levelTarget = levelList.get(i+1).getPoints(); - } - } - - if (levelTarget == 0) { - userVo.setUpgradePercent(0); - userVo.setUpgradeScore(0); - } else if(levelScore == levelTarget) { - userVo.setUpgradePercent(100); - userVo.setUpgradeScore(0); - } else { - userVo.setUpgradePercent((userVo.getScore()-levelScore)*100/(levelTarget-levelScore)); - userVo.setUpgradeScore(levelTarget-userVo.getScore()); - } - - return new ResultData(userVo); - } - - /** - * 授权后获取用户的手机号等信息 - * - * @param map - * @return - */ - @PostMapping("/getWeRunData") - @ApiOperation(value = "获取用户过去三十天微信运动步数", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}") - public ResultData getWeRunData(@RequestBody Map map) { - logger.debug(map.toString()); - String encryptedData = map.get("encryptedData"); - String iv = map.get("iv"); - - //登录凭证不能为空 - if (StringUtils.isBlank(encryptedData)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "encryptedData 不能为空"); - } - if (StringUtils.isBlank(iv)) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); - } - - CUser user = getCUser(); - - String session_key = user.getSessionKey(); - try { - // 解密 - String weRunDataStr = WxMaCryptUtils.decrypt(session_key, encryptedData, iv); - if (null != weRunDataStr) { - Object obj = JSON.parse(weRunDataStr); - return new ResultData(obj); - } else { - return new ResultData(ErrorCode.WE_RUN_DATA_DECODE_ERR); - } - } catch (Exception e) { - this.logger.error(e.getMessage(), e); - return new ResultData(ErrorCode.WE_RUN_DATA_DECODE_ERR); - } - } - - /** - * 用户更新信息 - * - * @return - */ - @PostMapping("/updateUserInfo") - @ApiOperation(value = "用户更新信息", notes = "") - public ResultData updateUserInfo(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) { - if (wxCUserBasicInfo == null) - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); - - TenantEntity tenantEntity = getTenantInfo(); - Long memberId; - try { - memberId = getMemberId(); - } catch (Exception e) { - return new ResultData(Result.ERROR,e.getMessage()); - } - - if (StringUtils.isNotBlank(wxCUserBasicInfo.getNickName()) - || StringUtils.isNotBlank(wxCUserBasicInfo.getAvatarUrl()) - || StringUtils.isNotBlank(wxCUserBasicInfo.getName()) - || wxCUserBasicInfo.getBirthdate() != null - || wxCUserBasicInfo.getSex() != null - || StringUtils.isNotBlank(wxCUserBasicInfo.getAddress())) { - - WxCUserBasicInfo record = new WxCUserBasicInfo(); - record.setId(memberId); - record.setNickName(wxCUserBasicInfo.getNickName()); - record.setAvatarUrl(wxCUserBasicInfo.getAvatarUrl()); - record.setName(wxCUserBasicInfo.getName()); - record.setBirthdate(wxCUserBasicInfo.getBirthdate()); - record.setSex(wxCUserBasicInfo.getSex()); - record.setWeight(wxCUserBasicInfo.getWeight()); - record.setHeight(wxCUserBasicInfo.getHeight()); - record.setAddress(wxCUserBasicInfo.getAddress()); - record.setUpdateDate(new Date()); - record.setFinalTenantId(tenantEntity.getFinalTenantId()); - wxCUserBasicInfoService.update(record); - - removeCacheMember(memberId); - - try{ - //推送猫酷 - mallCooUserInfoService.pullByMobileMsg(tenantEntity, record.getId()); - }catch(Exception e){ - logger.error("发送同步会员消息异常"); - } - - wxScoreRulesService.addScore(tenantEntity,EnumScoreType.COMPLETE_INFO, record); - //增加积分 - WxCreditHistory wxCreditHistory = new WxCreditHistory(); - wxCreditHistory.setCUserId(record.getId()); -// wxCreditHistory.updateTenantInfo(tenantEntity); - wxCreditHistory.setTenantId(tenantEntity.getFinalTenantId()); - wxCreditHistory.setFinalTenantId(tenantEntity.getFinalTenantId()); - wxCreditHistory.setCreateDate(new Date()); - wxCreditHistory.setCreditType(EnumScoreType.COMPLETE_INFO.getCode()); - wxCreditHistory.setChangePurpose(EnumScoreType.COMPLETE_INFO.getMessage()); - wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); - wxCreditHistory.setOperatorId(memberId); - wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantEntity.getTenantId()); - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, record,tenantEntity,null); - - - } - return new ResultData(); - } - - /** - * 获取用户折扣率 - * - * @return - */ - @RequestMapping("/getDiscountInfo") - @ApiOperation(value = "获取用户折扣率", notes = "") - public ResultData getDiscountInfo() { - WxCUserBasicInfo member; - try { - Long memberId = getMemberId(); - member = wxCUserBasicInfoService.getById(memberId,getFinalTenantId()); - } catch (Exception e) { - return new ResultData(Result.ERROR,e.getMessage()); - } - List levelList = wxLevelConfigService.getByTenantInfo(getTenantInfo()); - - String level = WxLevelConfigService.DEFAULT_LEVEL; - Long levelId = 0L; - for (WxLevelConfig levelConfig : levelList) { - if (member.getPoins() >= levelConfig.getPoints()) { - if (levelConfig.getDiscountEnable().equals(EnumLevelConfigDiscountStatus.ENABLE.getCode())) - levelId = levelConfig.getId(); - level = levelConfig.getLevel(); - } - } - WxLevelMerchant levelMerchant = new WxLevelMerchant(); - levelMerchant.updateTenantInfo(getTenantInfo()); - levelMerchant.setLevelId(levelId); - List levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant); - - Map result = new HashMap(); - result.put("id", member.getId()); - result.put("level", level); - result.put("levelMerchantList", levelMerchantList); - return new ResultData(result); - } - - - @PostMapping("/updateMsg") - @ApiOperation(value = "updateMsg", notes = "{\"id\":\"string\"}") - public ResultData updateMsg() { - CUser user = getCUser(); - cuserFactory.getCUserService(user.getAppPlat()).updateMsgCount(user); - return new ResultData(); - } - - @ApiOperation("获取当前用户二维码") - @GetMapping("/userinfoQrCode") - public ResultData getUserinfoQrCode() { - CUser user = getCUser(); - if(user.basicInfoIs()){ - String qrCode = ""; - if(StringUtils.isBlank(user.getQrCode())){ - qrCode = cuserFactory.getCUserService(user.getAppPlat()).updateQrCode(user); - }else{ - qrCode = user.getQrCode(); - } - return new ResultData(qrCode); - - }else{ - return new ResultData(ErrorCode.USER_IS_NOT_MEMBER); - } - } - } diff --git a/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index 0e3f554..5cde095 100644 --- a/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -73,6 +73,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(basicInfo == null){ throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); } + request.setAttribute(Constant.LOGIN_MEMBER_KEY,basicInfo.getId()); return true; } diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/MouldPatch.java b/suimangService/src/main/java/com/iformall/domain/po/sm/MouldPatch.java index 93cae66..46b9223 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/sm/MouldPatch.java +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/MouldPatch.java @@ -96,7 +96,7 @@ public class MouldPatch extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="购买须知",name="remark") private String remark; - @io.swagger.annotations.ApiModelProperty(value="模板文件",name="mould_path") + @io.swagger.annotations.ApiModelProperty(value="模板文件",name="mouldPath") private String mouldPath; @io.swagger.annotations.ApiModelProperty(value="EnumaMouldPatchStatus 状态(-1:全部,0:草稿/待生效,1:已生效,2:已失效,3:已作废)",name="status") diff --git a/suimangService/src/main/java/com/iformall/service/sm/MouldPatchService.java b/suimangService/src/main/java/com/iformall/service/sm/MouldPatchService.java index b6bde94..cea39df 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/MouldPatchService.java +++ b/suimangService/src/main/java/com/iformall/service/sm/MouldPatchService.java @@ -26,6 +26,7 @@ public interface MouldPatchService { * @return */ PageInfo listAsPage(MouldPatch record, Integer pageIndex, Integer pageSize); + PageInfo cListAsPage(MouldPatch record, Integer pageIndex, Integer pageSize); /** * 根据Id获得实体 diff --git a/suimangService/src/main/java/com/iformall/service/sm/UserMouldVideoService.java b/suimangService/src/main/java/com/iformall/service/sm/UserMouldVideoService.java new file mode 100644 index 0000000..6c42137 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/sm/UserMouldVideoService.java @@ -0,0 +1,42 @@ +package com.iformall.service.sm; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; +import com.iformall.domain.po.sm.MouldPatch; +import com.iformall.domain.po.sm.UserMouldVideo; + +public interface UserMouldVideoService { + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPage(UserMouldVideo record, Integer pageIndex, Integer pageSize); + PageInfo cListAsPage(UserMouldVideo record, Integer pageIndex, Integer pageSize); + + /** + * 根据Id获得实体 + * + * @param id + * @return + */ + UserMouldVideo getById(Long id); + + /** + * 保存或更新实体 + * + * @param record + */ + ResultData saveOrUpdate(UserMouldVideo record); + + /** + * 根据Id删除实体 + * + * @param id + */ + void deleteById(Long id); +} diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/MouldPatchServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/MouldPatchServiceImpl.java index fdb0131..5d3aef9 100644 --- a/suimangService/src/main/java/com/iformall/service/sm/impl/MouldPatchServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/MouldPatchServiceImpl.java @@ -34,6 +34,11 @@ public class MouldPatchServiceImpl implements MouldPatchService { public PageInfo listAsPage(MouldPatch record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mouldPatchMapper.findList(record)); } + + @Override + public PageInfo cListAsPage(MouldPatch record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mouldPatchMapper.findCList(record)); + } @Override public MouldPatch getById(Long id) { diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java new file mode 100644 index 0000000..04d77a6 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/UserMouldVideoServiceImpl.java @@ -0,0 +1,64 @@ +package com.iformall.service.sm.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; +import com.iformall.domain.po.sm.UserMouldVideo; +import com.iformall.mapper.UserMouldVideoMapper; +import com.iformall.service.sm.UserMouldVideoService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; + + +@Service +public class UserMouldVideoServiceImpl implements UserMouldVideoService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + UserMouldVideoMapper userMouldVideoMapper; + + + @Override + public PageInfo listAsPage(UserMouldVideo record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> userMouldVideoMapper.findList(record)); + } + + @Override + public PageInfo cListAsPage(UserMouldVideo record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> userMouldVideoMapper.findCList(record)); + } + + @Override + public UserMouldVideo getById(Long id) { + return userMouldVideoMapper.selectById(id); + } + + @Override + public ResultData saveOrUpdate(UserMouldVideo record) { + + Date now = new Date(); + if (record.getId() == null) { + //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + record.setCreateDate(now); + record.setUpdateDate(now); + userMouldVideoMapper.insert(record); + } else { + record.setUpdateDate(now); + userMouldVideoMapper.updateById(record); + } + return new ResultData(); + } + + @Override + public void deleteById(Long id) { + userMouldVideoMapper.deleteById(id); + } + +}