diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserBasicFromController.java b/suimangCApi/src/main/java/com/iformall/controller/UserBasicFromController.java new file mode 100644 index 0000000..8b663bb --- /dev/null +++ b/suimangCApi/src/main/java/com/iformall/controller/UserBasicFromController.java @@ -0,0 +1,51 @@ +package com.iformall.controller; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.UserBasicFrom; +import com.iformall.domain.po.UserBasicPropertyLog; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.service.UserBasicFromService; +import com.iformall.service.UserBasicPropertyLogService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@RestController +@RequestMapping("/api/userFrom") +@Api(description = "模板接口") +public class UserBasicFromController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private UserBasicFromService userBasicFromService; + + @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 UserBasicFrom record, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] UserBasicFromController::list"); + if (record == null) record = new UserBasicFrom(); + if(record.getFromProject() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"项目类型为空"); + } + record.setFromUserId(getMemberId()); + record.setSortColumns(BaseEntity.SortField.CreateDate_DESC); + final PageInfo page = userBasicFromService.listAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + +} diff --git a/suimangService/src/main/java/com/iformall/domain/po/UserBasicFrom.java b/suimangService/src/main/java/com/iformall/domain/po/UserBasicFrom.java index 4294652..1e013c6 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/UserBasicFrom.java +++ b/suimangService/src/main/java/com/iformall/domain/po/UserBasicFrom.java @@ -17,6 +17,9 @@ public class UserBasicFrom extends TenantEntity { protected Long id; + @TableField(exist = false) + private String userPhone; + @io.swagger.annotations.ApiModelProperty(value="EnumProject",name="fromProject") private Integer fromProject; @@ -39,4 +42,7 @@ public class UserBasicFrom extends TenantEntity { @TableField(exist = false) private Date endDate; + @TableField(exist = false) + private Integer goldNum; + } diff --git a/suimangService/src/main/java/com/iformall/domain/po/UserBasicPropertyLog.java b/suimangService/src/main/java/com/iformall/domain/po/UserBasicPropertyLog.java index 9896846..d5b59b8 100644 --- a/suimangService/src/main/java/com/iformall/domain/po/UserBasicPropertyLog.java +++ b/suimangService/src/main/java/com/iformall/domain/po/UserBasicPropertyLog.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.Date; +import java.util.List; @TableName(value = "user_basic_property_log") @Data @@ -46,4 +47,7 @@ public class UserBasicPropertyLog extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") private Date createDate; + @io.swagger.annotations.ApiModelProperty(value="记录对应的业务ID",name="extraId") + private List extraIds; + } diff --git a/suimangService/src/main/java/com/iformall/service/cuser/BasicCUserService.java b/suimangService/src/main/java/com/iformall/service/cuser/BasicCUserService.java index ba5be0a..456da21 100644 --- a/suimangService/src/main/java/com/iformall/service/cuser/BasicCUserService.java +++ b/suimangService/src/main/java/com/iformall/service/cuser/BasicCUserService.java @@ -125,7 +125,10 @@ public class BasicCUserService { if(from != null){ from.setId(basicInfo.getId()); - userBasicFromService.saveForm(from); + from.setCreateDate(basicInfo.getCreateDate()); + try{ + userBasicFromService.saveForm(from); + }catch(Exception e){} } } diff --git a/suimangService/src/main/java/com/iformall/service/impl/UserBasicFromServiceImpl.java b/suimangService/src/main/java/com/iformall/service/impl/UserBasicFromServiceImpl.java index 8816bde..c4ee7e6 100644 --- a/suimangService/src/main/java/com/iformall/service/impl/UserBasicFromServiceImpl.java +++ b/suimangService/src/main/java/com/iformall/service/impl/UserBasicFromServiceImpl.java @@ -2,16 +2,29 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; import com.iformall.domain.po.UserBasicFrom; +import com.iformall.domain.po.UserBasicPropertyLog; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.enums.EnumPropertyLogType; +import com.iformall.exception.MallinkException; import com.iformall.mapper.UserBasicFromMapper; +import com.iformall.mapper.UserBasicPropertyLogMapper; +import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.service.UserBasicFromService; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service @Slf4j @@ -22,12 +35,53 @@ public class UserBasicFromServiceImpl implements UserBasicFromService { @Autowired UserBasicFromMapper userBasicFromMapper; + @Autowired + UserBasicPropertyLogMapper userBasicPropertyLogMapper; + + @Autowired + WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + @Override public PageInfo listAsPage(UserBasicFrom record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> userBasicFromMapper.findList(record)); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> userBasicFromMapper.findList(record)); + if(pageInfo.getList() != null && pageInfo.getList().size() > 0){ + List ids = pageInfo.getList().stream().map(from -> from.getId()).collect(Collectors.toList()); + Map cUserSimpleMap = new HashMap(); + WxCUserBasicInfo cBasicInfoQ = new WxCUserBasicInfo(); + cBasicInfoQ.setIds(ids); + List listPhoneAndNameByIds = wxCUserBasicInfoMapper.findListPhoneAndNameByIds(cBasicInfoQ); + for (WxCUserBasicInfo user:listPhoneAndNameByIds) { + cUserSimpleMap.put(user.getId(),user); + } + + Map userPropertyLogMap = new HashMap(); + UserBasicPropertyLog propertyLogQ = new UserBasicPropertyLog(); + propertyLogQ.setUserId(record.getFromUserId()); + propertyLogQ.setProjectType(record.getFromProject()); + propertyLogQ.setType(EnumPropertyLogType.INVITE.getCode()); + propertyLogQ.setExtraIds(ids); + List propertyLogs = userBasicPropertyLogMapper.findList(propertyLogQ); + for (UserBasicPropertyLog log: propertyLogs) { + userPropertyLogMap.put(log.getExtraId(),log); + } + + for (UserBasicFrom from:pageInfo.getList()) { + WxCUserBasicInfo basicInfo = cUserSimpleMap.get(from.getId()); + if(basicInfo != null){ + from.setUserPhone(basicInfo.getPhone()); + } + UserBasicPropertyLog userBasicPropertyLog = userPropertyLogMap.get(from.getId()); + if(userBasicPropertyLog != null){ + from.setGoldNum(userBasicPropertyLog.getGoldNum()); + } + } + + } + return pageInfo; } @Override + @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void saveForm(UserBasicFrom from) { if(from.getId() == null){ return; @@ -36,10 +90,13 @@ public class UserBasicFromServiceImpl implements UserBasicFromService { try{ int insert = userBasicFromMapper.insert(from); if(insert == 1){ + logger.info("邀请加积分{}"+from.getFromUserId()); //todo 邀请逻辑 } - }catch(Exception e){} + }catch(Exception e){ + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR); + } } diff --git a/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java b/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java index a8036ea..ab01946 100644 --- a/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java +++ b/suimangService/src/main/java/com/iformall/sm/AiDigitalAvatarHelper.java @@ -189,14 +189,14 @@ public class AiDigitalAvatarHelper { // System.out.println(result); -// DigitalAvatarParam param = new DigitalAvatarParam(); -// param.setBg_img("style_oneface"); -// String img = Base64Util.imageUrlToBase64("https://suimang.oss-accelerate.aliyuncs.com/builtin/personmould/16760216806604820_cSHoijDX_grace_1080.jpg"); -// param.setImg_lift(img); -// param.setImg_middle("None"); -// param.setImg_right("None"); -// DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,100001l); -// System.out.println(result); + DigitalAvatarParam param = new DigitalAvatarParam(); + param.setBg_img("style_threeface"); + String img = Base64Util.imageUrlToBase64("https://suimang.oss-accelerate.aliyuncs.com/builtin/personmould/16760216806604820_cSHoijDX_grace_1080.jpg"); + param.setImg_lift(img); + param.setImg_middle(img); + param.setImg_right(img); + DigitalAvatarResult result = AiDigitalAvatarHelper.digitalAvatarPhoto(param,100001l); + System.out.println(result); } diff --git a/suimangService/src/main/resources/mapper/UserBasicPropertyLogMapper.xml b/suimangService/src/main/resources/mapper/UserBasicPropertyLogMapper.xml index 3c957e8..34ee5d3 100644 --- a/suimangService/src/main/resources/mapper/UserBasicPropertyLogMapper.xml +++ b/suimangService/src/main/resources/mapper/UserBasicPropertyLogMapper.xml @@ -36,6 +36,9 @@ and `project_type` = #{projectType} and `type` = #{type} + and `extra_id` = #{extraId} + + and `create_date` >= #{startDate} @@ -49,6 +52,13 @@ #{idItem} + + + and extra_id in + + #{extIdItem} + + order by ${sortColumns} diff --git a/suimangService/src/main/resources/mapper/UserDigitalAvatarPhotoMapper.xml b/suimangService/src/main/resources/mapper/UserDigitalAvatarPhotoMapper.xml index 80823d1..cf3c0ad 100644 --- a/suimangService/src/main/resources/mapper/UserDigitalAvatarPhotoMapper.xml +++ b/suimangService/src/main/resources/mapper/UserDigitalAvatarPhotoMapper.xml @@ -46,7 +46,7 @@ and `user_id` = #{userId} - + and `status` = #{status} diff --git a/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 872783b..4feab76 100644 --- a/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/suimangService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -150,13 +150,10 @@