Commit 679eb1c7 by 陶光胜

联合商户

parent 82cc05e8
......@@ -8,7 +8,7 @@ public interface UnionEnterpriseApiService {
ServiceResponse<UnionEnterpriseDTO> getUnionEnterpriseByUnionEnterpriseId(Integer unionEnterrpiseId);
ServiceResponse<Integer> delUnionEnterprise(Integer unionId);
ServiceResponse<Integer> delUnionEnterprise(Integer unionId, Integer enterpriseId);
ServiceResponse<UnionEnterpriseDTO> getUnionEnterpriseById(Integer unionId);
}
......@@ -55,4 +55,6 @@ public interface TabSysUnionEnterpriseResourceMapper {
int updateByPrimaryKey(TabSysUnionEnterpriseResource record);
List<TabSysUnionEnterpriseResource> getResource(@Param("unionId") Integer unionId, @Param("type") int type);
int delResource(@Param("enterpriseId") Integer enterpriseId, @Param("unionId") Integer unionId);
}
\ No newline at end of file
......@@ -3,7 +3,9 @@ package com.gic.auth.service;
import com.gic.auth.entity.TabSysUnionEnterpriseResource;
public interface UnionEnterpriseResourceService {
int saveResource(Integer unionId, Long resourceId, int type);
int saveResource(Integer unionId, Long resourceId, int type, Integer enterpriseId);
TabSysUnionEnterpriseResource getByUnionIdAndType(Integer unionId, int type);
int delResource(Integer unionId, Integer enterpriseId);
}
......@@ -18,9 +18,10 @@ public class UnionEnterrpiseResourceServiceImpl implements UnionEnterpriseResour
private TabSysUnionEnterpriseResourceMapper tabSysUnionEnterpriseResourceMapper;
@Override
public int saveResource(Integer unionId, Long resourceId, int type) {
public int saveResource(Integer unionId, Long resourceId, int type, Integer enterpriseId) {
TabSysUnionEnterpriseResource resource = new TabSysUnionEnterpriseResource();
resource.setResource(resourceId);
resource.setEnterpriseId(enterpriseId);
TabSysUnionEnterpriseResource tabSysUnionEnterpriseResource = this.getByUnionIdAndType(unionId, type);
if(tabSysUnionEnterpriseResource != null){
resource.setUnionResourceId(tabSysUnionEnterpriseResource.getUnionResourceId());
......@@ -44,4 +45,9 @@ public class UnionEnterrpiseResourceServiceImpl implements UnionEnterpriseResour
}
return null;
}
@Override
public int delResource(Integer unionId, Integer enterpriseId) {
return this.tabSysUnionEnterpriseResourceMapper.delResource(enterpriseId, unionId);
}
}
......@@ -21,8 +21,8 @@ public class AuthCodeApiServiceImpl implements AuthCodeApiService {
sysAuthCode.setCreateTime(new Date());
sysAuthCode.setUpdateTime(new Date());
sysAuthCode.setStatus(Constants.NORMAL_STATUS);
int result = this.authCodeService.saveAuthCode(sysAuthCode);
return ServiceResponse.success(result);
this.authCodeService.saveAuthCode(sysAuthCode);
return ServiceResponse.success(sysAuthCode.getAuthCodeId());
}
@Override
......
package com.gic.auth.service.outer.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.constant.AuthorizationStatusEnum;
import com.gic.auth.constant.ResourceTypeEnum;
import com.gic.auth.dto.UnionEnterpriseDTO;
import com.gic.auth.entity.TabSysUnionEnterprise;
......@@ -10,7 +11,6 @@ import com.gic.auth.service.UnionEnterpriseResourceService;
import com.gic.auth.service.UnionEnterpriseService;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.constants.Constants;
import com.gic.enterprise.dto.EnterpriseDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -28,18 +28,20 @@ public class UnionEnterpriseApiServiceImpl implements UnionEnterpriseApiService
@Transactional
public ServiceResponse<Integer> saveUnionEnterprise(UnionEnterpriseDTO enterpriseDTO) {
TabSysUnionEnterprise unionEnterprise = EntityUtil.changeEntityByJSON(TabSysUnionEnterprise.class, enterpriseDTO);
int i = 0;
if(enterpriseDTO.getUnionId() == null) {
unionEnterprise.setCreateTime(new Date());
unionEnterprise.setStatus(Constants.NORMAL_STATUS);
unionEnterprise.setAuthorizationStatus(Constants.NORMAL_STATUS);
unionEnterprise.setAuthorizationStatus(AuthorizationStatusEnum.NORMAL.getCode());
unionEnterprise.setUpdateTime(new Date());
int i = this.unionEnterpriseService.updateUnionEnterprise(unionEnterprise);
if (i > 0) {
this.saveResource(unionEnterprise.getUnionId(), enterpriseDTO);
return ServiceResponse.success(i);
}
i = this.unionEnterpriseService.saveUnionEnterprise(unionEnterprise);
}else {
i = this.unionEnterpriseService.updateUnionEnterprise(unionEnterprise);
}
return ServiceResponse.success();
if (i > 0) {
this.saveResource(unionEnterprise.getUnionId(), enterpriseDTO);
}
return ServiceResponse.success(i);
}
@Override
......@@ -51,8 +53,15 @@ public class UnionEnterpriseApiServiceImpl implements UnionEnterpriseApiService
}
@Override
public ServiceResponse<Integer> delUnionEnterprise(Integer unionId) {
@Transactional
public ServiceResponse<Integer> delUnionEnterprise(Integer unionId, Integer enterpriseId) {
int i = this.unionEnterpriseService.delUnionEnterprise(unionId);
if(i > 0){
int re = this.unionEnterpriseResourceService.delResource(unionId, enterpriseId);
if(re == 0){
throw new RuntimeException();
}
}
return ServiceResponse.success(i);
}
......@@ -66,23 +75,28 @@ public class UnionEnterpriseApiServiceImpl implements UnionEnterpriseApiService
private int saveResource(Integer unionId, UnionEnterpriseDTO enterpriseDTO){
int i = 0;
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getMemberCardResourceId(), ResourceTypeEnum.MEMBER_CARD_RESOURCE.getCode());
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getMemberCardResourceId(),
ResourceTypeEnum.MEMBER_CARD_RESOURCE.getCode(), enterpriseDTO.getEnterpriseId());
if( i == 0){
throw new RuntimeException();
}
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getFwhResourceId(), ResourceTypeEnum.FWH_RESOURCE.getCode());
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getFwhResourceId(),
ResourceTypeEnum.FWH_RESOURCE.getCode(), enterpriseDTO.getEnterpriseId());
if( i == 0){
throw new RuntimeException();
}
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getAppletResourceId(), ResourceTypeEnum.APPLET_RESOURCE.getCode());
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getAppletResourceId(),
ResourceTypeEnum.APPLET_RESOURCE.getCode(), enterpriseDTO.getEnterpriseId());
if( i == 0){
throw new RuntimeException();
}
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getStoreResourceId(), ResourceTypeEnum.STORE_RESOURCE.getCode());
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getStoreResourceId(),
ResourceTypeEnum.STORE_RESOURCE.getCode(), enterpriseDTO.getEnterpriseId());
if( i == 0){
throw new RuntimeException();
}
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getGoodsResourceId(), ResourceTypeEnum.GOODS_RESOURCE.getCode());
i = this.unionEnterpriseResourceService.saveResource(unionId, enterpriseDTO.getGoodsResourceId(),
ResourceTypeEnum.GOODS_RESOURCE.getCode(), enterpriseDTO.getEnterpriseId());
if( i == 0){
throw new RuntimeException();
}
......
......@@ -21,4 +21,5 @@
<!--资源组-->
<dubbo:service interface="com.gic.auth.service.ResourceApiService" ref="resourceApiService" timeout="6000" />
<dubbo:service interface="com.gic.auth.service.AuthCodeApiService" ref="authCodeApiService" timeout="6000" />
<dubbo:service interface="com.gic.auth.service.UnionEnterpriseApiService" ref="unionEnterpriseApiService" timeout="6000" />
</beans>
......@@ -25,7 +25,7 @@
delete from tab_sys_auth_code
where auth_code_id = #{authCodeId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.auth.entity.TabSysAuthCode">
<insert id="insert" parameterType="com.gic.auth.entity.TabSysAuthCode" useGeneratedKeys="true" keyProperty="authCodeId">
insert into tab_sys_auth_code (auth_code_id, auth_code, enterprise_id,
relation_id, status, create_time,
expiration_time, update_time)
......@@ -33,7 +33,7 @@
#{relationId,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{expirationTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.auth.entity.TabSysAuthCode">
<insert id="insertSelective" parameterType="com.gic.auth.entity.TabSysAuthCode" useGeneratedKeys="true" keyProperty="authCodeId">
insert into tab_sys_auth_code
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="authCodeId != null">
......
......@@ -26,7 +26,7 @@
delete from tab_sys_union_enterprise
where union_id = #{unionId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.auth.entity.TabSysUnionEnterprise" useGeneratedKeys="true" keyProperty="union_id">
<insert id="insert" parameterType="com.gic.auth.entity.TabSysUnionEnterprise" useGeneratedKeys="true" keyProperty="unionId">
insert into tab_sys_union_enterprise (union_id, union_enterprise_id, union_enterprise_name,
status, authorization_status, authorization_time,
create_time, update_time, enterprise_id
......@@ -36,7 +36,7 @@
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{enterpriseId,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.auth.entity.TabSysUnionEnterprise" useGeneratedKeys="true" keyProperty="union_id">
<insert id="insertSelective" parameterType="com.gic.auth.entity.TabSysUnionEnterprise" useGeneratedKeys="true" keyProperty="unionId">
insert into tab_sys_union_enterprise
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="unionId != null">
......
......@@ -167,8 +167,14 @@
select
<include refid="Base_Column_List" />
from tab_sys_union_enterprise_resource
where union_id = #{unionResourceId,jdbcType=INTEGER}
where union_id = #{unionId,jdbcType=INTEGER}
and resource_type = #{type}
and status = 1
</select>
<update id="delResource" >
update tab_sys_union_enterprise_resource
set status=0
where union_id = #{unionId,jdbcType=INTEGER}
and enterprise_id= #{enterpriseId}
</update>
</mapper>
\ No newline at end of file
package com.gic.auth.web.controller;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.dto.AuthCodeDTO;
import com.gic.auth.dto.UnionEnterpriseDTO;
import com.gic.auth.service.AuthCodeApiService;
import com.gic.auth.service.UnionEnterpriseApiService;
import com.gic.auth.web.qo.UnionEnterpriseQO;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.utils.UserDetailUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
@RestController
public class UnionEnterpriseController {
@Autowired
private AuthCodeApiService authCodeApiService;
@Autowired
private UnionEnterpriseApiService unionEnterpriseApiService;
@RequestMapping("save-union-enterprise")
public RestResponse saveUnionEnterprise(UnionEnterpriseQO unionEnterpriseQO){
return null;
RestResponse validateResult = this.validateAuthCode(unionEnterpriseQO);
if(validateResult != null){
return validateResult;
}
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
UnionEnterpriseDTO enterpriseDTO = EntityUtil.changeEntityByJSON(UnionEnterpriseDTO.class, unionEnterpriseQO);
enterpriseDTO.setEnterpriseId(enterpriseId);
ServiceResponse<Integer> response = this.unionEnterpriseApiService.saveUnionEnterprise(enterpriseDTO);
if(response.isSuccess()){
return RestResponse.success(response.getResult());
}
return EnterpriseRestResponse.failure(response);
}
@RequestMapping("union-enterprise-detail")
public RestResponse getUnionEnterpriseDetail(Integer unionId){
if(unionId == null){
return EnterpriseRestResponse.failure(ErrorCode.MISS_PARAMETER);
}
ServiceResponse<UnionEnterpriseDTO> response = this.unionEnterpriseApiService.getUnionEnterpriseById(unionId);
if(response.isSuccess()){
return RestResponse.success(response.getResult());
}
return EnterpriseRestResponse.failure(response);
}
@RequestMapping("del-union-enterprise")
public RestResponse delUnionEnterprise(Integer unionId){
if(unionId == null){
return EnterpriseRestResponse.failure(ErrorCode.MISS_PARAMETER);
}
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
ServiceResponse<Integer> response = this.unionEnterpriseApiService.delUnionEnterprise(unionId, enterpriseId);
if(response.isSuccess()){
return RestResponse.success(response.getResult());
}
return EnterpriseRestResponse.failure(response);
}
private RestResponse validateAuthCode(UnionEnterpriseQO unionEnterpriseQO){
ServiceResponse<AuthCodeDTO> authCode = this.authCodeApiService.getAuthCode(unionEnterpriseQO.getAuthCodeId());
if(authCode.isSuccess()){
AuthCodeDTO authCodeDTO = authCode.getResult();
if(authCodeDTO != null){
if(authCodeDTO.getStatus() == 0){
return EnterpriseRestResponse.failure(ErrorCode.AUTHCODE_USED);
}
if(authCodeDTO.getExpirationTime().before(new Date())){
return EnterpriseRestResponse.failure(ErrorCode.AUTHCODE_EXPIRE);
}
if(!authCodeDTO.getAuthCode().equals(unionEnterpriseQO.getAuthCode())){
return EnterpriseRestResponse.failure(ErrorCode.AUTHCODE_MISTAKE);
}
}else {
return EnterpriseRestResponse.failure(ErrorCode.AUTHCODE_ERR);
}
}else {
EnterpriseRestResponse.failure(ErrorCode.AUTHCODE_ERR);
}
return null;
}
}
......@@ -6,12 +6,13 @@ public class UnionEnterpriseQO implements Serializable {
private Integer unionEnterpriseId;
private String unionEnterpriseName;
private String authCode;
private Long memberCardResource;
private Long fwhResource;
private Long appletResource;
private Long storeResource;
private Long goodsResource;
private Long memberCardResourceId;
private Long fwhResourceId;
private Long appletResourceId;
private Long storeResourceId;
private Long goodsResourceId;
private Integer authCodeId;
private Integer unionId;
public Integer getUnionEnterpriseId() {
return unionEnterpriseId;
......@@ -37,51 +38,59 @@ public class UnionEnterpriseQO implements Serializable {
this.authCode = authCode;
}
public Long getMemberCardResource() {
return memberCardResource;
public Integer getAuthCodeId() {
return authCodeId;
}
public void setMemberCardResource(Long memberCardResource) {
this.memberCardResource = memberCardResource;
public void setAuthCodeId(Integer authCodeId) {
this.authCodeId = authCodeId;
}
public Long getFwhResource() {
return fwhResource;
public Integer getUnionId() {
return unionId;
}
public void setFwhResource(Long fwhResource) {
this.fwhResource = fwhResource;
public void setUnionId(Integer unionId) {
this.unionId = unionId;
}
public Long getAppletResource() {
return appletResource;
public Long getMemberCardResourceId() {
return memberCardResourceId;
}
public void setAppletResource(Long appletResource) {
this.appletResource = appletResource;
public void setMemberCardResourceId(Long memberCardResourceId) {
this.memberCardResourceId = memberCardResourceId;
}
public Long getStoreResource() {
return storeResource;
public Long getFwhResourceId() {
return fwhResourceId;
}
public void setStoreResource(Long storeResource) {
this.storeResource = storeResource;
public void setFwhResourceId(Long fwhResourceId) {
this.fwhResourceId = fwhResourceId;
}
public Long getGoodsResource() {
return goodsResource;
public Long getAppletResourceId() {
return appletResourceId;
}
public void setGoodsResource(Long goodsResource) {
this.goodsResource = goodsResource;
public void setAppletResourceId(Long appletResourceId) {
this.appletResourceId = appletResourceId;
}
public Integer getAuthCodeId() {
return authCodeId;
public Long getStoreResourceId() {
return storeResourceId;
}
public void setAuthCodeId(Integer authCodeId) {
this.authCodeId = authCodeId;
public void setStoreResourceId(Long storeResourceId) {
this.storeResourceId = storeResourceId;
}
public Long getGoodsResourceId() {
return goodsResourceId;
}
public void setGoodsResourceId(Long goodsResourceId) {
this.goodsResourceId = goodsResourceId;
}
}
......@@ -42,5 +42,5 @@
<!--资源组-->
<dubbo:reference interface="com.gic.auth.service.ResourceApiService" id="resourceApiService" timeout="6000" />
<dubbo:reference interface="com.gic.auth.service.AuthCodeApiService" id="authCodeApiService" timeout="6000" />
<dubbo:reference interface="com.gic.auth.service.UnionEnterpriseApiService" id="unionEnterpriseApiService" timeout="6000" />
</beans>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment