java增删改实现

入参:

@Table(name="UPLUS_ADDRESS")
public class UplusAddress implements Serializable{
  @Id
  @Column(name="ID")
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  private Long id;
  @Column(name="USER_ID")
  private Long userId;
  @Column(name="PROVINCE_ID")
  private Long provinceId;
  @Column(name="CITY_ID")
  private Long cityId;
  @Column(name="DISTRICT_ID")
  private Long districtId;
  @Column(name="NAME")
  private String name;
  @Column(name="TAG")
  private String tag;
  @Column(name="MOBILE")
  private String mobile;
  @Column(name="REMARK")
  private String remark;
  @Column(name="IS_DEFAULT")
  private Boolean isDefault;
  @Column(name="CREATE_DATE")
  private Date createDate;
  @Column(name="UPDATE_DATE")
  private Date updateDate;
  @Column(name="CREATE_USER")
  private Long createUser;
}

Controller:

@RestController
@RequestMapping({ "/uplus/phone/address" })
public class PhoneAddressController extends BaseController {
//  @CryptoType(CryptoType.Type.CRYPTO)
	@PostMapping({ "/save" })
	public Result save(UplusAddress uplusAddress) {
		UplusUser user = getUser();
		if ((isAuthenticated()) && (user != null)) {
			if (uplusAddress != null) {
				UplusArea ua = (UplusArea) this.uplusAreaService.findById(uplusAddress.getProvinceId());
				if (ua == null) {
					return ResultGenerator.genFailResult("地区不存在,请联系管理员");
				}
				List<UplusArea> cityModels = this.uplusAreaService
						.findByPid(Integer.valueOf(uplusAddress.getProvinceId().intValue()));
				if (cityModels.size() == 1) {
					UplusArea cityModel = (UplusArea) cityModels.get(0);
					if ((cityModel.getId() != uplusAddress.getCityId()) && (cityModel.getName().indexOf("市辖区") >= 0)) {
						uplusAddress.setCityId(cityModel.getId());
					}
				}
				ua = (UplusArea) this.uplusAreaService.findById(uplusAddress.getCityId());
				if (ua == null) {
					return ResultGenerator.genFailResult("地区不存在,请联系管理员");
				}
				ua = (UplusArea) this.uplusAreaService.findById(uplusAddress.getDistrictId());
				if (ua == null) {
					return ResultGenerator.genFailResult("地区不存在,请联系管理员");
				}
				if (StringUtils.isEmpty(uplusAddress.getName())) {
					return ResultGenerator.genFailResult("地区不存在,请联系管理员");
				}
				if (StringUtils.isEmpty(uplusAddress.getRemark())) {
					return ResultGenerator.genFailResult("地区不存在,请联系管理员");
				}
				if (StringUtils.isEmpty(uplusAddress.getMobile())) {
					return ResultGenerator.genFailResult("地区不存在,请联系管理员");
				}
				uplusAddress.setCreateDate(getCurrentDate());
				uplusAddress.setUserId(user.getId());
				uplusAddress.setCreateUser(user.getId());
				this.uplusAddressService.save(uplusAddress);
				return ResultGenerator.genSuccessResult(uplusAddress);
			}
			return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
		}

		return ResultGenerator.unauthorized(this.UNAUTHORIZED_ERROR_MESSAGE);
	}

//	@CryptoType(CryptoType.Type.CRYPTO)
	@PostMapping({ "/delete" })
	public Result delete(Long id) {
		UplusUser user = getUser();
		if ((isAuthenticated()) && (user != null)) {
			if (id != null) {
				this.uplusAddressService.deleteById(id);
				return ResultGenerator.genSuccessResult();
			}
			return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
		}

		return ResultGenerator.unauthorized(this.UNAUTHORIZED_ERROR_MESSAGE);
	}

//	@CryptoType(CryptoType.Type.CRYPTO)
	@PostMapping({ "/update" })
	public Result update(UplusAddress uplusAddress) {
		UplusUser user = getUser();
		if ((isAuthenticated()) && (user != null)) {
			if ((uplusAddress != null) && (uplusAddress.getId() != null)) {
				UplusAddress uplusAddress2 = (UplusAddress) this.uplusAddressService.findById(uplusAddress.getId());

				UplusArea ua = (UplusArea) this.uplusAreaService.findById(uplusAddress.getProvinceId());
				if (ua == null) {
					return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
				}
				List<UplusArea> cityModels = this.uplusAreaService
						.findByPid(Integer.valueOf(uplusAddress.getProvinceId().intValue()));
				if (cityModels.size() == 1) {
					UplusArea cityModel = (UplusArea) cityModels.get(0);
					if ((cityModel.getId() != uplusAddress.getCityId()) && (cityModel.getName().indexOf("市辖区") >= 0)) {
						uplusAddress.setCityId(cityModel.getId());
					}
				}
				ua = (UplusArea) this.uplusAreaService.findById(uplusAddress.getCityId());
				if (ua == null) {
					return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
				}
				ua = (UplusArea) this.uplusAreaService.findById(uplusAddress.getDistrictId());
				if (ua == null) {
					return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
				}
				if (StringUtils.isEmpty(uplusAddress.getName())) {
					return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
				}
				if (StringUtils.isEmpty(uplusAddress.getRemark())) {
					return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
				}
				if (StringUtils.isEmpty(uplusAddress.getMobile())) {
					return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
				}

				uplusAddress2.setUserId(user.getId());
				uplusAddress2.setProvinceId(uplusAddress.getProvinceId());
				uplusAddress2.setCityId(uplusAddress.getCityId());
				uplusAddress2.setDistrictId(uplusAddress.getDistrictId());
				uplusAddress2.setName(uplusAddress.getName());
				uplusAddress2.setRemark(uplusAddress.getRemark());
				uplusAddress2.setMobile(uplusAddress.getMobile());
				uplusAddress2.setUpdateDate(getCurrentDate());

				this.uplusAddressService.update(uplusAddress2);
				return ResultGenerator.genSuccessResult();
			}
			return ResultGenerator.genFailResult(this.REQUEST_PARAMS_ERROR_MESSAGE);
		}

		return ResultGenerator.unauthorized(this.UNAUTHORIZED_ERROR_MESSAGE);
	}


}
Service:
public abstract interface UplusAreaService extends Service<UplusArea> {
  public abstract List<UplusArea> findByPid(Integer paramInteger);

