diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java index f2cd1f7e3..54aee52dd 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java @@ -79,6 +79,9 @@ public class MallUserInfo extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "邮箱", name = "email") private String email; + @io.swagger.annotations.ApiModelProperty(value = "作者Id", name = "merchantId") + private Long merchantId; + public Integer getWithWechatNotFormat() { return this.withWechat; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java index 0bedd604e..89eccbfd7 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java @@ -1,13 +1,11 @@ package com.iformall.domain.po; import com.baomidou.mybatisplus.annotation.IdType; -import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -160,29 +158,6 @@ public class WxMall extends TenantEntity { } } - @io.swagger.annotations.ApiModelProperty(value="管理员Id",name="adminId") - @TableField(exist = false) - private Long adminId; - - @io.swagger.annotations.ApiModelProperty(value="管理员姓名",name="adminName") - @TableField(exist = false) - private String adminName; - - @io.swagger.annotations.ApiModelProperty(value="管理员电话",name="adminPhone") - @TableField(exist = false) - private String adminPhone; - - @io.swagger.annotations.ApiModelProperty(value="管理员登陆帐号",name="adminUsername") - @TableField(exist = false) - private String adminUsername; - - @io.swagger.annotations.ApiModelProperty(value="管理员登陆密码",name="adminPassword") - @TableField(exist = false) - private String adminPassword; - - @io.swagger.annotations.ApiModelProperty(value="1:有效,0:禁止登录",name="adminStatus") - @TableField(exist = false) - private Integer adminStatus; @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="查询-开始时间",name="startTime") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/TtMallVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/TtMallVo.java new file mode 100644 index 000000000..e3d8e4b0e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/TtMallVo.java @@ -0,0 +1,43 @@ +package com.iformall.domain.vo; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.WxMall; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * Created by syf on 2018/8/30. + */ +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class TtMallVo extends WxMall { + + @io.swagger.annotations.ApiModelProperty(value="管理员Id",name="adminId") + @TableField(exist = false) + private Long adminId; + + @io.swagger.annotations.ApiModelProperty(value="管理员姓名",name="adminName") + @TableField(exist = false) + private String adminName; + + @io.swagger.annotations.ApiModelProperty(value="管理员电话",name="adminPhone") + @TableField(exist = false) + private String adminPhone; + + @io.swagger.annotations.ApiModelProperty(value="管理员登陆帐号",name="adminUsername") + @TableField(exist = false) + private String adminUsername; + + @io.swagger.annotations.ApiModelProperty(value="管理员登陆密码",name="adminPassword") + @TableField(exist = false) + private String adminPassword; + + @io.swagger.annotations.ApiModelProperty(value="1:有效,0:禁止登录",name="adminStatus") + @TableField(exist = false) + private Integer adminStatus; + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/TtMerchantVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/TtMerchantVo.java new file mode 100644 index 000000000..d79987398 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/TtMerchantVo.java @@ -0,0 +1,40 @@ +package com.iformall.domain.vo; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.WxMerchant; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + +/** + * Created by syf on 2018/8/30. + */ +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class TtMerchantVo extends WxMerchant { + + @io.swagger.annotations.ApiModelProperty(value="帐号Id",name="accountLoginId") + @TableField(exist = false) + private Long accountLoginId; + + @io.swagger.annotations.ApiModelProperty(value="管理员登陆帐号",name="adminUsername") + @TableField(exist = false) + private String accountUsername; + + @io.swagger.annotations.ApiModelProperty(value="管理员登陆密码",name="adminPassword") + @TableField(exist = false) + private String accountPassword; + + @io.swagger.annotations.ApiModelProperty(value="启用开始时间",name="validStart") + @TableField(exist = false) + private Date validStart; + @io.swagger.annotations.ApiModelProperty(value = "启用结束时间", name = "validEnd") + @TableField(exist = false) + private Date validEnd; + +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTtSaleType.java b/mallinkService/src/main/java/com/iformall/enums/EnumTtSaleType.java new file mode 100644 index 000000000..e6db4029c --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTtSaleType.java @@ -0,0 +1,39 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2019/09/21 + */ +public enum EnumTtSaleType { + + ZHUZHI(102, "组织"), + UPZHU(103, "UP主"), + ZUOZHE(104, "作者"), + + YUNYING(101, "运营"), + ; + + public static EnumTtSaleType getEnum(Integer code) { + for (EnumTtSaleType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumTtSaleType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index 9505db9b8..7343eb317 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -3,6 +3,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.dto.WxMerchantDto; +import com.iformall.domain.vo.TtMerchantVo; import com.iformall.domain.vo.WxMerchantTradeDetailVo; import com.iformall.domain.vo.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantVo; @@ -57,4 +58,6 @@ public interface WxMerchantMapper extends CommonMapper { List findFollowList(WxMerchant record); int recordedAmount(WxMerchant record); + + List findTtList(TtMerchantVo wxMerchant); } diff --git a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java index ede013589..8cce95486 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxProjectConfig; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.MallUserInfoVo; +import com.iformall.enums.EnumYesOrNo; import java.io.Serializable; import java.util.Collection; @@ -203,4 +204,6 @@ public interface MallUserInfoService { * @return */ Set getUserPermissions(MallUserInfo record, boolean boolNav); + + int ttMerchantDisable(Long merchantId, EnumYesOrNo yes); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMallService.java b/mallinkService/src/main/java/com/iformall/service/WxMallService.java index fc1bfd5bd..8a91512ff 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMallService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMallService.java @@ -5,6 +5,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.WxProjectConfig; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxMall; +import com.iformall.domain.vo.TtMallVo; import java.util.List; @@ -88,5 +89,5 @@ public interface WxMallService { PageInfo listAadminAsPage(WxMall wxMall, Integer pageNum, Integer pageSize); - ResultData addAadmin(WxMall wxMall); + ResultData addAadmin(TtMallVo ttMallVo); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index 1988a4f0c..f7f0b0935 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -6,10 +6,7 @@ import com.iformall.domain.dto.WxMerchantDto; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxProfitSharingReceiver; -import com.iformall.domain.vo.WxMerchantSimpleVo; -import com.iformall.domain.vo.WxMerchantTradeDetailVo; -import com.iformall.domain.vo.WxMerchantTradeVo; -import com.iformall.domain.vo.WxMerchantVo; +import com.iformall.domain.vo.*; import com.iformall.enums.EnumPayWay; import org.springframework.web.bind.annotation.ModelAttribute; @@ -171,9 +168,11 @@ public interface WxMerchantService { ResultData markup(WxMerchant wxMerchant); - ResultData addttMerchant(WxMerchant wxMerchant, Long userId); + ResultData addttMerchant(TtMerchantVo ttMerchantVo); ResultData ttdisable(Long id); ResultData ttstartusing(Long id); + + PageInfo ttlistAsPage(TtMerchantVo wxMerchant, Integer pageNum, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java index e2e41be9f..d90158fb7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java @@ -12,6 +12,7 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.MallUserInfoVo; import com.iformall.enums.EnumMallUserStatus; +import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.MallRoleService; @@ -335,4 +336,13 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { return permsSet; } + @Override + public int ttMerchantDisable(Long merchantId, EnumYesOrNo yesOrNo) { + MallUserInfo userInfoQ = new MallUserInfo(); + userInfoQ.setMerchantId(merchantId); + MallUserInfo userInfo = new MallUserInfo(); + userInfo.setStatus(yesOrNo.getCode()); + return mallUserInfoMapper.update(userInfo,new QueryWrapper<>(userInfoQ)); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java index 8a75a051a..59d281941 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMallServiceImpl.java @@ -7,6 +7,8 @@ import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.TtMallVo; +import com.iformall.enums.EnumGroupSupport; import com.iformall.enums.EnumInvestUserType; import com.iformall.enums.EnumMallUserStatus; import com.iformall.enums.EnumUserAdmin; @@ -274,39 +276,40 @@ public class WxMallServiceImpl implements WxMallService { @Override @Transactional(rollbackFor = {Exception.class}) - public ResultData addAadmin(WxMall wxMall) { + public ResultData addAadmin(TtMallVo ttMallVo) { - if(wxMall.getId() == null){ - wxMall.setValidStart(new Date()); - if(StringUtils.isBlank(wxMall.getBusinessHours())){ - wxMall.setBusinessHours("[]"); + if(ttMallVo.getId() == null){ +// ttMallVo.setValidStart(new Date()); + if(StringUtils.isBlank(ttMallVo.getBusinessHours())){ + ttMallVo.setBusinessHours("[]"); } - if(StringUtils.isBlank(wxMall.getIntroduction())){ - wxMall.setIntroduction(""); + if(StringUtils.isBlank(ttMallVo.getIntroduction())){ + ttMallVo.setIntroduction(""); } - if(StringUtils.isBlank(wxMall.getImg())){ - wxMall.setImg(""); + if(StringUtils.isBlank(ttMallVo.getImg())){ + ttMallVo.setImg(""); } - wxMall.setTenantId("-1"); - this.save(wxMall); - wxMall.setTenantId(wxMall.getId().toString()); + ttMallVo.setTenantId("-1"); + ttMallVo.setGroupSupport(EnumGroupSupport.SUPPORT.getCode()); + this.save(ttMallVo); + ttMallVo.setTenantId(ttMallVo.getId().toString()); }else{ - WxMall byId = this.getById(wxMall.getId()); + WxMall byId = this.getById(ttMallVo.getId()); if(byId == null){ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"找不到组织"); } - wxMall.updateTenantInfo(byId.getTenantInfo()); + ttMallVo.updateTenantInfo(byId.getTenantInfo()); } - this.update(wxMall); + this.update(ttMallVo); boolean bChangedPhone = false; MallUserInfo userInfo = new MallUserInfo(); - userInfo.setId(wxMall.getAdminId()); - userInfo.updateTenantInfo(wxMall.getTenantInfo()); - userInfo.setName(wxMall.getAdminName()); - userInfo.setUsername(wxMall.getAdminUsername()); - userInfo.setPhone(wxMall.getAdminPhone()); - userInfo.setPassword(wxMall.getAdminPassword()); + userInfo.setId(ttMallVo.getAdminId()); + userInfo.updateTenantInfo(ttMallVo.getTenantInfo()); + userInfo.setName(ttMallVo.getAdminName()); + userInfo.setUsername(ttMallVo.getAdminUsername()); + userInfo.setPhone(ttMallVo.getAdminPhone()); + userInfo.setPassword(ttMallVo.getAdminPassword()); if(userInfo.getId() == null){ if(userInfoService.cntByUserName(userInfo.getUsername()) > 0){ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 85479bb4a..813ce4c7f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -20,6 +20,7 @@ import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.*; import com.iformall.utils.DateUtils; +import com.iformall.utils.PasswordHelper; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -29,6 +30,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -106,6 +108,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Autowired WxMallService wxMallService; + @Autowired + MallUserInfoService userInfoService; + @Autowired TtCouponMapper ttCouponMapper; @@ -1040,49 +1045,158 @@ public class WxMerchantServiceImpl implements WxMerchantService { } @Override - public ResultData addttMerchant(WxMerchant wxMerchant, Long userId) { + @Transactional(rollbackFor = {Exception.class}) + public ResultData addttMerchant(TtMerchantVo ttMerchantVo) { try { - WxMall mall = wxMallService.getByTenantId(wxMerchant.getTenantId()); - if(mall == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"找不到组织"); + if(StringUtils.isBlank(ttMerchantVo.getParentTenantId())){ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,"数据异常"); + } + WxMall parentMall = wxMallService.getByTenantId(ttMerchantVo.getParentTenantId()); + if(parentMall == null){ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,"数据异常"); + } + if(StringUtils.isBlank(ttMerchantVo.getTenantId())){ + WxMall wxMall = new WxMall(); + wxMall.setName(ttMerchantVo.getName()); + wxMall.setServicePhone(ttMerchantVo.getLinkPhone()); + wxMall.setImgUrlH(parentMall.getImgUrlH()); + wxMall.setSaleType(EnumTtSaleType.UPZHU.getCode()); + wxMall.setValidStart(ttMerchantVo.getValidStart()); + wxMall.setValidEnd(ttMerchantVo.getValidEnd()); + wxMall.setIntroduction(ttMerchantVo.getIntroduction()); + wxMall.setBusinessHours("[]"); + wxMall.setIntroduction(""); + wxMall.setImg(""); + wxMall.setTenantId("-1"); + wxMall.setGroupSupport(EnumGroupSupport.NOT_SUPPORT.getCode()); + wxMallService.save(wxMall); + wxMall.setTenantId(wxMall.getId().toString()); + wxMallService.update(wxMall); + + ttMerchantVo.setTenantId(wxMall.getTenantId()); + ttMerchantVo.setIsAdmin(EnumYesOrNo.YES.getCode()); + }else{ + WxMall mall = wxMallService.getByTenantId(ttMerchantVo.getTenantId()); + if(mall == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"找不到组织"); + } } - wxMerchant.updateTenantInfo(mall.getTenantInfo()); - if (hasMerchant(wxMerchant)) { + if (hasMerchant(ttMerchantVo)) { return new ResultData(ErrorCode.MERCHANT_NAME_IS_FOUND,"名称已存在"); } - if (hasMerchantEncode(wxMerchant)) { + if (hasMerchantEncode(ttMerchantVo)) { return new ResultData(ErrorCode.MERCHANT_CODE_IS_FOUND,"编码已存在"); } - if (StringUtils.isNotBlank(wxMerchant.getCoverPicture())) { - List coverPicture = JSONArray.parseArray(wxMerchant.getCoverPicture(), String.class); + if (StringUtils.isNotBlank(ttMerchantVo.getCoverPicture())) { + List coverPicture = JSONArray.parseArray(ttMerchantVo.getCoverPicture(), String.class); if (!coverPicture.isEmpty()) { - wxMerchant.setImgUrl(coverPicture.get(0)); + ttMerchantVo.setImgUrl(coverPicture.get(0)); } } else { - if (StringUtils.isNotBlank(wxMerchant.getImgUrl())) { + if (StringUtils.isNotBlank(ttMerchantVo.getImgUrl())) { List strList = new ArrayList(); - strList.add(wxMerchant.getImgUrl()); - wxMerchant.setCoverPicture(JSONArray.toJSONString(strList)); + strList.add(ttMerchantVo.getImgUrl()); + ttMerchantVo.setCoverPicture(JSONArray.toJSONString(strList)); } } Date date = new Date(); - if(wxMerchant.getId() == null){ + if(ttMerchantVo.getId() == null){ final IdWorker idWorker = IdWorker.get(); - wxMerchant.setId(idWorker.nextId()); - if(wxMerchant.getStatus() == null){ - wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); + ttMerchantVo.setId(idWorker.nextId()); + if(ttMerchantVo.getStatus() == null){ + ttMerchantVo.setStatus(EnumMerchantStatus.VALID.getCode()); } -// wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); - if(wxMerchant.getIsAdmin() == null) { - wxMerchant.setIsAdmin(EnumYesOrNo.NO.getCode()); + if(ttMerchantVo.getIsAdmin() == null) { + ttMerchantVo.setIsAdmin(EnumYesOrNo.NO.getCode()); } - wxMerchant.setUpdateDate(date); - wxMerchant.setCreateDate(date); - wxMerchantMapper.insert(wxMerchant); + ttMerchantVo.setUpdateDate(date); + ttMerchantVo.setCreateDate(date); + wxMerchantMapper.insert(ttMerchantVo); }else{ - wxMerchant.setUpdateDate(date); - wxMerchantMapper.updateById(wxMerchant); + WxMerchant merchant = wxMerchantMapper.selectById(ttMerchantVo.getId()); + if(merchant == null){ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,"找不到数据"); + } + if(merchant.getIsAdmin().equals(EnumYesOrNo.YES.getCode())){ + if(!merchant.getTenantId().equals(ttMerchantVo.getTenantId())){ + return new ResultData(ErrorCode.SYS_SERVER_ERROR,"UP主组织不能改变"); + } + WxMall wxMallU = new WxMall(); + wxMallU.setId(Long.parseLong(merchant.getTenantId())); + wxMallU.setName(ttMerchantVo.getName()); + wxMallU.setServicePhone(ttMerchantVo.getLinkPhone()); + wxMallU.setValidStart(ttMerchantVo.getValidStart()); + wxMallU.setValidEnd(ttMerchantVo.getValidEnd()); + wxMallU.setIntroduction(ttMerchantVo.getIntroduction()); + wxMallService.update(wxMallU); + } + ttMerchantVo.setUpdateDate(date); + wxMerchantMapper.updateById(ttMerchantVo); + } + + boolean bChangedPhone = false; + MallUserInfo userInfo = new MallUserInfo(); + userInfo.setId(ttMerchantVo.getAccountLoginId()); + userInfo.updateTenantInfo(ttMerchantVo); + userInfo.setName(ttMerchantVo.getLinkPerson()); + userInfo.setUsername(ttMerchantVo.getAccountUsername()); + userInfo.setPhone(ttMerchantVo.getLinkPhone()); + userInfo.setPassword(ttMerchantVo.getAccountPassword()); + + userInfo.setMerchantId(ttMerchantVo.getId()); + if(ttMerchantVo.getIsAdmin().equals(EnumYesOrNo.YES.getCode())){ + userInfo.setIsAdmin(EnumUserAdmin.ADMIN.getCode()); + }else{ + userInfo.setIsAdmin(EnumUserAdmin.Normal.getCode()); + } + + if(userInfo.getId() == null){ + if(userInfoService.cntByUserName(userInfo.getUsername()) > 0){ + return new ResultData(ErrorCode.USER_NAME_IS_FOUND.getCode(),"用户名已存在"); + } + if(userInfoService.cntByUserPhone(userInfo.getPhone()) > 0){ + return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(),"手机号已存在"); + } + if(StringUtils.isBlank(userInfo.getPassword())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"密码不能为空"); + } + Assert.notNull(userInfo.getPassword(), "密码不能为空"); + PasswordHelper passwordHelper = new PasswordHelper(); + passwordHelper.encryptPassword(userInfo); + userInfo.setInvestRule(EnumInvestUserType.ALL.getCode()); + userInfo.setStatus(EnumMallUserStatus.VALID.getCode()); + }else{ + MallUserInfo oldUser = userInfoService.getById(userInfo.getId()); + if(oldUser == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"找不到管理员"); + } + userInfo.setUsername(oldUser.getUsername()); + if(!oldUser.getTenantId().equals(userInfo.getTenantId())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"tenant_id不匹配"); + } +// if (!oldUser.getUsername().equals(userInfo.getUsername())) { +// if(userInfoService.cntByUserName(userInfo.getUsername()) > 0){ +// return new ResultData(ErrorCode.USER_NAME_IS_FOUND.getCode(),"用户名已存在"); +// } +// } + if (!oldUser.getPhone().equals(userInfo.getPhone())) { + if(userInfoService.cntByUserPhone(userInfo.getPhone()) > 0){ + return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(),"手机号已存在"); + } + bChangedPhone = true; + } + if (StringUtils.isNotBlank(userInfo.getPassword()) && userInfo.getPassword().length() > 0) { + PasswordHelper passwordHelper = new PasswordHelper(); + passwordHelper.encryptPassword(userInfo); + }else{ + userInfo.setPassword(null); + } + } + userInfoService.saveOrUpdate(userInfo); + if(bChangedPhone) { + // 手机号修改,清除bopen_id, 清除web_open_id + userInfoService.cleanAllOpenId(userInfo); } return new ResultData(); } catch (Exception e) { @@ -1106,6 +1220,8 @@ public class WxMerchantServiceImpl implements WxMerchantService { disableMerchant.setMark(EnumYesOrNo.NO.getCode()); disableMerchant.setUpdateDate(new Date()); wxMerchantMapper.updateById(disableMerchant); + //停用作者帐号 + userInfoService.ttMerchantDisable(id,EnumYesOrNo.NO); //下架作者所有作品 TtCoupon couponq = new TtCoupon(); couponq.setMerchantId(id); @@ -1126,18 +1242,27 @@ public class WxMerchantServiceImpl implements WxMerchantService { } @Override + @Transactional(rollbackFor = {Exception.class}) public ResultData ttstartusing(Long id) { WxMerchant wxMerchant = wxMerchantMapper.selectById(id); if (wxMerchant == null || wxMerchant.getStatus().equals(EnumYesOrNo.YES.getCode())) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"作者信息未找到或者已启用"); } + //启用作者 WxMerchant disableMerchant = new WxMerchant(); disableMerchant.setId(id); disableMerchant.setStatus(EnumYesOrNo.YES.getCode()); disableMerchant.setUpdateDate(new Date()); wxMerchantMapper.updateById(disableMerchant); + //启用作者帐号 + userInfoService.ttMerchantDisable(id,EnumYesOrNo.YES); return new ResultData(); } + @Override + public PageInfo ttlistAsPage(TtMerchantVo wxMerchant, Integer pageNum, Integer pageSize) { + return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findTtList(wxMerchant)); + } + } diff --git a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml index 75fd3bbb0..01d34e259 100644 --- a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml @@ -18,6 +18,7 @@ + diff --git a/mallinkService/src/main/resources/mapper/WxMallMapper.xml b/mallinkService/src/main/resources/mapper/WxMallMapper.xml index 57926db57..706a91b0d 100644 --- a/mallinkService/src/main/resources/mapper/WxMallMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMallMapper.xml @@ -41,13 +41,6 @@ - - - - - - - @@ -230,11 +223,12 @@ - select - m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`name`,m.`group`,m.`country`,m.`province`,m.`city`,m.`addr`, - m.`service_phone`,m.`valid_start`, m.`valid_end`, - mui.`id` admin_id,mui.`username` admin_username,mui.`name` admin_name,mui.`phone` admin_phone,mui.status admin_status + m.`id` id,m.`tenant_id` tenantId,m.`parent_tenant_id` parentTenantId,m.`name` name, + m.`group` `group`,m.`country` `country`,m.`province` `province`,m.`city` `city`,m.`addr` `addr`, + m.`service_phone` servicePhone,m.`valid_start` validStart, m.`valid_end` validEnd, + mui.`id` adminId,mui.`username` adminUsername,mui.`name` adminName,mui.`phone` adminPhone,mui.status adminStatus from wx_mall m left join mall_user_info mui on m.tenant_id = mui.tenant_id and mui.is_admin = 1 where 1=1 @@ -269,6 +263,8 @@ and mui.`status` = #{adminStatus} + order by m.id desc + diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index f1e300a9d..1a494371f 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -707,4 +707,75 @@ where id = #{id} + + + diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java index 4cd9584e0..79f1288bc 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java @@ -8,6 +8,8 @@ import com.iformall.controller.base.BaseController; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxMall; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.TtMallVo; +import com.iformall.enums.EnumTtSaleType; import com.iformall.enums.EnumYesOrNo; import com.iformall.service.MallUserInfoService; import com.iformall.service.WxMallService; @@ -32,7 +34,7 @@ public class WxMallController extends BaseController { @Autowired MallUserInfoService userInfoService; - @ApiOperation("查询商场集团列表") + @ApiOperation("查询组织列表") @GetMapping(value = "/listAadmin") @SystemControllerLog(description = "商场基础数据") public ResultData getlistAadmin(@ModelAttribute WxMall wxMall, Integer pageNum, Integer pageSize) { @@ -42,6 +44,7 @@ public class WxMallController extends BaseController { wxMall = new WxMall(); } wxMall.setTenantInfo(getTenantInfo()); + wxMall.setGroupSupport(EnumYesOrNo.YES.getCode()); PageInfo page = wxMallService.listAadminAsPage(wxMall, pageNum, pageSize); return new ResultData(page); }catch (Exception e){ @@ -50,53 +53,53 @@ public class WxMallController extends BaseController { } } - @ApiOperation("查询商场集团列表") + @ApiOperation("添加组织") @PostMapping("addAadmin") @SystemControllerLog(description = "商场基础数据") - public ResultData addAadmin(@RequestBody WxMall wxMall) { + public ResultData addAadmin(@RequestBody TtMallVo ttMallVo) { logger.debug("[" + getIpAddr() + "] WxMallController::addAadmin"); try { - if(wxMall == null){ + if(ttMallVo == null){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode()); } TenantEntity tenantEntity = ifParentTenantInfoAlone(); WxMall parentTenantId = wxMallService.getByTenantId(tenantEntity.getTenantId()); - wxMall.setParentTenantId(tenantEntity.getTenantId()); - wxMall.setImgUrlH(parentTenantId.getImgUrlH()); + ttMallVo.setParentTenantId(tenantEntity.getTenantId()); + ttMallVo.setImgUrlH(parentTenantId.getImgUrlH()); - if(StringUtils.isBlank(wxMall.getName())){ + if(StringUtils.isBlank(ttMallVo.getName())){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"名称不能为空"); } - if(StringUtils.isBlank(wxMall.getAdminName())){ + if(StringUtils.isBlank(ttMallVo.getAdminName())){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"管理员不能为空"); } - if(StringUtils.isBlank(wxMall.getAdminPhone())){ + if(StringUtils.isBlank(ttMallVo.getAdminPhone())){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"管理员手机号不能为空"); } - wxMall.setServicePhone(wxMall.getAdminPhone()); - if(wxMall.getSaleType() == null){ - wxMall.setSaleType(1); + ttMallVo.setServicePhone(ttMallVo.getAdminPhone()); + if(ttMallVo.getSaleType() == null){ + ttMallVo.setSaleType(EnumTtSaleType.ZHUZHI.getCode());//组织 } - if(wxMall.getAdminStatus() == null){ - wxMall.setAdminStatus(EnumYesOrNo.YES.getCode()); + if(ttMallVo.getAdminStatus() == null){ + ttMallVo.setAdminStatus(EnumYesOrNo.YES.getCode()); } - if(wxMall.getId() == null){ - if(StringUtils.isBlank(wxMall.getAdminUsername())){ + if(ttMallVo.getId() == null){ + if(StringUtils.isBlank(ttMallVo.getAdminUsername())){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"管理员帐号不能为空"); } - if(StringUtils.isBlank(wxMall.getAdminPassword())){ + if(StringUtils.isBlank(ttMallVo.getAdminPassword())){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"管理员密码不能为空"); } }else{ - if(wxMall.getAdminId() == null){ + if(ttMallVo.getAdminId() == null){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"admin_id不能为空"); } // wxMall.setAdminUsername(null); } - return wxMallService.addAadmin(wxMall); + return wxMallService.addAadmin(ttMallVo); }catch (Exception e){ logger.error(e.getMessage(),e); return new ResultData(ErrorCode.SYS_SERVER_ERROR); diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java index d3d03eb3d..325a60924 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java @@ -8,15 +8,21 @@ import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.MallUserInfo; +import com.iformall.domain.po.WxMall; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxProfitSharingReceiver; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.TtMerchantVo; import com.iformall.domain.vo.WxMerchantTradeDetailVo; import com.iformall.domain.vo.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantVo; import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumPayWay; +import com.iformall.service.MallUserInfoService; import com.iformall.service.QrCodeService; +import com.iformall.service.WxMallService; import com.iformall.service.WxMerchantService; import com.iformall.utils.Constant; import io.swagger.annotations.ApiImplicitParam; @@ -30,6 +36,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,6 +50,13 @@ public class WxMerchantController extends BaseController { @Autowired private WxMerchantService wxMerchantService; + + @Autowired + private WxMallService wxMallService; + + @Autowired + MallUserInfoService userInfoService; + @Autowired private QrCodeService qrCodeService; @@ -370,15 +384,53 @@ public class WxMerchantController extends BaseController { return wxMerchantService.markup(wxMerchant); } + @ApiOperation("分页列表接口") + @GetMapping("ttlist") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + @SystemControllerLog(description = "商户-列表") + public ResultData ttlist(@ModelAttribute TtMerchantVo wxMerchant, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxMerchantController::ttlist"); + if (null == wxMerchant) wxMerchant = new TtMerchantVo(); + wxMerchant.updateTenantInfo(getTenantInfo()); +// if(StringUtils.isBlank(wxMerchant.getSortColumn())){ +// wxMerchant.setSortColumns(BaseEntity.SortField.CreateDate_DESC); +// } + final PageInfo page = wxMerchantService.ttlistAsPage(wxMerchant, pageNum, pageSize); + return new ResultData(page); + } + @ApiOperation("新增作者") @PostMapping("addttMerchant") @SystemControllerLog(description = "商户-新增") - public ResultData addttMerchant(@RequestBody WxMerchant wxMerchant) { + public ResultData addttMerchant(@RequestBody TtMerchantVo ttMerchantVo) { logger.debug("[" + getIpAddr() + "] WxMerchantController::addMerchant"); - if(StringUtils.isBlank(wxMerchant.getTenantId())){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"未选择组织"); + ttMerchantVo.setParentTenantId(ifParentTenantInfoAlone().getTenantId()); + if(StringUtils.isBlank(ttMerchantVo.getImgUrl())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"作者头像为空"); + } + if(StringUtils.isBlank(ttMerchantVo.getLinkPerson())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"作者姓名为空"); + } + if(StringUtils.isBlank(ttMerchantVo.getLinkPhone())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"作者电话为空"); } - ResultData resultData = wxMerchantService.addttMerchant(wxMerchant, getUserId()); + if(StringUtils.isBlank(ttMerchantVo.getName())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"平台昵称为空"); + } + if(ttMerchantVo.getId() == null){ + ttMerchantVo.setAccountLoginId(null); + if(StringUtils.isBlank(ttMerchantVo.getAccountUsername())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"帐号为空"); + } + if(StringUtils.isBlank(ttMerchantVo.getAccountPassword())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"密码为空"); + } + } + + ResultData resultData = wxMerchantService.addttMerchant(ttMerchantVo); return resultData; } @@ -409,8 +461,24 @@ public class WxMerchantController extends BaseController { if(id == null){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } + Map map = new HashMap<>(); + WxMerchant wxMerchant = wxMerchantService.selectById(id); - return new ResultData(wxMerchant); + if(wxMerchant != null){ + map.put("merchant",wxMerchant); + WxMall mall = wxMallService.getByTenantId(wxMerchant.getTenantId()); + map.put("mall",mall); + MallUserInfo mallUserInfo = new MallUserInfo(); + mallUserInfo.setTenantId(mall.getTenantId()); + mallUserInfo. setMerchantId(wxMerchant.getId()); + List mallUserInfoList = userInfoService.findList(mallUserInfo); + map.put("accountUser",mallUserInfoList); + + return new ResultData(wxMerchant); + }else{ + return new ResultData(); + } + } }