  public abstract int updateTest(@Param("list") List<Integer> paramList);

  public abstract List<UplusArea> findTest();

  public abstract UplusArea findByAreaId(@Param("areaId") Integer paramInteger);
}


public abstract interface UplusAddressService extends Service<UplusAddress> {
  public abstract List<AddressModel> findByUserId(@Param("userId") Long paramLong);
  
  public abstract AddressModel findByAddressId(@Param("addressId") Long paramLong);
  
  public abstract int updateDefault(@Param("userId") Long paramLong);
  
  public abstract int copyAddressInOrderById(UplusOrderAddress paramUplusOrderAddress);
  
  public abstract AddressModel findByOrderAddressId(@Param("addressId") Long paramLong);
}

Service impl:

@Service
@Transactional
public class UplusAreaServiceImpl extends AbstractService<UplusArea> implements UplusAreaService {
  @Resource
  private UplusAreaMapper uplusAreaMapper;
  
  public List<UplusArea> findByPid(Integer pid) {
    return this.uplusAreaMapper.findByPid(pid);
  }
  
  public int updateTest(List<Integer> list) {
    return this.uplusAreaMapper.updateTest(list);
  }
  
  public List<UplusArea> findTest() {
    return this.uplusAreaMapper.findTest();
  }
  
  public UplusArea findByAreaId(Integer areaId) {
    return this.uplusAreaMapper.findByAreaId(areaId);
  }
}


@Service
@Transactional
public class UplusAddressServiceImpl extends AbstractService<UplusAddress> implements UplusAddressService {
  @Resource
  private UplusAddressMapper uplusAddressMapper;
  
  public List<AddressModel> findByUserId(Long userId)
  {
    return this.uplusAddressMapper.findByUserId(userId);
  }
  
  public AddressModel findByAddressId(Long addressId)
  {
    return this.uplusAddressMapper.findByAddressId(addressId);
  }
  
  public int updateDefault(Long userId)
  {
    return this.uplusAddressMapper.updateDefault(userId);
  }
  
  public int copyAddressInOrderById(UplusOrderAddress uplusOrderAddress)
  {
    return this.uplusAddressMapper.copyAddressInOrderById(uplusOrderAddress);
  }
  
  public AddressModel findByOrderAddressId(Long addressId)
  {
    return this.uplusAddressMapper.findByOrderAddressId(addressId);
  }
}

mapper:

public abstract interface UplusAddressMapper extends Mapper<UplusAddress>{
  public abstract List<AddressModel> findByUserId(@Param("userId") Long paramLong);
  
  public abstract AddressModel findByAddressId(@Param("addressId") Long paramLong);
  
  public abstract int updateDefault(@Param("userId") Long paramLong);
  
  public abstract int copyAddressInOrderById(UplusOrderAddress paramUplusOrderAddress);
  
  public abstract AddressModel findByOrderAddressId(@Param("addressId") Long paramLong);
}



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.js.note.uplus.dao.UplusAddressMapper">

  <!--加入缓存-->
   <cache type="cn.js.note.uplus.cache.MybatisRedisCache"/>

  <resultMap id="BaseResultMap" type="cn.js.note.uplus.bean.UplusAddress">
    <!--
      WARNING - @mbg.generated
    -->
    <id column="ID" jdbcType="BIGINT" property="id" />
    <result column="USER_ID" jdbcType="BIGINT" property="userId" />
    <result column="PROVINCE_ID" jdbcType="INTEGER" property="provinceId" />
    <result column="CITY_ID" jdbcType="BIGINT" property="cityId" />
    <result column="DISTRICT_ID" jdbcType="BIGINT" property="districtId" />
    <result column="NAME" jdbcType="VARCHAR" property="name" />
    <result column="TAG" jdbcType="CHAR" property="tag" />
    <result column="MOBILE" jdbcType="VARCHAR" property="mobile" />
    <result column="REMARK" jdbcType="VARCHAR" property="remark" />
    <result column="IS_DEFAULT" jdbcType="BIT" property="isDefault" />
    <result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate" />
    <result column="UPDATE_DATE" jdbcType="TIMESTAMP" property="updateDate" />
    <result column="CREATE_USER" jdbcType="BIGINT" property="createUser" />
  </resultMap>
  <resultMap id="useResultMap" type="cn.js.note.uplus.model.AddressModel" extends="BaseResultMap">
    <result column="PROVINCE_NAME" jdbcType="VARCHAR" property="provinceName" />
    <result column="CITY_NAME" jdbcType="VARCHAR" property="cityName" />
    <result column="DISTRICT_NAME" jdbcType="VARCHAR" property="districtName" />
  </resultMap>

  <select id="findByUserId" parameterType="long" resultMap="useResultMap">
    select uad.ID,uad.USER_ID,uad.PROVINCE_ID,uad.CITY_ID,uad.DISTRICT_ID,
    uad.`NAME`,uad.TAG,uad.MOBILE,uad.REMARK,uad.IS_DEFAULT,
    (select ua1.name from UPLUS_AREA as ua1 where ua1.ID = uad.PROVINCE_ID) as PROVINCE_NAME,
    (select ua2.name from UPLUS_AREA as ua2 where ua2.ID = uad.CITY_ID) as CITY_NAME,
    (select ua3.name from UPLUS_AREA as ua3 where ua3.ID = uad.DISTRICT_ID) as DISTRICT_NAME
    from UPLUS_ADDRESS uad where USER_ID = #{userId}
  </select>
  <select id="findByAddressId" parameterType="long" resultMap="useResultMap">
    select uad.ID,uad.USER_ID,uad.PROVINCE_ID,uad.CITY_ID,uad.DISTRICT_ID,
    uad.`NAME`,uad.TAG,uad.MOBILE,uad.REMARK,uad.IS_DEFAULT,
    (select ua1.name from UPLUS_AREA as ua1 where ua1.ID = uad.PROVINCE_ID) as PROVINCE_NAME,
    (select ua2.name from UPLUS_AREA as ua2 where ua2.ID = uad.CITY_ID) as CITY_NAME,
    (select ua3.name from UPLUS_AREA as ua3 where ua3.ID = uad.DISTRICT_ID) as DISTRICT_NAME
    from UPLUS_ADDRESS uad where ID = #{addressId}
  </select>

  <update id="updateDefault">
    update UPLUS_ADDRESS set IS_DEFAULT = 0 where USER_ID = #{userId};
  </update>

  <insert id="copyAddressInOrderById" parameterType="cn.js.note.uplus.bean.UplusOrderAddress" useGeneratedKeys="true" keyColumn="id" keyProperty="id">

    INSERT INTO UPLUS_ORDER_ADDRESS (USER_ID,PROVINCE_ID,CITY_ID,DISTRICT_ID, NAME, TAG, MOBILE, REMARK, IS_DEFAULT,CREATE_DATE,UPDATE_DATE ,CREATE_USER)
    (SELECT USER_ID,PROVINCE_ID,CITY_ID,DISTRICT_ID, NAME, TAG, MOBILE, REMARK, IS_DEFAULT,CREATE_DATE,UPDATE_DATE ,CREATE_USER FROM UPLUS_ADDRESS WHERE ID = #{tag})

    <selectKey resultType="Long"  keyProperty="id" order="AFTER">
      select LAST_INSERT_ID() AS id
    </selectKey>
  </insert>
  <select id="findByOrderAddressId" parameterType="long" resultMap="useResultMap">
    select uad.ID,uad.USER_ID,uad.PROVINCE_ID,uad.CITY_ID,uad.DISTRICT_ID,
    uad.`NAME`,uad.TAG,uad.MOBILE,uad.REMARK,uad.IS_DEFAULT,
    (select ua1.name from UPLUS_AREA as ua1 where ua1.ID = uad.PROVINCE_ID) as PROVINCE_NAME,
    (select ua2.name from UPLUS_AREA as ua2 where ua2.ID = uad.CITY_ID) as CITY_NAME,
    (select ua3.name from UPLUS_AREA as ua3 where ua3.ID = uad.DISTRICT_ID) as DISTRICT_NAME
    from UPLUS_ORDER_ADDRESS uad where ID = #{addressId}
  </select>
</mapper>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值